拈花 . 微笑

Leo Tzao's Blog

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

,

[题记]

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

不过想想白天总也得玩点什么,于是锁定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

附:贴两个图展示一下:


Dapper上安装永中Office2007Very酷的桌面监控工具 Conky

Comments

Anonymous Wednesday, July 26, 2006 2:42:53 AM

Anonymous writes: 请教一个问题:你的菜单用的是什么字体?能否贴出来看看?我如果设中文的locale(例如GB2312或GBK),那么中文显示很漂亮,但是英文就比较不喜欢;如果设成英文locale(例如en_US),中文则无法显示。1.0rc能否分开控制?谢谢!

天一先生 (Leo Tzao)leo_tzao Wednesday, July 26, 2006 5:13:46 AM

您好!

我的菜单字体是文泉驿 WenQuanYi Bitmap Song
我的locale是zh_CN.UTF-8

天一先生 (Leo Tzao)leo_tzao Wednesday, July 26, 2006 5:18:46 AM

文泉驿我认为是一个中文英文显示效果都过得去的界面方案了

如果您不介意版权,又使用大屏幕的液晶显示器,新的微软雅黑好像也不错,中英文都还比较好看,不过要打开AA和hinting

Anonymous Wednesday, July 26, 2006 8:04:05 AM

Anonymous writes: 多谢回复!装文泉驿费了些功夫,不过还好搞掂了。我原来用AR PL KaitiM GB,效果要差很多~~如果能像mrxvt那样分别指定单字节和双字节的字体,就更理想了。

天一先生 (Leo Tzao)leo_tzao Wednesday, July 26, 2006 8:42:43 AM

Icewm可以,fluxbox好像不行,我也希望以后的版本可以,期待ing:)

Anonymous Wednesday, July 26, 2006 11:03:58 PM

Anonymous writes: 继续讨论这个话题。 我看到1.0rc2的版本有一项新增的功能,就是在menu文件中,可以指定编码,例如: [encoding]{gb2312} 菜单项目 [endencoding] 在en_US的locale中运行fluxbox,编写一个中文的菜单项,如果按上面的办法指定encoding,则该菜单显示为小方格;如果没有添加上面的encoding,则显示为乱码。很明显,这个标签在起作用。 也许可以琢磨出一个在英文locale中显示中文菜单的办法来?

天一先生 (Leo Tzao)leo_tzao Thursday, July 27, 2006 4:01:42 AM

呵呵,兄弟好细心,我都没有发现,您说的显示为方框的时候,字体指定的是中文字体还是英文字体?

现在手头有事,等稍后我把locale改成en_US试试看:)

Anonymous Thursday, July 27, 2006 3:38:54 PM

Anonymous writes: 我在overlay文件中,试过几种字体,中英文都有。昨天在#fluxbox频道里问了一下,有几位都认为是字体问题,可是我对X的字体管理,字体名称指定这些了解都有限,所以我的实验可能存在设计缺陷。 我个人偏好使用英文的locale,所以一直寻找英文locale下,让菜单项和窗口标题栏显示漂亮中文的办法。 阁下这篇帖子写得不错,很实用,goole搜索“fluxbox 中文“已经排名第一了!我故意在跟帖里加入了更多的关键词,想吸引更多的同好前来讨论;-)

天一先生 (Leo Tzao)leo_tzao Friday, July 28, 2006 2:15:13 AM

多谢多谢兄弟的捧场
今天是我试验英文locale的最后机会,因为明天出门,就要等到八月一日以后再上网了:)
等我试试看我这边什么情况:)

天一先生 (Leo Tzao)leo_tzao Friday, July 28, 2006 3:00:53 AM

兄台,我已经试验完了,希望你今天会上来看到

我将/etc/environment写成这样
LANG="en_US.UTF-8"
LANGUAGE="en_CN:en_US:en_GB:en"

在~/.fluxbox的menu文件内,我并没作任何修改,没有给出encoding的设定,在style配置文件中使用字体为WenQuanYi Bitmap Song,结果是我可以正确在fluxbox菜单中看到中文

所以我想您的应该是字体配置的问题

关于字体配置,我是将WenQuanYi Bitmap Song写在中文字体的最前面的

以下是我的fonts.conf中关于字体选择顺序的部分:

<alias>
<family>serif</family>
<prefer>
<family>DejaVu Serif</family>
<family>Bitstream Vera Serif</family>
<family>FreeSerif</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>SimSun</family>
<family>AR PL ZenKai Uni</family>
<family>FangSong_GB2312</family>
<family>SimHei</family>
<family>KaiTi_GB2312</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>DejaVu Sans</family>
<family>Bitstream Vera Sans</family>
<family>Tahoma</family>
<family>Crystal clear</family>
<family>FreeSans</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>SimSun</family>
<family>AR PL ZenKai Uni</family>
<family>FangSong_GB2312</family>
<family>SimHei</family>
<family>KaiTi_GB2312</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
<family>Bitstream Vera Sans Mono</family>
<family>A.D.MONO</family>
<family>FreeMono</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>NSimSun</family>
<family>AR PL ZenKai Uni</family>
<family>FangSong_GB2312</family>
<family>SimHei</family>
<family>KaiTi_GB2312</family>
</prefer>
</alias>

