使用 Fluxbox 桌面作為你的窗口管理器
桌面的概念可謂是仁者見仁智者見智。很多人把桌面看作一個家的基地,或者一個舒適的客廳,甚至是一個字面意義上的桌面,在其中放置著他們經常使用的記事本、最好的筆和鉛筆,還有他們最喜歡的咖啡杯。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 覆蓋一個桌面:
![在 GDM 中選擇你的桌面會話](/data/attachment/album/202004/07/113402igy9m99zkgeykg90.jpg "Select your desktop session in GDM")
或者使用 KDM:
![使用 KDM 選擇你的桌面會話](/data/attachment/album/202004/07/113404kc77wlcq6wdtp23p.jpg "Select your desktop session with KDM")
配置 Fluxbox 桌面
當你第一次登錄到桌面時,屏幕基本是空的,因為 Fluxbox 提供的所有東西是面板(用於任務欄、系統托盤等等)和用於應用程序窗口的窗口裝飾品。
![在 CentOS 7 上的默認 Fluxbox 配置](/data/attachment/album/202004/07/113406jnwiwdju8p9bwdwf.jpg "Default Fluxbox configuration on CentOS 7")
如果你的發行版提供一個簡單的 Fluxbox 桌面,你可以使用 feh
命令(你可能需要從你的發行版的軟體庫中安裝它)來為你的桌面設置背景。這個命令有幾個用於設置背景的選項,包括使用你選擇的牆紙來填充屏幕的 --bg-fill
選項,來按比例縮放的 --bg-scale
等等選項。
$ feh --bg-fill ~/photo/oamaru/leaf-spiral.jpg
![應用主題的 Fluxbox ](/data/attachment/album/202004/07/113421vzcbzvo72fojczxd.jpg "Fluxbox with a theme applied")
默認情況下,Fluxbox 自動生成一個菜單,在桌面上任意位置右鍵單擊可用該菜單,這給予你訪問應用程序的能力。根據你的發行版的不同,這個菜單可能非常小,也可能列出 /usr/share/applications
目錄中的所有啟動程序。
Fluxbox 配置是在文本文件中設置的,這些文本文件包含在 $HOME/.fluxbox
目錄中。你可以:
- 在
keys
中設置鍵盤快捷鍵 - 在
startup
中啟動的服務和應用程序 - 在
init
設置桌面首選項(例如工作區數量、面板位置等等) - 在
menu
中設置菜單項
該文本配置文件非常易於推斷,但是你也可以(並且是應該)閱讀 Fluxbox 的文檔。
例如,這是我的典型菜單(或者說至少有它的基本結構):
# 為使用你自己的菜單,複製這些文本到 ~/.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]
## 更改窗口管理器或工作環境
[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
鍵,我使用其來指定全局快捷鍵):
# 打開應用程序
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 的簡單穩定吧!
via: https://opensource.com/article/19/12/fluxbox-linux-desktop
作者:Seth Kenlon 選題:lujun9972 譯者:robsean 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive