使用 Fluxbox Linux 桌面作为你的窗口管理器

本文是 Linux 桌面的 24 天特别系列文章的一部分。 Fluxbox 非常节省系统资源,但它具有重要的 Linux 桌面功能,使你的用户体验轻松、高效且极其快速。
201 位读者喜欢这篇文章。
Text editor on a browser, in blue

桌面的概念可能因计算机用户而异。许多人将桌面视为基地、舒适的起居室,甚至是放置常用笔记本、最好的钢笔和铅笔以及最喜欢的咖啡杯的字面意义上的桌面。 KDE、GNOME、Pantheon(等等)在 Linux 上提供了那种舒适感。

但对于某些用户来说,桌面只是空的显示器空间,这是尚未将任何自由浮动的应用程序窗口直接投射到视网膜上的副作用。 对于这些用户来说,桌面是一个空白区域,他们可以在其上运行应用程序——无论是大型办公和图形套件,还是简单的终端窗口,或停靠的小程序——来管理服务。 这种操作 POSIX 计算机的模型有着悠久的历史,而该族谱的一个分支是 *box 窗口管理器:Blackbox、Fluxbox 和 Openbox。

Fluxbox 是 X11 系统的窗口管理器,它基于一个名为 Blackbox 的旧项目。 当我发现 Linux 时,Blackbox 的开发正在衰退,所以我转而使用 Fluxbox,并且从那时起我至少在我的一个活动系统上使用了它。 它用 C++ 编写,并根据 MIT 开源许可证获得许可。

安装 Fluxbox

你很可能会在你的 Linux 发行版的软件仓库中找到 Fluxbox,但你也可以在 Fluxbox.org 上找到它。 如果你已经运行了不同的桌面,那么在同一系统上安装 Fluxbox 是安全的,因为 Fluxbox 不会预先确定任何配置或随附的应用程序。

安装 Fluxbox 后,注销你当前的桌面会话,以便你可以登录到新的会话。 默认情况下,你的会话管理器(KDM、GDM、LightDM 或 XDM,具体取决于你的设置)将继续让你登录到之前的桌面,因此你必须在登录前覆盖它。

使用 GDM 覆盖桌面

Select your desktop session in GDM

或使用 SDDM

Select your desktop session with KDM

配置 Fluxbox 桌面

当你首次登录时,屏幕大部分是空白的,因为 Fluxbox 仅提供面板(用于任务栏、系统托盘等)和应用程序窗口的窗口装饰。

Default Fluxbox configuration on CentOS 7

如果你的发行版提供纯粹的 Fluxbox 桌面,你可以使用 feh 命令为你的桌面设置背景(你可能需要从你的发行版的仓库安装它)。 此命令有一些用于设置背景的选项,包括 --bg-fill 以使用你选择的壁纸填充屏幕,--bg-scale 以缩放它以适应等等。

$ feh --bg-fill ~/photo/oamaru/leaf-spiral.jpg

Fluxbox with a theme applied

默认情况下,Fluxbox 会自动生成一个菜单,通过在桌面上的任何位置单击鼠标右键即可访问该菜单,该菜单使你可以访问应用程序。 根据你的发行版,此菜单可能非常简洁,也可能列出你的 /usr/share/applications 目录中的所有启动器。

Fluxbox 配置在文本文件中设置,这些文本文件包含在 $HOME/.fluxbox 目录中。 你可以

  • keys 中设置键盘快捷键
  • startup 中设置启动服务和应用程序
  • init 中设置桌面首选项(例如工作区数量、面板位置等)
  • menu 中设置菜单项

文本配置文件很容易逆向工程,但你也可以(并且应该)阅读 Fluxbox 文档

例如,这是我的典型菜单(或至少是它的基本结构)

# to use your own menu, copy this to ~/.fluxbox/menu, then edit
# ~/.fluxbox/init and change the session.menuFile path to ~/.fluxbox/menu

[begin] (fluxkbox)
 [submenu] (apps) {}
  [submenu] (txt) {}
   [exec] (Emacs 23 (text\)) { x-terminal-emulator -T "Emacs (text)" -e /usr/bin/emacs -nw} <>
   [exec] (Emacs (X11\)) {/usr/bin/emacs} <>
   [exec] (LibreOffice) {/usr/bin/libreoffice}
  [end]
  [submenu] (code) {}
   [exec] (qtCreator) {/usr/bin/qtcreator}
   [exec] (eclipse) {/usr/bin/eclipse}
  [end]
  [submenu] (graphics) {}
   [exec] (ksnapshot) {/usr/bin/ksnapshot}
   [exec] (gimp) {/usr/bin/gimp}
   [exec] (blender) {/usr/bin/blender}
  [end]
  [submenu] (files) {}
   [exec] (dolphin) {/usr/bin/dolphin}
   [exec] (konqueror) { /usr/bin/kfmclient openURL $HOME }
  [end]
  [submenu] (network) {}
   [exec] (firefox) {/usr/bin/firefox}
   [exec] (konqueror) {/usr/bin/konqueror}
  [end]
 [end]
## change window manager or work env
[submenu] (environments) {}
 [restart] (flux)  {/usr/bin/startfluxbox}
 [restart] (ratpoison)  {/usr/bin/ratpoison}
 [exec] (openIndiana) {/home/kenlon/qemu/startSolaris.sh}
[end]

[config] (config)
 [submenu] (styles) {}
  [stylesdir] (/usr/share/fluxbox/styles)
  [stylesdir] (~/.fluxbox/styles)
 [end]
[workspaces] (workspaces)
[reconfig] (reconfigure)
[restart] (restart)
[exit] (exeunt)
[end]

该菜单还提供了一些首选项设置,例如选择主题以及重启或注销你的 Fluxbox 会话的功能。

我使用键盘快捷键启动大多数应用程序,这些快捷键在 keys 配置文件中输入。 以下是一些示例(Mod4 键是 Super 键,我用它来指定全局快捷键)

# open apps
Mod4 t :Exec konsole
Mod4 k :Exec konqueror
Mod4 z :Exec fbrun
Mod4 e :Exec emacs
Mod4 f :Exec firefox 
Mod4 x :Exec urxvt
Mod4 d :Exec dolphin
Mod4 q :Exec xscreensaver-command -activate
Mod4 3 :Exec ksnapshot

在这些快捷键和一个打开的终端之间,我在大部分工作日几乎不需要鼠标,因此不会浪费时间在控制器之间切换。 并且由于 Fluxbox 始终不碍事,因此几乎没有干扰。

为什么你应该使用 Fluxbox

Fluxbox 非常节省系统资源,但它具有重要的功能,使你的用户体验轻松、高效且极其快速。 它易于自定义,并且允许你定义自己的工作流程。 你不必使用 Fluxbox 的面板,因为还有其他出色的面板。 你甚至可以中间单击并将两个单独的应用程序窗口拖动到一起,使它们变成一个窗口,每个窗口都在自己的选项卡中。

可能性是无限的,所以今天就在你的 Linux 机器上尝试 Fluxbox 的稳定简洁吧!

接下来阅读什么

Pekwm:轻量级 Linux 桌面

本文是 Linux 桌面的 24 天特别系列文章的一部分。 如果你是一个极简主义者,觉得传统桌面会妨碍你,请尝试 Pekwm Linux 桌面。

标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算机行业工作,通常同时进行。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.