希望能有所帮助:)

Anonymous Sunday, August 6, 2006 4:40:24 AM

Anonymous writes: hi 楼主 能贴一下您完整的fonts.conf吗? 我这边字体始终搞不定,不是英文太模糊就是中文显示有问题. gnome下倒是一切正常.

天一先生 (Leo Tzao)leo_tzao Monday, August 7, 2006 5:08:06 PM

已贴出俺的配置,在我blog的相关帖子内:)

Anonymous Monday, August 14, 2006 2:03:58 AM

jazzi writes: 我现在也正在弄fluxbox,感觉一切都好,菜单中文显示也不错。 我是用的VeraSanYuanTi,locale设置成zh_CN 有几个问题要请教一个: 1.Xterm中中文显示乱码,而且无法在这里启动scim 2.文泉驿字体感觉挺好的,不过听说安装不大容易,你是怎么弄的 ########### OS:Ubuntu6.06 Server+Fluxbox

天一先生 (Leo Tzao)leo_tzao Monday, August 14, 2006 4:17:47 AM

1.不好意思我一直用的是urxvt,所以不了解xterm:)
2.文泉驿安装非常容易啊,用ubuntu的话,去掉不使用点阵字体的链接,复制字体到字体目录,在fonts.conf中激活文泉驿,基本上只需要这三步就可以了,具体的请搜索相关贴子:)

Anonymous Monday, August 14, 2006 9:57:28 AM

swest writes: Please help. I cannot start chinese input method in fluxbox. And it works well in previous gnome. So, could you tell me how to install/setup chinese input method in fluxbox? Thanks a lot.

Anonymous Monday, August 14, 2006 10:02:28 AM

swest writes: forgot something... mys system is Ubuntu 5.10 "Breezy Badger".

天一先生 (Leo Tzao)leo_tzao Tuesday, August 15, 2006 2:49:34 AM

hi,swest!

我是使用im-switch作为dapper的输入法启动脚本的,另外我使用gdm作为启动管理器,设定命令很简单:

im-switch -t default -s fcitx

如果您是用startx启动fluxbox,那我想也许应该在~/.xsession中写入相关启动行

另外我能想到的就是,启动fluxbox要用startfluxbox:)

Anonymous Tuesday, August 15, 2006 8:35:01 AM

swest writes: 谢谢回复.问题已经解决.breezy的im-switch不支持-t选项.需要在home目录下建立~/.xinput.d/zh_CN文件,起动fcitx.

Anonymous Wednesday, September 6, 2006 1:05:17 AM

jackchen writes: "6. 关于中文化,新版本的fluxbox中文支持还是不错的,只要在style文件里指定中文字体,就可以在菜单和窗口显示中文了。" 你好,请问如何style文件中指定中文字体,怎样修改的,我很菜,请贴详细一点好吗,谢谢!!!

天一先生 (Leo Tzao)leo_tzao Wednesday, September 6, 2006 7:23:54 AM

您好,style文件位于家目录的~/.fluxbox/style下面,每个style都有一些图片(通常时xpm格式)和一个文本的配置文件,将文本的配置文件打开,在所有的***.font:后面写上您喜欢的中文字体名称即可,例如文泉驿的名称是 WenQuanYi Bitmap Song:size=9:bold ,此例中前面时文泉驿名称size=9是字体大小,bold是显示粗体,这项是可选的,不用粗体就不写:)

Anonymous Thursday, September 7, 2006 1:38:05 AM

jackchen writes: 对不起了,白费你的心机了,我还是搞不定,我的系统装有文泉驿,也是在所有的***.font:后面写上 WenQuanYi Bitmap ong:size=9:bold了,还是搞不好。先不搞他了,试用几天看看,fluxbox速度上确比gnome好很多!! 不管行不行,谢谢!!还是要的!!!!!

mysurface Sunday, March 18, 2007 5:49:00 AM

你好,我遇上这问题,在这儿解释 -》 http://my.opera.com/mysurface/blog/2007/03/18/fluxbox

你有这问题吗?有解决方案吗?

Anonymous Friday, July 9, 2010 10:20:24 AM

Аноним writes: I had got a dream to make my company, nevertheless I did not have enough of money to do this. Thank God my close dude proposed to take the personal loans . Thence I took the small business loan and realized my dream.

Anonymous Saturday, July 17, 2010 12:42:38 PM

Аноним writes: Cars and houses are quite expensive and not everybody is able to buy it. However, business loans are invented to aid different people in such kind of cases.

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies

February 2012
S M T W T F S
January 2012March 2012
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29