分页: 1 / 2

[原创] [笔记]在ubuntu-dapper上安装fluxbox──我的安装历程

发表于 : 2006-07-11 17:14
leo_tzao
[题记]

我是十岁开始看球的老球迷了,世界杯期间自然是过得黑白颠倒。由于白天精神状态都很差,加上毕业论文等等扯淡事情也不急在一时,于是干脆放下几乎所有“正事”,纯为看球让路了:)

不过想想白天总也得玩点什么,于是锁定fluxbox,反正正事已经不做了,不如摆弄摆弄这传说中很多高人都用的桌面,反正俺不怎么玩游戏,配置桌面权当是游戏通关啦:)

短暂的接触,发现fluxbox果然名不虚传,简洁、个性而且也可以很漂亮,再而且据说没有fvwm那么复杂的配置,不错不错──以下是我在Ubuntu Dapper LTS上安装配置fluxbox的一些笔记,贴上来算是推荐一下这个桌面,也算是给自己留个备忘。

[第一部分:编译安装]

其实ubuntu的官方源里就有大名鼎鼎的fluxbox,如果不想麻烦,直接 apt-get install fluxbox 就可以,很省事。不过fluxbox的官方7月刚刚发布了1.0RC2的版本,dapper的源里并没有更新到位,所以我决定自己编译一下:

1. 从fluxbox官方下载最新的二进制包(http://fluxbox.sourceforge.net/download.php)得到 fluxbox-1.0rc2.tar.gz

2. 为方便dapper进行管理,我更喜欢将下载的fluxbox源码打包为deb包。先安装必须的包:

sudo apt-get install build-essential checkinstall xlibs-dev libimlib2-dev

编译的过程简单来说就是以下几步:

tar zxvf fluxbox-1.0rc2.tar.gz # 先解压缩
cd fluxbox-1.0rc2 # 进入到源码目录下
dh_make
dpkg-buildpackage -rfakeroot

最后两条命令是打deb包的基本命令了,需要说明的是你最好在进入到源码目录以后,先用 ./configure --help 看一下该包所提供的编译选项,选择自己需要的进行打包。
我使用的编译选项是: --enable-imlib2 --enable-xinerama --enable-kde --enable-gnome
其实--enable-kde --enable-gnome这两项默认就是Yes,写上只不过为了保险而已。另外两项,--enable-xinerama 的主要作用是支持双头显示(更多功能俺不了解:),我本着“有比没有好”的原则选上;--enable-imlib2 这项默认是No,但我选上了,我想这里需要说明一下:fluxbox的主题文件(style)有三种,一种是纯粹一个文本的配置文件,这是所谓经典型的主题,另一种的以xpm格式图像加上一个.cfg的文本配置文件组合而成的图形化的主题,第三种是以非xpm格式,一般是png格式的图形和文本型的配置文件组成的图形化主题。如果不将imlib2编译进来,fluxbox将只支持xpm格式的图像的显示,也就是说你将不能用png格式的主题文件。另外, fluxbox的菜单文件是可以支持图标显示的,而我们大部分漂亮的图标也是png格式,所以,我还是将--enable-imlib2选项加上。当然,要在编译时使用这个选项,前面你就不能忘了安装它的库文件libimlib2-dev。
编译完成后dpkg -i 形成的deb包:dpkg -i fluxbox_1.0rc2-1ubuntu6_i386.deb (你打包的名字会有不同,这是打包前修改版本名的结果,详细的请参考打包方面的文章:)

3. 添加启动项到gdm。
我是用gdm进行启动管理的,因此需要添加fluxbox的启动项到gdm:

cd /usr/share/xsessions/
sudo vim fluxbox.desktop

在新建的fluxbox.desktop文件中输入如下内容:

[Desktop Entry]
Encoding=UTF-8
Name=Fluxbox
Comment=This session logs you into Fluxbox
Exec=startfluxbox

OK!Fluxbox在dapper上的安家过程至此结束,从你的启动管理器进入fluxbox,进入体验之旅吧:)

[第二部分:基本配置]

1. 设置背景
sudo apt-get install feh # 安装用于设置背景的工具
fbsetbg ~/wallpaper.png # fbsetbg后面换成你的背景图的路径

