OpenBox的配置教程.docx
《OpenBox的配置教程.docx》由会员分享,可在线阅读,更多相关《OpenBox的配置教程.docx(33页珍藏版)》请在冰豆网上搜索。
OpenBox的配置教程
OpenBox的配置教程
0说明:
本文适合linux的新手,或者只接触过gnome/kde/xfce的用户.
老鸟请绕道,以免被我降低智商.CLI无用论者或GUI无用论者勿入.
0.1写作缘由
由于我的blog出了点问题,文章内容被清空,所以干脆重新整理一下.把原先blog中零散的配置编辑成系统的教程.
0.2平台说明
我使用的平台为2*Intelcore2,debiansidamd64.
ubuntu上的配置应该也是一样的,其他发行版,比如redhat系列,arch,gentoo,slackware等会有所不同,使用32位debian的用户也许会有更多些的软件包可选.
0.3license
文章以GNUFreeDocumentationLicense发布,欢迎共享,但希望保持原文的完整,如果原文有更新,也希望保持同步
对于文章中出现的代码请遵照其原先的许可.
0.4其他
注意命令前的提示符#和$
1openbox介绍
1.1为何选择openbox
因为如果我选择了fluxbox,就会有人来问我:
"为何选择fluxbox?
”
openbox是一个可定制度高,小巧灵活,使用配置简单且非常强大的窗口管理器,在我的机器上openbox本身占用12M内存.lxde就是用openbox作为其窗口管理器.可惜我并不喜欢lxde.
openbox是在blackbox基础上开发的,但青出于蓝而胜于蓝,相对与blackbox,openbox得到了更好的发展.
openbox属于NetWM家族,也可称其为EWMH,家族成员包括大名鼎鼎的kwin(kde),metacity(gnome2.12以后的默认WM),enlightenment(盛极一时的e16),fluxbox,blackbox等等.
openbox是UNIX哲学中模块化思想的集中体现,默认的openbox是非常单一的,好在它并不丑陋,配置也非常简单,它不像fvwm需要大量的配置,不像awesome需要学习lua语言,不像icewm那样只能作有限的配置…obconf和obmenu这两个图形界面的工具使得openbox的入门非常简单,xml格式的配置文件也使得深入的配置及其容易.
1.2几个有用的网站:
openbox的官方网站,上面资料无数:
[http:
//openbox.org/wiki/Main_Page]
Crunchbang一个ubuntu的衍生版,以openbox作为WM):
[http:
//crunchbanglinux.org/]
linuxtoy关于openbox的介绍以及一些简单配置:
[http:
//linuxtoy.org/archives/openbox-getting-started-guide-pdf.html]
debian的openbox介绍:
[http:
//wiki.debian.org/Openbox]
archlinux的openbox介绍:
[http:
//wiki.archlinux.org/index.php/Openbox]
2从lenny到openbox
2.1准备工作
出于对软件数量,稳定性和bug修复及时性的综合考虑,我选择了unstable版,对debiandist不熟悉的可以先看看:
[http:
//www.debian.org/doc/manuals/reference/ch-system.zh-cn.html#s-unstable]
安装完lenny的最小系统后,首先是升级到unstable,根据我的经验,软件越少,升级越安全,毕竟"ThisaptitudedoesnothaveSuperCowPowers."
debian的最小系统不包含X以及其他软件,需要安装一些软件来支持openbox更好地工作
安装硬件抽象层,设备自动发现以及alsa声卡:
#aptitudeinstall-yhalpmountalsa-base
安装中文字体:
#apt-getinstall-yttf-wqy-zenheittf-wqy-microheixfonts-wqyttf-arphic-*
安装openbox,obmenu,obconf和menu-xdg:
#aptitudeinstall-yopenboxobmenuobconfmenu-xdg
其中menu-xdg用以生成菜单.obmenu是配置openbox菜单的GUI软件,obconf是配置openbox行为的GUI软件,它们两个几乎可以直接配置出一个好用的openbox来.
此时通过startx或者gdm就可以进入openbox了,只看到黑漆漆一片,用右键菜单可以打开几个软件.
Ps:
如果安装有多个窗口管理器可以用如下命令指定默认WM
#update-alternatives--configx-session-manager
2.2启动配置
openbox在启动时会读取~/.config/openbox/autostart.sh文件,然后启动一些程序.
autostart.sh的本质就是一个shell脚本,所以我们可以在其中自由发挥,但是我推荐每行一个程序,如果运行改程序需要占几行,最好另外写一个脚本,在autostart.sh中调用它,使得autostart.sh看起来清晰
值得注意的是每行程序的最后要用"&"表示后台运行,否则该程序不结束就不会执行下一行,出现这种情况后,你只能按ctrl+alt+f*进入控制台修改autostart.sh,并pkill掉openbox了
以下是一个例子,在openbox启动时启动网络管理器和一个位于~/.config/conky/下的脚本
#表示注释,如果装了wicd而非network-manager,则取消wicd的注释并注释掉nm-applet,sleep4s表示启动4秒后启动wicd-client
nm-applet&
#(sleep4s&&wicd-client)&
~/.config/conky/start.sh&
2.3主题的配置
这里theme主要分三种:
qt-theme,gnome-theme和openbox-theme.
qt程序一般默认就用clearlooks了,不配置倒也不难看,但我们需要对qt的字体做配置,需要qt4-qtconfig和qt3-qtconfig两个软件
gtk-chtheme可以设置iceweasel,synaptic等gnome软件的theme,需要gtk2-engines或gtk2-engines-*提供主题包支持,所以安装之:
#aptitudeinstall-yqt4-qtconfigqt3-qtconfiggtk-chthemegtk2-engines
运行如下命令就能对qt程序进行配置了.
$qtconfig-qt3
$qtconfig-qt4
gtk2-engines中包含了几个常用的主题:
Clearlooks,Crux,Highcontrast,Industrial,LighthouseBlue,Metal,Mist,Redmond95,ThinIce.
如下命令可以看到可选的gtk+主题包:
#aptitudesearchgtk2-engines
在配置openbox之前我们需要将一个配置文件模板放入自己的目录:
$mkdir-pv~/.config/openbox/
$cp/etc/xdg/openbox/rc.xml~/.config/openbox/rc.xml
openbox的主题默认已经装了,如果还不满意可以去http:
//www.box-look.org/看看.
下载下来的主题obt格式的就用obconf导入,压缩包的就解压到/usr/share/themes/或者$HOME/.themes/,然后用obconf选择该主题
我自己制作了一个主题,主要参考了系统中原有的Curdled主题,今天是我生日,所以就叫birthday_openbox了,献给伟大的老爸老妈~
下载解压到~/.themes:
$wget-Obirthday_openbox.tar
$mkdir-pv~/.themes
$tarxvf-C~/.themes
2.4右键菜单
由于有obmenu,所以我们不需要直接面对menu.xml配置文件,只要先把全局菜单放到自己的目录下就行了:
$cp/etc/xdg/openbox/menu.xml~/.config/openbox/
默认地,里面有一句:
,这就是debian菜单,默认位置为/var/lib/openbox/debian-menu.xml,如果你将它cp到~/.config/openbox/,并且在rc.xml中将/var/lib/openbox/debian-menu.xml这句话删掉,那么将会默认使用~/.config/openbox/debian-menu.xml.
~/.config/openbox/debian-menu.xml是静态的,而/var/lib/openbox/debian-menu.xml则会随着软件的安装卸载而变化.
如果刚安装软件后debian菜单没有变化则需要
#update-menus
$touch~/.config/openbox/menu.xml
2.5快捷键定义
快捷键定义可以通过openbox本身或者xbindkeys来实现,xbindkeys放到下一章讨论,先说说openbox自带的设置.
在openbox配置文件rc.xml中快捷键定义占了很大一部分篇幅,由于目前obconf还无法对快捷键定制,所以只能自己修改rc.xml
xml的语法非常简单,下面是一个例子:
--定义一个快捷键win健+v-->
--类型为执行-->
true
gvim
--名字-->
gvim
--命令,可以为脚本-->
2.6鼠标主题
鼠标主题可以在gnome-look.org或者box-look.org或者其他网站上找到,我使用的是源里面的dmz-cursor-theme(ubuntu默认的那个cursortheme)
#aptitudeinstall-ydmz-cursor-theme
如下命令可以获得更多源内的鼠标主题选择(也许用synaptic的搜索功能会更精确一些):
$apt-cachesearch"cursortheme"
如果是自己找的压缩包,需要将其解压到/usr/share/icons/下面
然后在~/.Xdefaults中加入一句:
Xcursor.theme:
[name-of-cursor-theme]
我更推荐用以下方法:
#update-alternatives--configx-cursor-theme
2.7icon主题
Icon主题首先需要安装
如下命令查看可供选择的主题
#apt-cachesearch"icontheme"
然后到/usr/share/icons/下面查看主题的名字,比如/usr/share/icons/Mist
然后打开~/.gtkrc.mine加入
gtk-icon-theme-name="Mist"
打开~/.gtkrc-2.0,确保里面有:
include"/home/USERNAME/.gtkrc.mine"
最后为了那些以root权限打开的程序(比如synaptic,gedit)不那么难看,要把~/.gtkrc.mine,~/.gtkrc-2.0复制给root:
#cp/home/USERNAME/.gtkrc.mine/home/USERNAME/.gtkrc-2.0/root/
3外部程序
openbox是一个功能单一的WM(符合UNIX哲学中的KISS).
如果需要一些额外的功能,比如面板,背景等等就需要其他的程序来支持,这对gnome/kde用户来说也许比较难以理解,但这正是"一个程序完成一个目标"的集中体现.
以下程序如果希望随openbox一同启动,需要将其加入autostart.sh
3.1文件管理器
GUI的文件管理器有很多选择:
nautilus,pcmanfm,rox-filer,thunar,xfe,gnome-commander…
nautilus会自动接管桌面,所以最好不要选它.我推荐使用pcmanfm或者thunar.
具体可以去google它们.
安装都只要aptitudeinstall就行了.
CLI的文件管理器不用说,mc自然是首选.
3.2桌面背景
最简单的设置就是用feh来实现
#aptitudeinstall-yfeh
$feh--bg-scale[path-to-picture]
feh是一个轻量的图片查看器,非常实用.
为了每次启动openbox后都有背景图片,需要将下面一行写入autostart.sh
feh—bg-scale[path-to-picture]#注意&符号别漏了
feh还有几个和设置背景有关的参数:
bg-tile
bg-center
bg-seamless
随机桌面背景的设置参考arch的wiki:
[http:
//wiki.archlinux.org/index.php/Feh#Random_background_image]
还可以在桌面贴图,参考ee大神:
[
需要安装habak
#aptitudeinstallhabak
稍微修改下,以显示背景:
#!
/usr/bin/perl
$picpath='/home/stesen/pic/random';
$backgroung='/home/stesen/pic/dusk.png';
chdir$picpath;
$num=int4+rand(7);
print"$num\n";
my@files=glob"*.png";
unlinkglob"/tmp/d-*.png";
for(1..$num){
$in=$files[intrand(@files)];
print"$in\n";
$out="/tmp/d-$in";
$rot=intrand(90)-45;
$size=int100+rand(100);
`convert\"$in\"-scale$size-bordercolorwhite-border6-bordercolorgrey60-border1-backgroundnone-rotate$rot-backgroundblack\\(+clone-shadow60x4+4+4\\)+swap-backgroundnone-flatten\"$out\"`;
}
chdir'/tmp/';
my@files=glob"d-*.png";
my$cmd="habak-ms$backgroung";
foreach(@files){
my$x=intrand(1000);
my$y=intrand(600);
$cmd=$cmd."-mp$x,$y$_";
}
`$cmd`;
效果:
File?
id=dtz5gjh_43dk33hbfk_b
3.3面板
面板也有不少选择:
pypanel,bmpanel,tint2,lxpanel,fbpanel,perlpanel,fspanel,xfce4-panel,gnome-panel
我推荐其中的tint2和xfce4-panel
xfce4-panel的配置很简单,功能还算可以.
我认为tint2是最适合跟openbox搭配的,它的外观定制性很高,功能不多,但必要的功能全都有了
安装:
#aptitude-ytint2
配置:
在/usr/share/doc/tint2/examples目录下面有好几个示例.
详细的解释位于项目主页,耐心看完就会配置了:
[
下面是我目前的配置:
#---------
BACKGROUNDANDBORDER
#---------
rounded=0
border_width=0
background_color=#2828280
border_color=#0000000
rounded=0
border_width=0
background_color=#cccccc20
border_color=#ffffff20
rounded=0
border_width=0
background_color=#00000020
border_color=#00000020
#---------
PANEL
#---------
panel_monitor=all
panel_position=topright
panel_size=109818
panel_margin=00
panel_padding=002
font_shadow=0
panel_background_id=1
wm_menu=0
#---------
TASKBAR
#---------
#taskbar_mode=multi_desktop
taskbar_mode=single_desktop
taskbar_padding=000
taskbar_background_id=2
#---------
TASKS
#---------
task_icon=1
task_text=1
task_maximum_size=120
task_centered=0
task_padding=31
task_font=DejaVuSans8
task_font_color=#ffffff60
task_active_font_color=#ffffff100
task_background_id=0
task_active_background_id=3
#---------
CLOCK
#---------
time1_format=%H:
%M
time1_font=DejaVuSans8
#time2_format=%A%d%B
#time2_font=san5
clock_font_color=#ffffff100
clock_padding=10
clock_background_id=2
clock_lclick_command=urxvt-emocp
clock_rclick_command=rednotebook
#---------
SYSTRAYBAR
#---------
systray_padding=000
systray_background_id=2
#---------
BATTERY
#---------
battery=0
battery_low_status=10
battery_low_cmd=notify-send"batterylow"
bat1_font=sans7
bat2_font=sans7
battery_font_color=#ffffff100
battery_padding=10
battery_background_id=0
#---------
MOUSEACTIONONTASK
#---------
mouse_middle=close
mouse_right=toggle
mouse_scroll_up=toggle
mouse_scroll_down=iconify
File?
id=dtz5gjh_37gfxp8ggg_b
3.4系统监视器
系统监视器自然首推conky了,其他gkrellm也很不错,但conky最为灵活
conky有图形界面的配置工具,但大多不怎么好用,好在conky的配置不怎么麻烦,具体的配置选项可以看看man,比网上介绍的都要详细得多,多看看别人的配置文件也使一个不错的选择.
以下是我用过的两种配置
在右边生成一个conky,比较普通,信息量大,其中的hddtemp需要权限:
#sudovisudo
加入:
ALLALL=NOPASSWD:
/sbin/hddtemp
conkyrc内容:
backgroundyes
cpu_avg_samples2
net_avg_samples2
out_to_consoleno
font-adobe-helvetica-*-r-normal—10-*-*-*-*-*-*-*
use_xftyes
xftfontWenQuanYiMicroHeiMono:
size=7
own_window_colourblack
xftalpha0.8
update_interval1
double_bufferyes
minimum_size55
maximum_width280
draw_shadesno
draw_outlineno
draw_bordersno
stippled_borders1
border_margin5
border_width1
draw_graph_bordersno
default_colorlightgrey
default_shade_col