使用Fluxbox桌面作為你的窗口管理器
本文是 24 天 Linux 桌面特別系列的一部分。Fluxbox 對系統(tǒng)資源的占用非常輕量,但它擁有重要的 Linux 桌面功能,讓你的用戶體驗輕松、高效、快捷。
桌面的概念可謂是仁者見仁智者見智。很多人把桌面看作一個家的基地,或者一個舒適的客廳,甚至是一個字面意義上的桌面,在其中放置著他們經(jīng)常使用的記事本、最好的筆和鉛筆,還有他們最喜歡的咖啡杯。KDE、 GNOME、Pantheon 等等在 Linux 上提供了這種舒適的生活方式。
但是對一些用戶來說,桌面只是一個空蕩蕩的顯示器空間,這是還沒有任何可以自由浮動的應(yīng)用程序窗口直接投射到他們的視網(wǎng)膜上的副作用。對于這些用戶來說,桌面是一個空的空間,他們可以在上面運行應(yīng)用程序 —— 無論是大型辦公軟件和圖形套件,還是一個簡單的終端窗口,或是來管理服務(wù)的托盤小程序。這種操作 POSIX 計算機(jī)的模式由來已久,該家族樹的一支是 *box 窗口管理器:Blackbox、Fluxbox 和 Openbox。
Fluxbox 是一個 X11 系統(tǒng)的窗口管理器,它基于一個較老的名為 Blackbox 的項目。當(dāng)我發(fā)現(xiàn) Linux 時,Blackbox 的開發(fā)已進(jìn)入衰退期,因此我就喜歡上了 Fluxbox ,此后我至少在一個以上的常用的系統(tǒng)上使用過它。它是用 C++ 編寫的,并在 MIT 開源許可證下授權(quán)。
安裝 Fluxbox
你很可能會在你的 Linux 發(fā)行版的軟件庫中找到 Fluxbox,但是你也可以在 Fluxbox.org 上找到它。如果你正在運行另外一個桌面,在同一個系統(tǒng)上安裝 Fluxbox 是安全的,因為 Fluxbox 不會預(yù)設(shè)任何配置或附帶的應(yīng)用程序。
在安裝 Fluxbox 后,注銷你當(dāng)前的桌面會話,以便你可以登錄一個新的桌面會話。默認(rèn)情況下,你的桌面會話管理器 (KDM、GDM、LightDM 或 XDM,取決于你的安裝設(shè)置) 將繼續(xù)讓登錄到之前的桌面,所以你在登錄前必需要覆蓋上一個桌面。
使用 GDM 覆蓋一個桌面:
在 GDM 中選擇你的桌面會話
或者使用 KDM:
使用 KDM 選擇你的桌面會話
配置 Fluxbox 桌面
當(dāng)你第一次登錄到桌面時,屏幕基本是空的,因為 Fluxbox 提供的所有東西是面板(用于任務(wù)欄、系統(tǒng)托盤等等)和用于應(yīng)用程序窗口的窗口裝飾品。
在 CentOS 7 上的默認(rèn) Fluxbox 配置
如果你的發(fā)行版提供一個簡單的 Fluxbox 桌面,你可以使用 feh
命令(你可能需要從你的發(fā)行版的軟件庫中安裝它)來為你的桌面設(shè)置背景。這個命令有幾個用于設(shè)置背景的選項,包括使用你選擇的墻紙來填充屏幕的 --bg-fill
選項,來按比例縮放的 --bg-scale
等等選項。
$ feh --bg-fill ~/photo/oamaru/leaf-spiral.jpg
應(yīng)用主題的 Fluxbox
默認(rèn)情況下,F(xiàn)luxbox 自動生成一個菜單,在桌面上任意位置右鍵單擊可用該菜單,這給予你訪問應(yīng)用程序的能力。根據(jù)你的發(fā)行版的不同,這個菜單可能非常小,也可能列出 /usr/share/applications
目錄中的所有啟動程序。
Fluxbox 配置是在文本文件中設(shè)置的,這些文本文件包含在 $HOME/.fluxbox
目錄中。你可以:
- 在
keys
中設(shè)置鍵盤快捷鍵 - 在
startup
中啟動的服務(wù)和應(yīng)用程序 - 在
init
設(shè)置桌面首選項(例如工作區(qū)數(shù)量、面板位置等等) - 在
menu
中設(shè)置菜單項
該文本配置文件非常易于推斷,但是你也可以(并且是應(yīng)該)閱讀 Fluxbox 的文檔。
例如,這是我的典型菜單(或者說至少有它的基本結(jié)構(gòu)):
# 為使用你自己的菜單,復(fù)制這些文本到 ~/.fluxbox/menu,然后編輯
# ~/.fluxbox/init ,并更改 session.menuFile 文件路徑到 ~/.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]
## 更改窗口管理器或工作環(huán)境
[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]
該菜單也提供一些首選項設(shè)置,例如,選擇一個主題,從 Fluxbox 會話中重啟或注銷的能力。
我使用鍵盤快捷鍵來啟動大多數(shù)的應(yīng)用程序,這些快捷鍵寫入到 keys
配置文件中。這里有一些示例(Mod4
按鍵是 Super
鍵,我使用其來指定全局快捷鍵):
# 打開應(yīng)用程序
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
在這些快捷方式和一個打開的終端之間,在我工作日的大部分時間內(nèi)很少使用鼠標(biāo),因此從一個控制器切換到另一個控制器不會浪費時間。并且因為 Fluxbox 很好地避開了控制器之間切換的方法,因此在其中操作沒有一絲干擾。
為什么你應(yīng)該使用 Fluxbox
Fluxbox 對系統(tǒng)資源的占用非常輕量,但是它擁有重要的功能,可以使你的用戶體驗輕松、快速、高效。它很容易定制,并且允許你定義你自己的工作流。你不必使用 Fluxbox 的面板,因為還有其它優(yōu)秀的面板。你甚至可以鼠標(biāo)中鍵點擊并拖動兩個獨立的應(yīng)用程序窗口到彼此之中,以便它們成為一個窗口,每個窗口都有自己的選項卡。
可能性是無窮的,所以今天就在你的 Linux 上嘗試一下 Fluxbox 的簡單穩(wěn)定吧!