LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2034|回复: 7

在openSuSE 10.3中打造轻量级的桌面环境(openbox+pcmanfm)

[复制链接]
发表于 2008-8-3 13:06:48 | 显示全部楼层 |阅读模式
引子
用久了openSuSE 10.3 KDE桌面,倒还觉得蛮顺手。最近在TOY上看到一篇openbox的教程,引起了我的兴趣。遂想到以openbox作为WM(窗口管理器),辅助其他的轻量级的工具,自己定制一个X会话。经过几天的折腾,倒也像模像样,把心得写出来,供大家参考。本文假定您已经具备了自行编译安装软件的经验。

一、需要的软件
窗口管理器:openbox 3.4.7.2
openbox配置工具:obconf 2.0.3
文件管理器:pcmanfm 0.5
系统监视器:conky 1.6.0
桌面面板:fbpanel 4.1.2
Run Dialog:gmrun 0.9
登录管理器:slim 1.3.0+主题包
嵌入桌面的终端:yakuake 2.8.1
桌面背景:feh 1.3.4

二、编译、安装、配置openbox
引自linuxtoy的评论:openbox速度非常快,资源占用少。可高度定制化,能够绑定键盘和鼠标。主题资源丰富。支持会话,可替代GNOME、KDE等桌面环境中默认的窗口管理器,而其他桌面组件仍旧保持原样。
1)编译和安装
依赖关系:
$ ./configure
$ make
$ su
# make install
这里把它安装在了默认的/usr/local路径下。

2)配置
主要的配置文件有三个autostart.sh,menu.xml,rc.xml
先将全局的配置文件复制到家目录下:
$ mkdir -p ~/.config/openbox
$ cd ~/.config/openbox
$ cp /usr/local/etc/xdg/openbox/{autostart.sh,menu.xml,rc.xml} .

menu.xml(负责桌面右键菜单项目)和rc.xml(负责键盘和鼠标的快捷键邦定)的配置可以参见toy的教程(http://linuxtoy.org/archives/openbox-getting-started-guide.html,在此不再赘述。
由于需要的其他软件还没有安装好,autostart.sh文件的配置放在本文后半部说明。

3)配置工具obconf
图形化的配置openbox的工具,安装仍然是./configure,make,make install三步。需要注意的是该工具必须被安装到/usr下,以保证功能的正确性。

三、文件管理器pcmanfm的安装配置
是台湾人编写的一个文件管理器,同时可以管理桌面。支持多标签,内置搜索,支持拖放、缩略图,支持书签、自动挂载(需要hal支持),和FreeDesktop.org标准兼容。最重要的是其轻量级、快,而功能齐全。
1)编译安装
需要注意的是这里要求:hal>=0.5;fam或者gamin守护进程需要开启。
$ ./configure
$ make
$ su
# make install
这里把它安装在了默认的/usr/local路径下。
安装结束后需要执行:
# update-mime-database /usr/share/mime
# update-desktop-database
安装的其他细节在README和INSTALL文件中都有详尽的描述。

2)配置桌面
并不需要额外太多的配置。可以选择让其管理桌面。
打开pcmanfm,在编辑-首选项中,可以设置让pcmanfm管理桌面。这样在~/Desktop上的图标会显示在桌面上;同时还可以设置壁纸等等。但是由于此选项和conky以及openbox的配合使用有些小问题,所以我没有让pcmanfm管理桌面。

四、安装系统监视器conky
conky是一个很好的小工具。配置好了放在桌面上可以实时的监控系统cpu、内存、网络状况,甚至天气、rss等应用联合起来,嵌入桌面上很养眼。
1)安装
这个没什么好说的了,还是经典的./configure,make,make install。细节可以查看INSTALL文件,包括安装路径的配置等。
2)配置
配置很重要。否则启动了很难看。
$ vi ~/.conkyrc
配置文件书写稍微有些复杂,可以到http://conky.sourceforge.net/screenshots.html查看已有截图、下载配置稍作修改。

五、面板fbpanel的安装使用
1)默认的安装
$ ./configure(可以使用./configure --help查看可用配置选项,作一些定制)
$ make
$ su
# make install
安装后 $ fbpanel & 运行程序,生成默认的用户配置文件在~/.fbpanel/default
2)配置
$ vi ~/fbpanel/default
如果稍微具备简单的英文知识,可以看到配置文件还是比较容易理解的。可以将其备份后自行修改查看效果,很快就可以上手了。举例说明:
  1. # 面板上留出的空白
  2. Plugin {
  3.         type = space
  4.         config {
  5.                 size = 2
  6.         }
  7. }
  8. # 显示桌面图标
  9. Plugin {
  10.     type = wincmd
  11.     config {
  12.         icon = gnome-fs-desktop
  13.         tooltip = Left click to iconify all windows. Middle click to shade them.
  14.     }
  15. }
  16. # 任务栏
  17. Plugin {
  18.     type = taskbar
  19.     expand = true
  20.     config {
  21.         ShowIconified = true
  22.         ShowMapped    = true
  23.         ShowAllDesks  = false
  24.         tooltips = true
  25.         IconsOnly = false
  26.         MaxTaskWidth = 150
  27.     }
  28. }
  29. # 系统托盘和时钟
  30. Plugin {
  31.     type = tray
  32. }
  33. Plugin {
  34.     type = dclock
  35.     config {
  36.         ClockFmt = %R
  37.         TooltipFmt = %A %x
  38.     }
  39. }
