




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OpenBox的配置教程0 说明:本文适合linux的新手,或者只接触过gnome/kde/xfce的用户.老鸟请绕道,以免被我降低智商.CLI无用论者或GUI无用论者勿入.0.1 写作缘由由于我的blog出了点问题,文章内容被清空,所以干脆重新整理一下.把原先blog中零散的配置编辑成系统的教程.0.2 平台说明我使用的平台为2*Intel core 2,debian sid amd64.ubuntu上的配置应该也是一样的,其他发行版,比如redhat系列,arch,gentoo,slackware等会有所不同,使用32位debian的用户也许会有更多些的软件包可选.0.3 license文章以GNU Free Documentation License发布,欢迎共享,但希望保持原文的完整,如果原文有更新,也希望保持同步对于文章中出现的代码请遵照其原先的许可.0.4 其他注意命令前的提示符#和$1 openbox介绍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的官方网站,上面资料无数:/wiki/Main_PageCrunchbang一个ubuntu的衍生版,以openbox作为WM):/linuxtoy关于openbox的介绍以及一些简单配置:/archives/openbox-getting-started-guide-pdf.htmldebian的openbox介绍:/Openboxarchlinux的openbox介绍:/index.php/Openbox2 从lenny到openbox2.1 准备工作出于对软件数量,稳定性和bug修复及时性的综合考虑,我选择了unstable版,对debian dist不熟悉的可以先看看:/doc/manuals/reference/ch-system.zh-cn.html#s-unstable安装完lenny的最小系统后,首先是升级到unstable,根据我的经验,软件越少,升级越安全,毕竟This aptitude does not have Super Cow Powers.debian的最小系统不包含X以及其他软件,需要安装一些软件来支持openbox更好地工作安装硬件抽象层,设备自动发现以及alsa声卡:# aptitude install -y hal pmount alsa-base安装中文字体:# apt-get install -y ttf-wqy-zenhei ttf-wqy-microhei xfonts-wqy ttf-arphic-*安装openbox,obmenu,obconf和menu-xdg:# aptitude install -y openbox obmenu obconf menu-xdg其中menu-xdg用以生成菜单.obmenu是配置openbox菜单的GUI软件,obconf是配置openbox行为的GUI软件,它们两个几乎可以直接配置出一个好用的openbox来.此时通过startx或者gdm就可以进入openbox了,只看到黑漆漆一片,用右键菜单可以打开几个软件.Ps:如果安装有多个窗口管理器可以用如下命令指定默认WM# update-alternatives -config x-session-manager2.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,sleep 4s表示启动4秒后启动wicd-client nm-applet & #(sleep 4s & 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-*提供主题包支持,所以安装之:# aptitude install -y qt4-qtconfig qt3-qtconfig gtk-chtheme gtk2-engines运行如下命令就能对qt程序进行配置了.$ qtconfig-qt3$ qtconfig-qt4gtk2-engines中包含了几个常用的主题:Clearlooks,Crux,High contrast,Industrial,LighthouseBlue,Metal,Mist,Redmond95,ThinIce.如下命令可以看到可选的gtk+主题包:# aptitude search gtk2-engines在配置openbox之前我们需要将一个配置文件模板放入自己的目录:$ mkdir -pv /.config/openbox/$ cp /etc/xdg/openbox/rc.xml /.config/openbox/rc.xmlopenbox的主题默认已经装了,如果还不满意可以去/看看.下载下来的主题obt格式的就用obconf导入,压缩包的就解压到 /usr/share/themes/或者$HOME/.themes/,然后用obconf选择该主题我自己制作了一个主题,主要参考了系统中原有的Curdled主题, 今天是我生日,所以就叫birthday_openbox了,献给伟大的老爸老妈下载解压到/.themes:$ wget /blog/upfile2/100423193525.bz2 -O birthday_openbox.tar$ mkdir -pv /.themes$ tar xvf -C /.themes2.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. /var/lib/openbox/debian-menu.xml debian-menu.xml menu.xml . /.config/openbox/debian-menu.xml是静态的,而/var/lib/openbox/debian-menu.xml则会随着软件的安装卸载而变化.如果刚安装软件后debian菜单没有变化则需要# update-menus$ touch /.config/openbox/menu.xml2.5 快捷键定义快捷键定义可以通过openbox本身或者xbindkeys来实现,xbindkeys放到下一章讨论,先说说openbox自带的设置.在openbox配置文件rc.xml中快捷键定义占了很大一部分篇幅,由于目前obconf还无法对快捷键定制,所以只能自己修改rc.xmlxml的语法非常简单,下面是一个例子: true gvim gvim 2.6 鼠标主题鼠标主题可以在或者或者其他网站上找到,我使用的是源里面的dmz-cursor-theme(ubuntu默认的那个cursor theme)# aptitude install -y dmz-cursor-theme如下命令可以获得更多源内的鼠标主题选择(也许用synaptic的搜索功能会更精确一些):$ apt-cache search cursor theme如果是自己找的压缩包,需要将其解压到/usr/share/icons/下面然后在/.Xdefaults中加入一句: Xcursor.theme: name-of-cursor-theme我更推荐用以下方法:# update-alternatives -config x-cursor-theme2.7 icon主题Icon主题首先需要安装如下命令查看可供选择的主题# apt-cache search icon theme然后到/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.sh3.1 文件管理器GUI的文件管理器有很多选择:nautilus,pcmanfm,rox-filer,thunar,xfe,gnome-commandernautilus会自动接管桌面,所以最好不要选它.我推荐使用pcmanfm或者thunar.具体可以去google它们.安装都只要aptitude install就行了.CLI的文件管理器不用说,mc自然是首选.3.2 桌面背景最简单的设置就是用feh来实现# aptitude install -y feh$ feh -bg-scale path-to-picturefeh是一个轻量的图片查看器,非常实用.为了每次启动openbox后都有背景图片,需要将下面一行写入autostart.sh feh bg-scale path-to-picture & #注意&符号别漏了feh还有几个和设置背景有关的参数:bg-tilebg-centerbg-seamless随机桌面背景的设置参考arch的wiki:/index.php/Feh#Random_background_image还可以在桌面贴图,参考ee大神:/viewtopic.php?f=33&t=252178需要安装habak# aptitude install habak稍微修改下,以显示背景: #!/usr/bin/perl $picpath=/home/stesen/pic/random; $backgroung=/home/stesen/pic/dusk.png; chdir $picpath; $num=int 4+rand(7); print $numn; my files = glob *.png; unlink glob /tmp/d-*.png; for(1.$num) $in=$filesint rand(files); print $inn; $out=/tmp/d-$in; $rot=int rand(90)-45; $size=int 100+rand(100); convert $in -scale $size -bordercolor white -border 6 -bordercolor grey60 -border 1 -background none -rotate $rot -background black ( +clone -shadow 60x4+4+4 ) +swap -background none -flatten $out; chdir /tmp/; my files = glob d-*.png; my $cmd=habak -ms $backgroung; foreach(files) my $x=int rand(1000); my $y=int rand(600); $cmd=$cmd. -mp $x,$y $_; $cmd;效果:File?id=dtz5gjh_43dk33hbfk_b3.3 面板面板也有不少选择:pypanel,bmpanel,tint2,lxpanel,fbpanel,perlpanel,fspanel,xfce4-panel,gnome-panel我推荐其中的tint2和xfce4-panelxfce4-panel的配置很简单,功能还算可以.我认为tint2是最适合跟openbox搭配的,它的外观定制性很高,功能不多,但必要的功能全都有了安装:# aptitude -y tint2配置:在/usr/share/doc/tint2/examples目录下面有好几个示例.详细的解释位于项目主页,耐心看完就会配置了:/p/tint2/wiki/Configure下面是我目前的配置: #- BACKGROUND AND BORDER #- rounded = 0 border_width = 0 background_color = #282828 0 border_color = #000000 0 rounded = 0 border_width = 0 background_color = #cccccc 20 border_color = #ffffff 20 rounded = 0 border_width = 0 background_color = #000000 20 border_color = #000000 20 #- PANEL #- panel_monitor = all panel_position = top right panel_size = 1098 18 panel_margin = 0 0 panel_padding = 0 0 2 font_shadow = 0 panel_background_id = 1 wm_menu = 0 #- TASKBAR #- #taskbar_mode = multi_desktop taskbar_mode = single_desktop taskbar_padding = 0 0 0 taskbar_background_id = 2 #- TASKS #- task_icon = 1 task_text = 1 task_maximum_size = 120 task_centered = 0 task_padding = 3 1 task_font = DejaVu Sans 8 task_font_color = #ffffff 60 task_active_font_color = #ffffff 100 task_background_id = 0 task_active_background_id = 3 #- CLOCK #- time1_format = %H:%M time1_font = DejaVu Sans 8 #time2_format = %A %d %B #time2_font = san 5 clock_font_color = #ffffff 100 clock_padding = 1 0 clock_background_id = 2 clock_lclick_command = urxvt -e mocp clock_rclick_command = rednotebook #- SYSTRAYBAR #- systray_padding = 0 0 0 systray_background_id = 2 #- BATTERY #- battery = 0 battery_low_status = 10 battery_low_cmd = notify-send battery low bat1_font = sans 7 bat2_font = sans 7 battery_font_color = #ffffff 100 battery_padding = 1 0 battery_background_id = 0 #- MOUSE ACTION ON TASK #- mouse_middle = close mouse_right = toggle mouse_scroll_up = toggle mouse_scroll_down = iconifyFile?id=dtz5gjh_37gfxp8ggg_b3.4 系统监视器系统监视器自然首推conky了,其他gkrellm也很不错,但conky最为灵活conky有图形界面的配置工具,但大多不怎么好用,好在conky的配置不怎么麻烦,具体的配置选项可以看看man,比网上介绍的都要详细得多,多看看别人的配置文件也使一个不错的选择.以下是我用过的两种配置在右边生成一个conky,比较普通,信息量大,其中的hddtemp需要权限:# sudo visudo加入:ALL ALL=NOPASSWD:/sbin/hddtempconkyrc内容: background yes cpu_avg_samples 2 net_avg_samples 2 out_to_console no font -adobe-helvetica-*-r-normal10-*-*-*-*-*-*-* use_xft yes xftfont WenQuanYi Micro Hei Mono:size=7 own_window_colour black xftalpha 0.8 update_interval 1 double_buffer yes minimum_size 5 5 maximum_width 280 draw_shades no draw_outline no draw_borders no stippled_borders 1 border_margin 5 border_width 1 draw_graph_borders no default_color lightgrey default_shade_color black default_outline_color grey color0 FFFFFF color1 F5F5F5 color2 A2AEC6 color3 696969 color4 D3D3D3 color5 6495ED color6 87CEFA color7 5F9EA0 color8 BBBBBB color9 f8ea5e alignment top_right gap_x 5 gap_y 5 use_spacer yes no_buffers yes uppercase no background yes own_window no own_window_transparent yes own_window_type desktop TEXT $hr 2 $offset 60$font OpenLogos:size=18$color redJ$font$voffset -15$font Impact:size=11$color dee01e Debian GNU/Linux$font sid $voffset 1$color$hr 2 $color 93ee12$fontkernel:$font$alignr$color $kernel $color 93ee12$fontUptime:$font$alignr$color $uptime $font sans-serif:size=8$color 93ee12CpuInfo:$font$color$alignr$exec cat /proc/cpuinfo | grep model name -m1 | cut -d: -f2 | cut -d -f2-| sed s#Processor #|sed s/CPU/ /g|sed s/ /g|sed s/ 2,/ /g$font $color$stippled_hr $color 93ee12$font sans-serif:size=8IP Address:$font$color $offset 20eth0 IP : $addr eth0 $offset 20wlan0 IP : $addr wlan0 $font sans-serif:size=8$color 93ee12Acpi-Temp:$offset 40HDD-Temp:$offset 40Frequency :$font $color$exec sensors| tail -2 |head -1|cut -d -f8|cut -d+ -f2 $exec echo 998755 | sudo -S hddtemp /dev/sda |cut -d: -f3 | cut -d -f2 $freq MHz $color$stippled_hr $font sans-serif:size=8$color 93ee12CPU Usage:$font $colorTotal: $cpu%$alignrcpu0: $cpu cpu0% cpu1: $cpu cpu1% $color$cpugraph cpu0 20,135 262729 87CEFA$offset 10$cpugraph cpu1 20,135 262729 87CEFA $offset 2$color 93ee12$font sans-serif:size=8Disk IO:$font $colorTotal $diskio$alignrRead: $diskio_readWrite: $diskio_write $color$diskiograph_read 20,135 262729 87CEFA$offset 10$diskiograph_write 20,135 262729 87CEFA $color 93ee12$font sans-serif:size=8RAM Usage:$font$color$alignr$mem/$memmax $membar 3$color $color 93ee12$font sans-serif:size=8Battery:$font$alignr$color$battery_time left$battery_percent% $battery_bar 3 $color 93ee12$font sans-serif:size=8File Systems:$font $offset 10$color 87CEFA/boot: $color 87CEFA$fs_used /boot/$fs_size /boot $color$alignr$fs_bar 3,115 /boot$font $offset 10$color 87CEFA/home: $color 87CEFA$fs_used /home/$fs_size /home $color$alignr$fs_bar 3,115 /home$font $offset 10$color 87CEFA/ : $color 87CEFA$fs_used /$fs_size / $color$alignr$fs_bar 3,115 /$font $color$stippled_hr $color 93ee12$font sans-serif:size=8Networking:$font$color $offset 4$color 87CEFAMarvell 88E8039 PCI-E Fast Ethernet Controller:$color $offset 10$font PizzaDude Bullets:size=8r$fontDown: $downspeed eth0 $offset 10$font PizzaDude Bullets:size=8U$fontTotal Down: $totaldown eth0$voffset -10$alignr$voffset -5$color$downspeedgraph eth0 20,130 262729 87CEFA $color $offset 10$font PizzaDude Bullets:size=8r$fontUp : $upspeed eth0 $offset 10$font PizzaDude Bullets:size=8U$fontTotal Up : $totalup eth0$voffset -10$alignr$voffset -5$color$upspeedgraph eth0 20,130 262729 87CEFA $offset 4$color 87CEFAIntel PRO/Wireless 3945ABG Network Connection:$color $offset 10$font PizzaDude Bullets:size=8r$fontDown: $downspeed wlan0 $offset 10$font PizzaDude Bullets:size=8U$fontTotal Down: $totaldown wlan0$voffset -10$alignr$voffset -5$color$downspeedgraph wlan0 20,130 262729 87CEFA $color $offset 10$font PizzaDude Bullets:size=8r$fontUp : $upspeed wlan0 $offset 10$font PizzaDude Bullets:size=8U$fontTotal Up : $totalup wlan0$voffset -10$alignr$voffset -5$color$upspeedgraph wlan0 20,130 262729 87CEFA $color $stippled_hr $color 93ee12 $font sans-serif:size=8Name $alignr PID CPU% MEM%$font $color #FF0000 $top name 1 $alignr$top pid 1 $top cpu 1 $top mem 1 $color orange $top name 2 $alignr$top pid 2 $top cpu 2 $top mem 2 $color yellow $top name 3 $alignr$top pid 3 $top cpu 3 $top mem 3 $color #0077FF $top name 4 $alignr$top pid 4 $top cpu 4 $top mem 4 $color $top name 5 $alignr$top pid 5 $top cpu 5 $top mem 5 $voffset 50$offset 45$font Ani:size=24$color gray$time %Y-%m-%d $offset 200$voffset -20$font Ani:size=15$color gray$time %RFile?id=dtz5gjh_38f39kd3f5_bconky有许多有趣的配置,如果懂得lua,那么它几乎是无所不能的下面再加上一个我目前用的conkyrc中的一段日历: $color2$goto 10$font DejaVu Sans Mono:size=44$time %H$font DejaVu Sans Mono:size=20$voffset -25$time %M$font DejaVu Sans Mono:size=8$voffset -12$time %S $color2$goto 85$voffset 10$font :size=8$time %A $color2$goto 85$voffset 1$font :size=8$time %d %B %Y $color$font DejaVu Sans Mono:size=8$execpi 3600 DJS=date +%_d; cal -m | sed 1d | sed /./!d | sed s/$/ / | fold -w 21 | sed -n /.21/p | sed s/$alignc / | sed / $DJS /s/ $DJS / $color2$DJS$color /$font $color e0e0e0$font DejaVu Sans Mono:size=10$execpi 1800 DJS=date +%_d; cal | sed 1d | sed /./!d | sed s/$/ / | fold -w 21 | sed -n /.21/p | sed s/$alignc / | sed / $DJS /s/ $DJS / $color red$DJS$color 8F8F8F /$fontFile?id=dtz5gjh_39d2qp3nd8_b我在google code上建了个小项目(主要是练手svn),用以在conky上显示农历日期:/p/colunar/下载下来,解压,进入目录然后$ make生成的colunar文件放在自己的PATH中,或者在conky中以绝对路径表示它,项目wiki中有介绍debian默认的conky是不支持xmms2的,要用它来显示xmms2信息的话需要自己编译下载最新版:/# aptitude install libxmmsclient-dev build-essential libx11-dev libxext-dev libxdamage-dev libxft-dev libglib2.0-dev$ cd conky-XXXXX$ ./configure -enable-xmms2 -disable-mpd$ make# make installconfigure时需要一些dev文件,需要自己aptitude searchconkyrc中xmms2的设置看看man.3.5 pager我认为unix/linux图形界面中最吸引人的就是虚拟桌面,说到虚拟桌面不得不说pager,即虚拟桌面的管理器openbox可用的pager有bbpager,netwmpager,ipager等等,在panel中也可能带有pager我推荐的是netwmpager和ipager.ipager是一个很不错的pager,但是一直存在编译无法通过的问题,项目也很久没有更新了,原先在下面的debian源里有一个打过补丁的ipager源码包,可以编译成功,但现在已经没有了/debian/pool/main/i/ipager/对我们这些不具备生产能力的普通用户来说,一个项目的消亡意味着我们将要在google上拼命搜索另一个类似的项目,最后我找到了netwmpagernetwmpager是一个非常小的项目,甚至不像ipager还有个官方页面,但并不影响它成为一个优秀的pager它支持真透明,支持颜色大小配置,是一个比较灵活的pager根据crunchbang的介绍:/wiki/netwmpager_howto# aptitude install -y libxft-dev$ wget /pub/gentoo/distfiles/netwmpager-1.11.tar.bz2$ tar -xvf netwmpager-1.11.tar.bz2$ cd netwmpager-1.11$ ./configure$ make# make install配置netwmpager可以参考我的配置文件: desktop layout set both to -1 to use default values (set by window manager) cols = -1 rows = -1 window geometry set height to 0 to make it automatically calculated geometry = 180x18-1100+0 show window title popups? show_popups = true show sticky windows in pager? show_sticky = false show window titles in pager? show_titles = false below, normal, above l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供水考试题及答案
- 点考试题及答案
- 抗震考试题及答案
- 中外名曲赏析知到智慧树答案
- 中西美食鉴赏知到智慧树答案
- 验光员模拟试题+答案
- 中西医结合临床科研思维与方法知到智慧树答案
- 多重耐药菌感染防控知识培训考核试卷(附答案)
- 第四章血液循环阶梯测试题(附答案)
- 2025年公务员特定项目担保合同规范文本
- 陈腐垃圾施工方案
- 渤海大学《软件工程》2022-2023学年第一学期期末试卷
- 税务会计岗位招聘笔试题及解答(某大型国企)2024年
- ICD-10疾病编码完整版
- 消防设备设施操作讲解培训讲课文档
- 内分泌科医疗管理制度
- 临床开展十二项细胞因子检测临床意义
- FlowmasterV7中文技术手册
- 房屋承包出租合同
- 石油化学工业的发展历程与前景
- 《滚珠丝杠螺母副》课件
评论
0/150
提交评论