需要说明的是,要使每次启动应用上次的背景,可以在 ~/.fluxbox/startup 文件中加入 fbsetbg -l & ,启动脚本的用法,后面会有说明。

2. 安装主题
http://themes.freshmeat.net/ 选择自己喜欢的主题,放在 <$HOME>/.fluxbox/style 下,然后,在fluxbox主菜单中的user style中就可以选择了。
主题文件可以根据个人需要做一定的修改。还好,主题文件的配置文件语句都相当清晰和简单易懂,我们经常要修改的包括所用字体和任务栏、标题栏的高度等等。如果实在不明白配置文件中语句的意思,可以参考官方制作主题的文档:


3. 编辑菜单

A. 自定义菜单两种方法:

(1) 直接编辑 ~/.fluxbox/menu 文件
(2) 编辑 ~/.fluxbox/init 文件,更改session.menuFile: /home/username/.fluxbox/(你自己的菜单文件名) ,然后建立并编辑自己的菜单文件

B. 菜单文件格式
[begin] (菜单的标题)
[submenu] (子菜单标题) # 表明子菜单的开始
[exec] (程序名称) {运行的程序} # 菜单中的程序项
[include] (其它菜单文件的路径) # 包含其它菜单文件到此菜单中来
[end] # 表明一级菜单的结束,和[submenu]是对应关系
[nop] (--------) # 显示括号内的字符,但在菜单上点击后无任何动作,一般用作菜单中的分割线
[workspaces] (SubMenuName) # 工作区列表菜单
[stylesdir] (样式文件的目录) # 样式(主题)菜单
[config] (FluxboxConfiguration) # fluxbox配置菜单
[reconfigure] (Reconfigure) # 重载配置
[restart] (Restart) # 重启动
[exit] (Exit) # 退出fluxbox

如果需要加入图标,在上面各项的后面加入 <图标路径> ,可以显示图标。

以下是我简单配置的菜单文件,主要是在原菜单基础上进行了一些修改而成,仅供参考吧:

