#
让ubuntu的图形界面更紧凑
ubuntu自带的theme似乎都比较不好用,个个按钮都贼大,浪费了不少屏幕空间,这点恐怕吓跑了不少windows用户。
但是linux的可配置能力还是毋庸置疑的,任何东西都可以自己动手丰衣足食,甚至是小康,哈哈
1.配置文件 ~/.gtkrc-2.0
作用:gtk2.0程序的设置文件,如果不存在,可手工创建。配置GTK2.0程序字体的配置如下:
style "gtkcompact" {
font_name="Sans 8"
GtkButton::default_border={0,0,0,0}
GtkButton::default_outside_border={0,0,0,0}
GtkButtonBox::child_min_width=0
GtkButtonBox::child_min_heigth=0
GtkButtonBox::child_internal_pad_x=0
GtkButtonBox::child_internal_pad_y=0
GtkMenu::vertical-padding=1
GtkMenuBar::internal_padding=0
GtkMenuItem::horizontal_padding=4
GtkOptionMenu::indicator_size=0
GtkOptionMenu::indicator_spacing=0
GtkPaned::handle_size=4
GtkRange::trough_border=0
GtkRange::stepper_spacing=0
GtkScale::value_spacing=0
GtkScrolledWindow::scrollbar_spacing=0
GtkExpander::expander_size=10
GtkExpander::expander_spacing=0
GtkTreeView::vertical-separator=0
GtkTreeView::horizontal-separator=0
GtkTreeView::expander-size=8
GtkTreeView::fixed-height-mode=TRUE
GtkWidget::focus_padding=0
}
class "GtkWidget" style "gtkcompact"
该文件也有一个全局配置文件/etc/gtk-2.0/gtkrc,注意是gtkrc,而不是gtkrc-2.0,默认该文件也是没有的,需手工创建。
一旦存在~/.gtkrc-2.0或/etc/gtk-2.0/gtkrc文件,则该文件的配置优先级是最高的,即使用gnome- font-properties字体配置程序也不能改变。
例如你在~/.gtkrc-2.0里设置了字体是SimSun 10号字,则你不能用gnome-font-properties字体配置程序更改该设置。
2.也有很多别人做好的紧凑型theme可用
http://jaket.is-a-geek.com/blog/programming/a-compact-gtk-theme-for-small-screens
最近玩awesome(平铺式窗口管理器),感觉不错。美中不足的是启动的程序界面太难看。
awesome本身的theme没法控制这个,只能控制它自己的状态栏,很可能以后会加入这种控制。
kde gnome xfce都有这样的控制。
google之后发现,只要在主目录建立个文件.gtkrc-2.0就可以控制gtk程序的外观了,当然配置还是有点复杂,
但是可以直接引用已经存在的配置,这样写:
include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
这样配置以后,使用awesome就比较顺畅了
使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性.
在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,
不带任何参数的set命令将显示shell的全部变量.除非遇到非法的选项,否则set总是
返回ture.
当BASH shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数
被处理后,其他的参数被赋值到位置参数中($1,$2,...,$n)
set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...]
源码:
选项 说明
-a 自动向已经修改的变量或为导出后序命令的变量作出标志
-b 不是在原提示符之前,而是立即引发终止后台任务的状态表表
-e 如果命令带非零值返回,立即退出
-f 禁止带扩展名的路径
-h 定义函数时,定位和存储函数命令,当函数被执行时,通常查询
函数命令
-k 所有的关键词参数,而不只是那些命令名前的关键词参数,被放
在环境命令中
-m 监视器模式,启动任务控制.此选项默认支持系统shell交互.后
台进程以单独的进程组运行,在每次完成任务时显示包含退出的
状态行
-n 读取命令但不执行命令.通常监查shell脚本的句法错误.交互
shell被忽略
-o option-name 选项名可以是下列之一:
选项 说明
allexport 同-a选项
braceexpand shell执行花括号扩展,在默认情况下起作用
emacs 使用emacs风格命令行编辑接口.除非shell以-noline-editing
选项启动,否则当shell交互时,通过默认启动该选项
errexit 同-e选项
histexpand 同-H选项
ignoreeof 其结果是好像shell命令IGNOREEOF=10被执行
interactive 允许单词前带#号,以使得在交互shell中忽略命令行的全部字符
-commands
monitor 同-m选项
noclobber 同-C选项
noexec 同-n选项
noglob 同-f选项
nohash 同-d选项
notify 同-b选项
nounset 同-u选项
physical 同-p选项
posix 改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准
verbose 同-v选项
vi 使用vi风格的命令行编辑器
XTRACE 同-x选项,如果没有给出选项名,显示当前选项值
-p 打开特权模式(在此模式,$ENV文件被处理,不能从环境中继承
shell函数.如果是有效用户ID而不是实用户组则自动启动.关闭
此选项将使得有效用户和组IDs设置实用户和组IDs)
-t 在读取命令并执行之后退出
-u 当执行参数括展时,把非设置变量作为错误处理(如果扩展企图
出现在非设置变量中,shell显示错误信息.如果不是交互式,则
带非凌值退出)
-v 输入行被读取时,显示shell输入行
-x 在每个简单命令被扩展之后,显示PS4扩展值,之后是要执行的命令
-l 保存和恢复绑定在命令中的名称
-d 禁止执行查找散列命令(通常,命令被保存在散列表中,一旦被找到
就不再继续查找)
-C 效果好像是执行了noclobber=shell命令
-H 使用!风格的历史替代(当shell交互时,在默认情况下,此选项有效)
-P 如果设置此参数,当执行改变目录命令cd时,不遵循符号链接,而是
使用实际的目录
-- 如果在选项后没有参数,不设置位置参数.否则,即使一些参数以a
选项开始,也要把位置参数设置为argument
- 结束选项的信号,将引发其余的参数被赋值到位置参数中(-x和-v
选项被关闭.如果没有argument,位置参数将保留未改变的参数)
在oracle安装完成后,默认会启动安装时建立的实例
如果我们需要创建新的实例,该如何操作呢?那么如何启动呢?如何进行访问呢?
下面就简单总结下:
1、 以oracle用户登录后,通过dbca命令启动图形化创建实例的界面
输入global name和sid,一路next,最后输入访问这个库的密码
2、 修改当前oracle用户的环境变量,修改oracle_sid为新创建实例的名字eastpay
然后source .bash_profile使其生效
3、 然后以sys用户登录sqlplus / as sysdba
4、 新建实例的用户,即给当前实例eastpay创建用户
Create user east identified by east
授权角色:
Grant all privileges to east(这里简单的把所有权限都赋予了east)
5、 以dba身份登录sqlplus / as sysdba,然后启动当前实例
Startup (注意默认是启动当前的oracle_sid,而不是启动所有的实例)
6、 然后测试新建用户连接新建的实例
Sqlplus east/east@eastpay
这里区分几个概念:
1、 系统用户和实例用户
a) 系统的用户包括:sys,system,sysman,dbsnmp
系统用户在安装oracle数据库时就存在了,而且以后再新建的实例中也存在
所以系统用户的密码是有多个的,即:在oracle数据库中有一个,在每个实例中也可以有一个
b) 实例用户
在创建实例后,为了使得以后连接、导入导出数据的方便,给每个实例创建一个用户(也可多个),然后就可以使用实例用户。实例用户只存在于该实例下
2、 启动实例和停止实例
启动实例即startup命令,只是启动当前oracle_sid所标识的实例名,而不是所有的实例,这里startup命令后也不需要带实例的名称
同样停止实例也是如此
在我使用Eclipse时,经常会发现需要调用Vim来进行一些编辑,例如整篇文章的自动缩进什么的。Eclipse能够很好的格式化Java代码,但是Vim能自动缩进更多的文件类型。我不需要太高级的功能,因此vim plugin什么的就派不上用场了。Eclipse的External Tool能完成我想要的一切。在某个视图中选中需要编辑的文件(或文件包含的类,方法,等)之后,只要单击设置好的vim外部工具,Vim就会被启动并打开相应的文件。
在Eclipse中建立这个外部工具的过程非常简单,如下简单的配置即可:
open external tool dialog下创建program:
name : vim
location : vim路径
working directory: ${project_loc}
arguments: -p --remote-tab-silent ${resource_loc}
p.s. -p --remote-tab-silent ${resource_loc} 这是打开一个新的标签页,而不是一个新的vim进程。
为了让Eclipse在Vim编辑过程结束之后自动更新资源的状态,我们需要到"Refresh"页面进行一下设置:
选择 the selected resource 选项
1.龙书(Dragon book)
书名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
国内所有的编译原理教材都是抄的它的,而且只是抄了最简单的前端的一些内容。
2.鲸书(Whale book)
书名是:Advanced Compiler Design and Implementation
作者是:Steven S.Muchnick
也就是高级编译原理,象什么陈意云之类的估计也就是这个水平不错了
3.虎书(Tiger book)
书名是:Modern Compiler Implementation in Java/C++/ML,Second Edition
作者是:Andrew W.Appel,with Jens Palsberg
这本书是3本书中最薄的一本,也是最最牛的一本!
lkd3 Linux Kernel Development 3
ldd3 Linux Device Driver 3
ulk3
Understanding the Linux Kernel 3
源代码情景分析
http://localhost:9080/daydayup/to.jsp
POST /daydayup/to.jsp HTTP/1.1
Host: localhost:9080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost:9080/daydayup/from.jsp
Cookie: JSESSIONID=0000-Ubag-0HtbyayXaZZqC5H0-:-1
Content-Type: application/x-www-form-urlencoded
Content-Length: 18
username=454545454
HTTP/1.x 200 OK
Content-Type: text/html; charset=ISO-8859-1
Content-Language: zh-CN
Content-Length: 1099
Date: Wed, 25 Nov 2009 01:50:31 GMT
Server: WebSphere Application Server/6.1
----------------------------------------------------------
http://localhost:9080/daydayup/to.jsp?username=454545454
GET /daydayup/to.jsp?username=454545454 HTTP/1.1
Host: localhost:9080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost:9080/daydayup/from.jsp
Cookie: JSESSIONID=0000-Ubag-0HtbyayXaZZqC5H0-:-1
HTTP/1.x 200 OK
Content-Type: text/html; charset=ISO-8859-1
Content-Language: zh-CN
Content-Length: 978
Date: Wed, 25 Nov 2009 01:51:35 GMT
Server: WebSphere Application Server/6.1
----------------------------------------------------------
使用alter table 加上 ACTIVATE NOT LOGGED INITIALLY 选项,
可以关闭日志记录,具体语法可以去看alter table命令的帮助。
该命令只对当前事务有效,事务结束后日志记录会自动恢复
神奇的国度,在internet上不翻墙简直是寸步难行,准备一个VPN是非常必要的,所以今天我就介绍一个
免费的高速美国VPN给大家。
首先登陆www.itshidden.com,然后点击上方的“Free Signup”,接着点击“Free”进入注册页面,也可以直接点击这里进入注册页面。在注册页面填上你的用户名,邮箱和密码,然后选上“I accept the terms and condition.”再点击“Register”提交。
www.itshidden.com的文档里有关于ubuntu下的设置介绍,但是由于在墙外(Blogspot上),我就贴到这里了:
To use the VPN service provided by ItsHidden.com, complete the following steps (that were partially found in this Ubuntu forum thread):
- Install the PPTP plug-in for Network Manager
$ sudo apt-get install network-manager-pptp
- Restart Network Manager
$ sudo killall NetworkManager
$ sudo NetworkManager &
- Create the VPN connection
- In the “Advanced…” settings, enable “Use Point-to-Point encryption (MPPE)”