Fluxbox (简体中文)
Fluxbox 是一个 X11 下的窗口管理器。它基于 Blackbox(现在停止开发) 0.61.1 的代码构建,现在依然在开发中,并且功能显著增强。Fluxbox 占用资源少,速度快,并且提供切换和分组等有趣的窗口管理工具。配置文件简单易懂,便于编辑,有上百种的美化桌面的“主题”。Arch Linux 和 Fluxbox 可以让一台 Pentium 800 和 256M 内存的电脑焕发活力。
安装
启动 Fluxbox
图形界面登录
在 显示管理器 的会话菜单中选择 fluxbox。
手动
编辑 ~/.xinitrc
并添加如下几行:
exec startfluxbox
查看 xinitrc 来获取详细信息,例如保存登录会话。
配置
系统范围的 Fluxbox 配置文件在 /usr/share/fluxbox
中,用户个人配置文件在 ~/.fluxbox
中,配置文件如下:
- init - 主要的 Fluxbox 资源配置文件。参阅 编辑init文件。
- menu - Fluxbox 菜单配置文件。参阅下文和 编辑menu文件。
- keys - Fluxbox 键盘快捷键(热键)配置文件。参阅下文和 这里。
- startup - 编辑开机启动程序,参阅下文中关于 .xinitrc 的部分和 这里。
- overlay - 重载主题元素的配置文件。参阅 这里。
- apps - 记忆具体应用程序窗口配置的文件。参阅 这里。
- windowmenu - 配置窗口菜单自身的文件。看这里。
文件夹中有很多不太重要的配置文件。需要注意的有 init,menu,keys 和 startup。
菜单管理
第一次安装 Fluxbox 时系统会在 ~/.fluxbox/menu
中创建基本的程序菜单,在桌面上右击鼠标可以访问该菜单。和其他轻量窗口管理器一样,Fluxbox 在安装新程序的时候并不自动升级其程序菜单。因此推荐先在系统上安装需要的应用程序,然后再生成或编辑程序菜单。有四种基本方法来添加/编辑项目和增强菜单:
Fluxbox 提供一个内建的命令:
$ fluxbox-generate_menu
该命令会根据系统中已安装的程序来自动生成 ~/.fluxbox/menu
文件。但是生成的菜单综合性不如使用 MenuMaker 生成的菜单。
使用 MenuMaker
MenuMaker 是一个为各种各样的窗口管理器创建基于 XML 菜单的有力工具,支持 Fluxbox。MenuMaker 搜索计算机中所有的可执行程序,基于搜索结果创建程序菜单。如果需要的话,可以配置其排除 Legacy X,GNOME, KDE, 和 Xfce 的应用程序。
安装 menumaker,运行以下命令生成一个完整菜单并覆盖默认菜单。
$ mmaker -f FluxBox
可以在运行命令时加入以下开关来避免将基于命令行的程序—例如 alsamixer—加入菜单:--no-legacy
和 --no-debian
。例如:
$ mmaker -f --no-legacy --no-debian FluxBox
要查看更多 MenuMaker 选项:
mmaker --help
可以使用 Xdg-menu 来生成菜单,参阅 Xdg-menu#FluxBox 章节。
手动创建/编辑菜单
使用编辑器编辑 ~/.fluxbox/menu
文件,一个菜单项目的基本语法类似:
[exec] (name) {command} <path to icon>
"name" 是想要在菜单项目上显示的文字,"command" 是程序所在的位置。"<path to icon>"是可选的。例如:
[exec] (Firefox Browser) {/usr/bin/firefox} <path to firefox icon>
创建子菜单的语法如下:
[submenu] (Name) ... ... [end]
编辑完成后,保存退出,不需要重启 Fluxbox。更多的信息参阅 编辑 Fluxbox 菜单。
Init 文件
~/.fluxbox/init
文件是 Fluxbox 的主要配置资源文件。可以用来改变 Fluxbox,窗口,工具栏,焦点等基本功能。一些选项也可以从Fluxbox配置菜单中找到。详细内容参阅 编辑 init 文件。
热键
Fluxbox 提供基本的热键功能。Fluxbox 热键文件位于 ~/.fluxbox/keys
。
Control 键代表 "Control"。 Mod1
对应 Alt 键,Mod4
对应 Super 键(Super 键不是一个标准按键,经常被映射到 "Win" 键)。当 Fluxbox 安装完成后第一次运行时,Fluxbox 提供一组几乎完成的非常有用的热键。细读精研 ~/.fluxbox/keys
文件可以增强 Fluxbox 体验。
例子:快捷的方式来控制扬声器音量:
Control Mod1 Up :Exec amixer set Master,0 5%+ Control Mod1 Down :Exec amixer set Master,0 5%-
声音
参考 Advanced Linux Sound Architecture#Keyboard volume control 和 PulseAudio#Keyboard volume control。
工作区
Fluxbox 默认提供四个工作区。可以通过 Ctrl+F1-F4 快捷键访问,或者在工具栏上的箭头单击左键。也可以通过使用鼠标中键在桌面上单击,在工作区菜单上选择工作区。
切换和分组
当桌面上有两个以上窗口时,在一个窗口的上窗口标签单击 ctrl+鼠标左键,然后拖动该窗口到另一个窗口,这两个窗口会以标签页的形式集合在一起,现在执行一个窗口操作将影响到整个窗口“集合”。在标签页上单击 ctrl+鼠标左键,然后拖动到桌面空白位置将还原窗口。
壁纸
在 Fluxbox 种设置壁纸一直很复杂,特别是透明度问题。请参阅 Fluxbox wiki 中 壁纸设置 章节。
检查计算机中是否有壁纸设置程序。
$ fbsetbg -i
如果没有,安装 feh, esetroot 或者 wmsetbg。然后在 ~/.xinitrc
文件中 "exec" 行之前添加 "fbsetbg" 行。例如:
fbsetbg /path/to/my/image.image
如果该命令返回如下信息:
$ /usr/bin/fbsetbg: line 153: xmessage: command not found
那么需要安装 xorg-xmessage 包。
轻松切换多个壁纸
在 Fluxbox 菜单中添加子菜单如下:
[submenu] (Backgrounds) [wallpapers] (~/.fluxbox/backgrounds) {feh --bg-scale} [wallpapers] (/usr/share/fluxbox/backgrounds) {feh --bg-scale} [end]
将壁纸放到 ~/.fluxbox/backgrounds
中或者其他指定文件夹,壁纸将以同样的方式在主题中显示。
在没有 'xinerama' 的系统上显示双屏幕壁纸和上述一样,例如:
[submenu] (Backgrounds) [wallpapers] (/path/to/your/backgrounds) {feh --bg-scale --no-xinerama } [end]
使用 feh
安装 feh。
以下步骤确保 Fluxbox 下次启动时会加载 feh 背景。
1. 确保 .fehbg
可执行:
$ chmod 770 ~/.fehbg
2. 在 ~/.fluxbox/init
文件中添加/修改以下行:
session.screen0.rootCommand: ~/.fehbg
3. 在 ~/.fluxbox/startup
文件中添加/修改以下行:
~/.fehbg
使用 Nitrogen
也可以使用 Nitrogen。使用以下命令来运行图形壁纸选择软件:
$ nitrogen
添加包含图片的文件夹,选择图片然后应用。当然可以更改图片选项,例如壁纸居中或者放大。
添加如下行:
nitrogen --restore &
到 ~/.fluxbox/startup
文件中确保壁纸在登陆时使用。
如果重启 Fluxbox 后,当前选择主题的壁纸覆盖了 Nitrogen 设置的壁纸。编辑使用的主题的 theme.cfg
文件,注释或者删除如下几行来解决这个问题:
background: background.color: background.colorTo:
主题
要安装 Fluxbox 主题,将主题文件解压缩到主题文件夹,默认的主题文件夹是
- 全局 -
/usr/share/fluxbox/styles
- 仅用户 -
~/.fluxbox/styles
Arch Linux AUR 中有一套很漂亮的 Fluxbox 主题—"fluxmod-styles"。从 这里 获得。正确安装后将会在 Fluxbox 菜单中的 Fluxbox -> Styles section 中显示。
想要创建自己的 Fluxbox 主题,请参阅 fluxbox-style(5), Fluxbox/Style guide 和 主题指南。
如果使用
$ mmaker -f FluxBox
创建菜单,那么安装完主题后将不会看到主题选择菜单。
将下面几行添加到 ~/.fluxbox/menu
文件中的重启菜单选项后来修正。
[submenu] (System Styles) {Choose a style...} [stylesdir] (/usr/share/fluxbox/styles) [end] [submenu] (User Styles) {Choose a style...} [stylesdir] (~/.fluxbox/styles) [end]
Slit
Fluxbox,WindowMaker 和一些轻量的窗口管理器都有 "Slit",可以是所有程序 "dock" 化。一个 "dock" 化的程序可以锚定在任何工作区上,可以被轻松移动,并且不受任何窗口操作的影响,它基本上是一个小部件,将时钟,系统监视器,天气等 "dock" 化非常有用。参阅 dockapps.net。
自启动程序
Fluxbox 本身提供了自启动程序的功能。~/.fluxbox/startup
文件是一个像启动 Fluxbox 一样自启动应用程序的脚本。#
标记是注释。
一个简单的例子:
fbsetbg -l # sets the last background set, very useful and recommended. # In the below commands the ampersand symbol (&) is required on all applications that do not terminate immediately. # Failure to provide them will cause Fluxbox not to start. idesk & xterm & # exec is for starting Fluxbox itself, do not put an ampersand (&) after this or Fluxbox will exit immediately. exec /usr/bin/fluxbox # or if you want to keep a log, uncomment the below command and comment out the above command: # exec /usr/bin/fluxbox -log ~/.fluxbox/log
其他菜单
上面的 "菜单管理" 章节讨论了主要菜单。这些菜单在 Fluxbox 行话中称为"根"菜单。Fluxbox 也为用户提供了一些其他的菜单。
- 工作区菜单:在桌面上点击鼠标中键。
- 配置菜单:位于"根"菜单的 "Fluxbox" 部分。
- 窗口菜单:在任何窗口或者最小化窗口的标题栏右击鼠标。可以编辑窗口菜单。参阅 fluxbox-menu man page。
- 工具栏菜单:在工具栏空白部分右击鼠标。也在配置菜单的子菜单中。
- Slit 菜单:在配置菜单的子菜单中。
桌面效果
想要在 Fluxbox 开启桌面效果—透明或者阴影,需要安装 X compositor,例如 Xcompmgr 或者 Compton。
通知
在 Fluxbox 中开启桌面通知,需要安装通知服务器。参阅 desktop notifications。
没有 xorg.conf 文件后的 Xorg 配置
Xorg 不再需要 xorg.conf 文件了,以前在 xorg.conf 文件中所做的关于键盘和省电模式的设定可以通过以下方式调整。
在 Fluxbox 中设定键盘布局
将以下行添加到 ~/.fluxbox/startup
文件中:
setxkbmap us -variant intl & # 在 us 键盘中添加特殊字符支持 (类似 éóíáú)
可以添加自己的语言代码来代替 'us',并且移除 'variant' 选项。参阅 setxkbmap 手册页来获得更多选项。
在 ~/.fluxbox/menu
文件中添加以下行来获得菜单中帮助功能:
[submenu] (Keyboard) [exec] (normal) {setxkbmap us} [exec] (international) {setxkbmap us -variant intl} [end]
参阅
- Fluxbox Homepage
- Fluxbox wiki
- Gentoo Wiki about Fluxbox
- Themes for Fluxbox
- Narada's Fluxbox Guide
- The Fluxbox man pages: fluxbox, fluxbox-menu, fluxbox-style, fluxbox-keys, fluxbox-apps, fluxbox-remote, fbsetroot, fbsetbg, fbrun, startfluxbox.
- Arch Linux Fluxbox screenshots