[begin] (Ubuntu)
[exec] (Urxvt) {urxvt}
[exec] (Firefox) {firefox}
[exec] (Tomboy) {tomboy}
[exec] (LumaQQ) {/opt/LumaQQ/lumaqq}
[exec] (aMule) {amule}
[exec] (Synaptic) {sudo synaptic}
[exec] (永中集成Office2007) {/usr/bin/eio}
[nop] (==================)
[exec] (Home) {rox-filer}
[exec] (Computer) {rox-filer /}
[exec] (Media) {rox-filer /media}
[nop] (==================)
[submenu] (Terminals)
[exec] (urxvt) {urxvt}
[exec] (urxvtc) {urxvtc}
[exec] (gnome-terminal) {gnome-terminal}
[exec] (konsole) {konsole}
[exec] (rxvt) {rxvt}
[end]
[submenu] (Net)
[submenu] (Browsers)
[exec] (firefox) {firefox}
[exec] (mozilla-firefox) {mozilla-firefox}
[exec] (mozilla) {mozilla}
[exec] (konqueror) {kfmclient openProfile webbrowsing}
[exec] (w3m) {urxvt -e w3m fluxbox.org}
[end]
[submenu] (IM)
[exec] (gaim) {gaim}
[exec] (kopete) {kopete}
[exec] (LumaQQ) {/opt/LumaQQ/lumaqq}
[exec] (skype) {skype}
[end]
[submenu] (IRC)
[exec] (xchat) {xchat}
[end]
[submenu] (P2P)
[exec] (amule) {amule}
[exec] (Azureus) {/opt/azureus/azureus}
[end]
[submenu] (ftp)
[exec] (gftp) {gftp}
[exec] (pftp) {urxvt -e pftp}
[exec] (ftp) {urxvt -e ftp}
[end]
[exec] (WebDownloader 4 X) {d4x}
[end]
[submenu] (Editors)
[exec] (gvim) {gvim}
[exec] (gedit) {gedit}
[exec] (leafpad) {leafpad}
[exec] (kwrite) {kwrite}
[exec] (kate) {kate}
[exec] (anjuta) {anjuta}
[exec] (evim) {evim}
[exec] (nano) {urxvt -e nano}
[exec] (vim) {urxvt -e vim}
[exec] (vi) {urxvt -e vi}
[end]
[submenu] (File utils)
[exec] (konqueror) {kfmclient openProfile filemanagement}
[exec] (rox) {rox}
[exec] (nautilus) {nautilus --no-desktop --browser}
[end]
[submenu] (Multimedia)
[submenu] (Graphics)
[exec] (gimp) {gimp}
[exec] (inkscape) {inkscape}
[exec] (gqview) {gqview}
[exec] (xscreensaver-demo) {xscreensaver-demo}
[end]
[submenu] (Audio)
[exec] (kmix) {kmix}
[exec] (beep-media-player) {beep-media-player}
[exec] (alsamixer) {urxvt -e alsamixer}
[end]
[submenu] (Video)
[exec] (gmplayer) {gmplayer}
[exec] (realplay) {realplay}
[end]
[submenu] (X-utils)
[exec] (xfontsel) {xfontsel}
[exec] (xman) {xman}
[exec] (xload) {xload}
[exec] (xbiff) {xbiff}
[exec] (editres) {editres}
[exec] (viewres) {viewres}
[exec] (xclock) {xclock}
[exec] (xmag) {xmag}
[exec] (gkrellm) {gkrellm}
[exec] (Reload .Xdefaults) {xrdb -load /home/leo/.Xdefaults}
[end]
[end]
[submenu] (Office)
[exec] (永中集成Office2007) {/usr/bin/eio}
[exec] (Open Office) {soffice}
[exec] (stardict) {stardict}
[exec] (xclock) {xclock}
[exec] (xcalc) {xcalc}
[exec] (acroread) {acroread}
[end]
[submenu] (Games)
[exec] (xeyes) {xeyes}
[end]
[submenu] (System Tools)
[exec] (top) {urxvt -e top}
[end]
[nop] (==================)
[submenu] (fluxbox menu)
[config] (Configure)
[submenu] (Styles) {Choose a style...}
[stylesdir] (~/.fluxbox/styles)
[end]
[workspaces] (Workspace List)
[submenu] (Tools)
[exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center}
[exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg}
[exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png}
[end]
[submenu] (Window)
[restart] (icewm) {icewm}
[restart] (kde) {startkde}
[restart] (gnome) {gnome-session}
[end]
[exec] (Lock screen) {xscreensaver-command -lock}
[commanddialog] (Fluxbox Command)
[reconfig] (Reload config)
[restart] (Restart)
[exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) 2> /dev/null | xmessage -file - -center}
[separator]
[exit] (Exit)
[end]
[exec] (restart) {sudo shutdown now -r}
[exec] (shutdown) {sudo shutdown now -h}
[end]


4. 启动脚本
A. 可以在 ~/.fluxbox/startup,比如启动gnome-settings-daemon来优化显示gtk程序,可以在startup中加入如下代码:

GSDPID=`pidof gnome-settings-daemon`
if [ "x$GSDPID" == "x" ]; then
gnome-settings-daemon &
fi

提示:要启动的脚本可以加入 ~/.fluxbox/startup中,注意以&作为结尾,比如 gnome-volume-manager &
要启动的程序可以加入~/.fluxbox/startup下面,在下面这锻说明文字以后:
# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.

B.新版本的fluxbox提供了一个名为 ~/.fluxbox/apps的配置文件,此文件用来设置特定程序的一些特殊行为,同时也可以用来启动脚本,方法是
[startup] (options) {application}
具体方法可以参看 fluxbox 的man

5. docker程序是window maker的桌面小程序,在fluxbox里面成为slit,fluxbox可以完美应用wm的docker,可以到http: //dockapps.org/下载安装,也可以直接从dapper源里apt得到,在启动脚本里添加:"doceker名 &"
提示:许多程序可以以-w为参数以docker的形式启动,比如 gkrellm -w & ,就可以启动gkrellm作为一个slit程序了。

6. 关于中文化,新版本的fluxbox中文支持还是不错的,只要在style文件里指定中文字体,就可以在菜单和窗口显示中文了。如果想要中文的menu,你可以自己编写一个,也可以到google上随便找一份来自己再修改(我见到过)。 另外可以在编译的时候加入 --enable-nls选项,这样应该可以使fluxbox的一些内部命令菜单和窗口显示中文。对我而言,因为计算机上的英文软件已经完全适应和习惯了,所以我并没有在编译时候使用nls的选项:)

7. 关于tab浏览。这是fluxbox最具特色的功能之一,默认情况下,只要鼠标中键将一个窗口的标签拖到另一窗口标签上,两标签就合并在一起了。对于一些特殊程序,比如我喜欢的好用的轻型终端模拟器urxvt,可以在 ~/.fluxbox/groups 文件中写入相关行实现自动的标签化。比如,我想要所有的urxvt窗口标签化,只要在文件的一行上写urxvt就可以了;如果相让所有urxvt和rox -filer的标签组合起来,则可以在一行上写 urxvt rox-filer

8.以上最初写在我的blog,一方面供没接触过 fluxbox的朋友了解,一方面主要作为自己玩这东西的一个简单备忘。感觉fluxbox的功能还是非常不错的,并且也足够简洁。如果有幸有些朋友是通过我的这篇笔记的介绍而开始玩fluxbox,强烈建议您读读fluxbox的说明文档:)这是官方中文文档的地址: http://fluxbox.sourceforge.net/docbook/zh_cn/html/ ,不过有点旧了,如果您英文没问题,那么直接 man fluxbox,里面的说明非常详细:)

以上的说明只是简单打造一个桌面,关于快捷键等更强大的功能,写起来会很多,如果您已经入门了,不妨读相关文档进一步了解。

fluxbox的官方网站:http://fluxbox.sourceforge.net/,还有更多的资源,都在google上面:)

世界杯结束了,个人觉得这是一届不算精彩的世界杯。我的fluxbox之旅也告一段落,好好睡眠,好好休息,然后开始做些本份内的事情:)

2006 07 10

原文地址 http://my.opera.com/leo_tzao/blog/show.dml/349469 (My Blog)

发表于 : 2006-07-11 19:30
eexpress
不错的东西啊。
只是觉得那菜单的写法比fvwm的还罗嗦些。

发表于 : 2006-07-11 22:06
zhan
也就是菜单麻烦一点点而已...

发表于 : 2006-07-12 16:14
leo_tzao
再贴一张fluxbox+conky+gdeskcal的图

我的conky配置得不错吧?小字体是因为我喜欢:)

发表于 : 2006-07-15 23:20
mrzhu
我的标题栏始终是乱码阿

发表于 : 2006-07-17 11:44
leo_tzao
mrzhu 写了:我的标题栏始终是乱码阿
修改所用主题的字体配置。

发表于 : 2006-07-22 9:51
mrzhu
leo_tzao 写了:
mrzhu 写了:我的标题栏始终是乱码阿
修改所用主题的字体配置。
试过了,还是不行

发表于 : 2006-07-22 10:46
13121982
$ apt-cache search fluxbox
$ sudo apt-get install fluxbox

发表于 : 2006-07-23 15:55
mrzhu
13121982 写了:$ apt-cache search fluxbox
$ sudo apt-get install fluxbox
谢谢。
我干脆把所有的字体设置删掉,就给个*.font设置为中文字体就行了
设置titile.font好象还有点问题

发表于 : 2006-07-24 12:31
leo_tzao
好像是必须在主题里给出*.font=某中文字体才行,我这里是这样:)

发表于 : 2006-08-04 19:47
mrzhu
是的,我也是慢慢试出这个结论

发表于 : 2006-08-07 9:57
leo_tzao
mrzhu 写了:是的,我也是慢慢试出这个结论
由于必须在菜单中用同一种字体显示中文和英文,目前我看比较好的两种方案也就是

1.关闭AA,文泉驿作为菜单字体
2.打开AA,微软雅黑作为菜单字体,但前提分辨率最好比较高,字体设置相对较大才有好效果:)

发表于 : 2006-08-27 9:26
drivel

代码: 全选

sudo apt-get install fluxbox 
这样不能安装?

发表于 : 2006-08-27 20:52
millenniumdark
drivel 写了:

代码: 全选

sudo apt-get install fluxbox 
这样不能安装?
a bit old

发表于 : 2006-09-01 13:36
leo_tzao
都说了俺是为了追新才自己编译的:)

当然可以apt了,但是更新不是非常及时:)