复制代码

六、其他工具的安装
1)管理桌面背景:feh,这步比较简单。直接使用rpm包安装。无须额外的配置。
2)嵌入桌面的终端:yakuake,这里也直接使用rpm包安装。安装好以后默认使用F12唤出。
以上两个软件在packman的源中都有。
3)运行对话框gmrun:源码编译安装,$ ./configure ; $ make ; # make install。
安装结束后,需要做键位邦定,从而可以使用alt+f2唤出。在openbox的rc.xml文件中配置,在键盘快捷键邦定的部分中添加以下一段:
  1.     <keybind key="A-F2">
  2.       <action name="Execute">
  3.         <startupnotify>
  4.           <enabled>true</enabled>
  5.           <name>Run Dialog</name>
  6.         </startupnotify>
  7.         <command>gmrun</command>
  8.       </action>
  9.     </keybind>
复制代码

七、~/.config/openbox/autostart.sh的配置
这个文件就是openbox会话启动时,会去执行的文件。所以我们可以把需要运行的程序写入其中就可以了。下面给出我的autostart.sh文件,仅供参考。
  1. ### exec the global settings ###
  2. . $GLOBALAUTOSTART
  3. ### set up Desktop and Filemanager ###
  4. ### NOTE: some problem when working with conky. ###
  5. # killall pcmanfm > /dev/null 2>&1
  6. # pcmanfm &
  7. ### set background image and conky monitor ###
  8. feh --bg-scale ~/Picture/1038.jpg &
  9. killall conky > /dev/null 2>&1
  10. conky &
  11. ### set panel ###
  12. killall fbpanel > /dev/null 2>&1
  13. fbpanel &
  14. ### set SCIM ###
  15. # export LC_CTYPE=zh_CN.utf8
  16. export XMODIFIERS=@im=SCIM
  17. export GTK_IM_MODULE=scim
  18. export QT_IM_MODULE=scim
  19. scim -d &
  20. ### start yakuake ###
  21. killall yakuake > /dev/null 2>&1
  22. yakuake &
复制代码
如果需要其他的软件在openbox会话开始时启动,可以在该文件末尾继续添加。注意,每个命令都需要在后台运行,否则其后的命令将不会被执行直至该命令退出。

八、定制一个X会话
在用户家目录下新建两个文件:
$ touch ~/.xinitrc
$ ln -s ~/.xinitrc ~/.xsession
$ vi ~/.xinitrc,写入以下内容
  1. #!/bin/bash
  2. export OOO_FORCE_DESKTOP=gnome
  3. exec openbox-session
复制代码
保存退出,并赋予该文件和.xseeion文件x权限。这样,在运行级别5通过kdm/gdm进入X或者在控制台通过startx进入X,就是我们自己定制的桌面环境。


九、选用轻量级的登录管理器:slim
Finally,既然我们已经选用了一整套轻量级的桌面环境工具,那么为什么还要用gdm/kdm那些大型的登录管理器呢?
slim:Simple LogIn Manager,可以满足我们的需要。
1)安装
依赖关系:
X.org or XFree86
libpng
libjpeg
非常遗憾的是,slim源码包中并没有提供configure脚本,可能我们需要根据系统的不同自行修改Makefile文件。所幸的是其提供Makefile可以很好的工作在openSuSE 10.3上。切换到root用户使用make install安装。

2)配置
slim的配置文件在/etc/slim.conf。在我的系统中,需要作如下的修改:
注释该行:default_xserver     /usr/X11R6/bin/X
添加该行:default_xserver     /usr/bin/X

编写启动脚本:
# vi /etc/init.d/slim
写入以下内容:
  1. #!/bin/bash
  2. #
  3. # /etc/init.d/slim :start/stop slim
  4. #
  5. case $1 in
  6. start)
  7.         /usr/bin/slim -d
  8.         ;;
  9. stop)
  10.         killall /usr/bin/slim
  11.         ;;
  12. restart)
  13.         $0 stop
  14.         sleep 1
  15.         $0 start
  16.         ;;
  17. *)
  18.         echo "usage : $0 [start][stop][restart]"
  19.         ;;
  20. esac
  21. # End of file
复制代码
保存退出。同时修改系统启动级别。比较简单的做法是通过yast。在系统-系统服务中,切换到专家模式,在级别5启动slim,同时取消在级别5启动xdm,点击完成。

3)主题的更换
slim的主题网上有很多现成的,可以自己制作,在官方网站上有详细的叙述http://
主题的替换需要以下步骤:
$ tar zxvf theme_name.tar.gz
$ su
# mv theme_name /usr/share/slim/themes/theme_name
# vi /etc/slim.conf
找到current_theme       default行,将default替换成theme_name即可。

OK. Well done. It's time to reboot.
# reboot

问题和后记
1)可作为候选的软件:tox(文件和桌面管理器),launchy(程序起动器),tilda(嵌入桌面的终端),panel可以选用xfce的面板等等很多。
2)涉及到了一些系统文件的修改,请自行做好备份。自行定制X会话可以带来更好的效率,但不一定适合所有人,本文也并非通用所有的系统和平台,请考虑清楚。
3)参考:
Openbox:http://icculus.org/openbox/index.php/Main_Page
Pcmanfm:http://pcmanfm.sourceforge.net/
Conky:http://conky.sourceforge.net/
Fbpanel:http://fbpanel.sourceforge.net/
Slim:http://slim.berlios.de/
Gmrun:http://sourceforge.net/projects/gmrun/
Linuxtoy:http://linuxtoy.org/archives/openbox-getting-started-guide.html
网友的博文:http://www.oceanboo.cn/read.php/239.htm

4)第一次撰文,写的不好,欢迎指正。
                  
独孤九剑
发表于 2008-8-3 19:37:39 | 显示全部楼层
支持你!不过不知道美观性怎样!我还是比较在意桌面的外观。
这也是我用OPENSUSE的初衷,从引导界面到进入桌面真是一种享受,但是我现在感觉KDE4内存占用太大,空闲内存只有20M左右,我是1G的内存。还有我的SWP分区,他就没怎么使用,分了400多兆,使用的却只有10M左右。开特效也很卡,还有GTK程序的主题也和系统整体不搭调,但是我发现在KDE下一般硬盘灯是不会闪的,难道他都用到内存,不用硬盘的缓存。
回复 支持 反对

使用道具 举报

发表于 2008-8-3 19:45:05 | 显示全部楼层
真喜欢自己订制的话,arch是个不错的选择
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-3 20:57:47 | 显示全部楼层
Post by ufooer;1882116
支持你!不过不知道美观性怎样!我还是比较在意桌面的外观。
这也是我用OPENSUSE的初衷,从引导界面到进入桌面真是一种享受,但是我现在感觉KDE4内存占用太大,空闲内存只有20M左右,我是1G的内存。还有我的SWP分区,他就没怎么使用,分了400多兆,使用的却只有10M左右。开特效也很卡,还有GTK程序的主题也和系统整体不搭调,但是我发现在KDE下一般硬盘灯是不会闪的,难道他都用到内存,不用硬盘的缓存。
内存使用多是因为大量的内存被用做缓存。没有关系的。
外观在于配置。这些小软件的定制性都很高,配置好了就很养眼。
而且嘛,外观也得看个人,毕竟众口难挑。
Post by struq;1882116
真喜欢自己订制的话,arch是个不错的选择
哈哈 的确 openSuSE的定位在于提供一个安装好就可以着手使用的便捷的系统。arch以前也断断续续玩过
其实,gentoo,lfs之流可定制性不是更高?哈哈 曾经自己编过一个lfs,开机10s不到进console
回复 支持 反对

使用道具 举报

发表于 2008-8-3 21:18:10 | 显示全部楼层
Post by 独孤九剑;1882150
内存使用多是因为大量的内存被用做缓存。没有关系的。
外观在于配置。这些小软件的定制性都很高,配置好了就很养眼。
而且嘛,外观也得看个人,毕竟众口难挑。有机会我会放几张图上来。


哈哈 的确 openSuSE的定位在于提供一个安装好就可以着手使用的便捷的系统。arch以前也断断续续玩过
其实,gentoo,lfs之流可定制性不是更高?哈哈 曾经自己编过一个lfs,开机10s不到进console


期待你养眼的截图
回复 支持 反对

使用道具 举报

发表于 2008-8-4 20:37:58 | 显示全部楼层
支持,感谢楼主提供conky的信息。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-4 21:39:50 | 显示全部楼层
Post by ufooer;1882162
期待你养眼的截图
可能要抱歉了 因为系统被我格了 没有来得及截图  准备试用arch看看
       
Post by konsole;1882162
支持,感谢楼主提供conky的信息。。  
不客气 这个小工具放在桌面上可以很美观  也很拉风 哈哈


suse是我学习linux的第一个系统,使用SuSE 从10.1到openSuSE10.2再到10.3一路走来,遇到了一些问题 在论坛里得到了大家热情的帮助
openSuSE很好用 很方便 可用性很高  yast2是一个“一站式”的工具,配置系统各方面都很方便;从10.2开始,开机和yast缓慢的问题也得到了很好的解决
然而,便捷的同时也就隐藏了更多的底层内部细节  也许arch可以教给我更多一些系统的启动、配置等细节内容
ok farewell!
回复 支持 反对

使用道具 举报

发表于 2008-8-5 08:23:15 | 显示全部楼层
不会吧?
尝试  arch还不如用 gentoo或者 debian.

或者自己lfs更爽.

YAST就是超便捷.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表