注意:本文基于以下事实:我笨,我懒,我是新手。
第一次写教程,抛砖引玉,希望各位指出我的不足。

安装Openbox的机器不是我签名所说的笔记本,而是我在学校办公室的一台256M内存,P4 3.0G,集成显卡的机器(学校腐败,内存小浪费了那么好的CPU)。系统是由Ubuntu 7.04升级到7.10(其实是LinuxMint,Unbuntu的二次发行版)。保留Gnome,两桌面并存。
用rox作文件管理器。

1、安装软件:
apt install openbox openbox-theme gtk-theme-switch fbpanel obconf feh rox-filter menu menus-xdg(这个不一定有用)。
我发现Ubuntu本身是没有apt命令的,这是LinuxMint的一个小脚本而已,那么本文出现的所有apt命令请用sudo apt-get代替。
然后到 http://obmenu.sourceforge.net/ ,下载最新版后编译安装。
不建议使用gtk-chtheme,这可能会造成gnome那边的桌面的主题设置出现问题。
好了之后你就可以在gdm里进入openbox了,只是,什么都没有。

2、配置基本环境
首先,sudo vim /usr/bin/openboxEx,新建一个脚本。
填入以下内容:
代码:
#!/bin/sh

if [ -f ~/.wmrc ]; then
. ~/.wmrc
fi

GNOME_SETTINGS_DAEMON="/usr/bin/gnome-settings-daemon"
OPENBOX="/usr/bin/openbox"
FBPANEL="/usr/bin/fbpanel"

$GNOME_SETTINGS_DAEMON &
$FBPANEL &
$OPENBOX
然后
代码:
chmod 755 /usr/bin/openboxEx
给予运行权限。
上面最后一行,$openbox后最好不要加 &,否则启动后可能导致错误,原因我也不知道,某次升级后就有这个问题了。
FBPANEL="/usr/bin/fbpanel" 这是任务栏,可以不要的。
$GNOME_SETTINGS_DAEMON & 这个让你在gnome下的部分风格设置在这里生效。
其实还可以加入gnome-volume-manager控制自动挂载,但是我放弃了,尽量精简。
上面有个wmrc,是我自己加入的启动文件,在home下,下面是代码:
代码:
feh --bg-scale ~/Pictures/bgimage
有人问,为什么不直接现在上面的脚本中呢?其实我也很郁闷,因为那样的话,无论是前面还是后面,背景怎么都不显示(注意本文第一句话)。不过正好,以后要加入内容直接改.wmrc就可以了。这里的feh是设置背景的软件,可以用别的代替的。
~/Pictures/bgimage是个link文件,这样修改背景就不用修改这个文件或者背景图片的名字了,个人习惯而已。
好了,现在要做的是让gdm启动openboxEx,
代码:
cd /usr/share/xsessions
sudo cp openbox.desktop openboxEx.desktop
sudo vim openboxEx.desktop
把内容改为
代码:
[Desktop Entry]
Encoding=UTF-8
Name=OpenboxEx
Comment=Use this session to run Openbox with extra components as your desktop environment
Exec=openboxEx
Icon=
Type=Application
重点是Exec那行,Name那行随便,不改的话gdm就会有两个重复的选项给你了,Comment那行是解释,可以忽略,我修改了只是想完美而已。
好了,这样从gdm选择openboxEx就可以进入完整环境的openbox了。
补充两点,你在gdm可能会看到openbox-gnome和openbox-kde,如果你不需要,删除/usr/share/xsessions下对应的desktop文件就好了,或者修改后缀,我的做法是在两个文件后面再加上".mask"的后缀。

3、菜单。
生成debian菜单。
代码:
sudo update-menus
生成openbox菜单
代码:
obm-xdg --replace
好了,现在只要打开openbox菜单, openbox-》reload prefences。就可以看到新的菜单了。
更多菜单功能请参考
http://obmenu.sourceforge.net 尤其是里面的pipe菜单功能。

4、挂载卸载光驱。
我用了一个很简单的脚本实现了自动挂载光驱的功能。
现在fstab设置
代码:
/dev/sr0 /media/cdrom0 udf,iso9660 user,utf8,noauto,ro 0 0
建立~/bin/mcdrom文件,内容如下:
代码:
#You should run this script under console prefix with sudo or prefix with gksu, kdesu under openbox menu, Or you would get an error or nothing.
mount /media/cdrom0
rox /media/cdrom0
上面的注释是我加的,就是说,如果你把这个功能加入了openbox菜单,前面要gksu之类的指令获得超级用户权限。然后脚本会自动用rox打开光驱的内容。
卸载脚本,建立~/bin/umcdrom文件,内容如下:
代码:
umount /media/cdrom0
eject -T
sleep 5
eject -t
光驱卸载弹出后,会在5秒内关闭。这些按个人爱好定义好了。
在菜单加入上面两个命令即可。
刚开始学习bash,请大家多多指教。

U盘插入与卸载功能还没有加入,我现在都是用命令行的干,对不起了。

附上截图,截图的菜单有挂载CDROM的选项。
注意,你对菜单的任何修改都会被obm-xdg --replace摧毁,解决办法是备份一下,更好的解决办法是学会用pipemenu,目前我也不会,呵呵。