歡迎您光臨本站 登入註冊首頁

Ubuntu Linux下安裝配置fluxbox桌面環境

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

安裝

基本系統Ubuntu 7.10 Gutsy,Xfce桌面.直接安裝源里的fluxbox:

aptitude install fluxbox

版本1.0.0-1,大小隻有1058k.安裝完成後,檢查一下/usr/share/xsessions/fluxbox.desktop文件,裡面已經有Exec=/usr/bin/startfluxbox,不用修改了.重啟X,(應該會自動創建~/.fluxbox/startup配置文件.

在X登錄界面,Sessions選擇Fluxbox,並設置為默認session.輸入用戶名密碼進入系統之後,只看見一個光板的桌面,下面有一條工具欄,想截屏來著,可按PrintScreen鍵沒反應,作罷.不過說真的,進入桌面的速度真的很快.工具欄上點右鍵可以調出工具欄的設置,桌面上點中鍵可以調出虛擬桌面的設置,但在桌面上點右鍵沒反應,原來是fluxbox默認配置的問題( 害我瞎折騰半天).

菜單

fluxbox安裝完成後默認的菜單配置文件~/.fluxbox/menu內容如下:

[begin] (fluxbox)

[include] (/etc/X11/fluxbox/fluxbox-menu)

[end]

而include的這個菜單文件根本就不存在,所以就沒有菜單出現嘍.現在我來手工加點內容吧:

[begin] (fluxbox)

[exec] (Firefox) {/usr/bin/firefox}

[exec] (Bash) {x-terminal-emulator -T "Bash" -e /bin/bash --login}

[include] (/etc/X11/fluxbox/fluxbox-menu)

[end]

現在,不用重啟或重開X,在桌面上點右鍵,怎麼樣,一個小小的菜單出來了吧,內容只有兩項:Bash和Firefox,選中後會打開相應的程序.不過真要這樣一個一個的把菜單配置全可就累死了,本來fluxbox自帶一個菜單生成程序fluxbox-generate_menu的,但在Gutsy中沒有,雖然它只是一個腳本,可以自己去下載一個單獨用,不過手動一下:

sudo update-menus

然後再重啟Fluxbox就好了,根據當前系統中原有桌面系統(比如Gnome、Xfce)軟體安裝情況,自動把menu項建好了,生成了剛才缺少的/etc/X11/fluxbox/fluxbox-menu這個文件.

利用這種方式,或者使用fluxbox-generate_menu的好處就是可以隨系統中軟體安裝情況變化,再搭配個人的一些優化設置,使用起來就更順手了.

關機與重啟

Fluxbox菜單中的restart和exit分別對應"重啟窗口管理器"和"退出X,回到GDM界面",沒有直接關機或重啟的選項,需要自己手工添加:

[submenu]

[exec] (Reboot System) {sudo /sbin/shutdown -r now}

[exec] (Reboot System) {sudo /sbin/reboot} #和上面一句作用相同

[exec] (Shutdown System) {sudo /sbin/shutdown -h now}

[end]

先別著急用,命令不都帶著sudo了么,還要賦予用戶不需密碼就能夠使用/sbin/shutdown的許可權,修改/etc/sudoers,添加:

Cmnd_Alias REBOOT = /sbin/reboot

Cmnd_Alias SHUTDOWN = /sbin/shutdown

fwolf ALL=(ALL) NOPASSWD: REBOOT, SHUTDOWN

再調用關機或重啟,雖然使用到sudo,也不再需要輸入密碼,而是直接就執行了.(參考1, 參考2)

如果一定要需要用戶輸入自己的密碼才能關機的話,也是可以實現的,那就是通過shell來執行sudo,在新開的shell窗口中會提示用戶輸入sudo時的密碼,輸入密碼不正確時就拒絕執行sudo了,比如這樣(參考):

[exec] (Shutdown) {konsole -T "Shutdown" -e sudo shutdown now -h}

[exec] (Shutdown) {gnome-terminal -t "Shutdown" -e "sudo shutdown now -h"}

[exec] (Shutdown) {xfce4-terminal -t "Shutdown" -e "sudo shutdown now -h"}

掛起與休眠

安裝hibernate,源里有的,然後用root命令運行hibernate或者hibernate-disk就是休眠(信息寫入磁碟,不耗電),運行hibernate-ram就是掛起(信息寫入內存,會耗一點點的電).如果運行了gnome-power-manager(在狀態欄上會有電池圖標),就可以設定合上筆記本時就休眠.菜單項和sudoers文件的修改和上面的關機和重啟一樣:

Cmnd_Alias SUSPEND = /usr/sbin/hibernate-ram

Cmnd_Alias HIBERNATE = /usr/sbin/hibernate-disk

fwolf ALL=(ALL) NOPASSWD: REBOOT, SHUTDOWN, SUSPEND, HIBERNATE

感覺掛起沒有休眠好用,有時候從掛起狀態恢復時會死掉,得重啟X.

rxvt-uincode的daemon模式

超節省資源的fluxbox當然要搭配同樣節省資源的rxvt-unicode來使用才更好,rxvt-unicode的daemon模式就更好了,可以在菜單中這樣配置:

[exec] (rxvt-unicode) {urxvtc "$@"; if [ $? -eq 2 ]; then urxvtd -q -o -f; urxvtc "$@"; fi}

這樣就可以自動啟動守護程序urxvcd了(參見官方文檔).使用中rxvt-unicode到gedit或者scribes這樣的程序粘貼內容有點問題,Ctrl-V不管用,不過用滑鼠中鍵可以粘貼過來,而Shift Insert只在rxvt-unicode里起作用. 也有人說可以用autocutsel來同步兩個剪貼板.

其它設置

快捷鍵

快捷鍵設置的默認定義文件為$HOME/.fluxbox/keys,注意Mod1代表Alt, Control代表Ctrl, Mod4代表Windows鍵,Mouse2是滑鼠中鍵,Mouse4、5則是滑鼠滾輪下滾、上滾.比如音量調節:

Control Mod1 Up :Exec amixer sset Master 1 unmute

Control Mod1 Down :Exec amixer sset Master 1- unmute

Control Mod1 Left :Exec amixer sset Master mute

界面字體

默認設置下,如果菜單中有中文,那麼配置完成後只能看見兩個小方框,這並不是說fluxbox菜單不支持中文,而是字體沒設置好.其它窗口標題欄等地方的中文也是類似的情況.可以在$HOME/.fluxbox/overlay文件中設置字體、字型大小的選項(這個文件的本來作用是定義Style切換中的保留設置),比如如下的內容:

# 菜單標題的字體

menu.title.font: Simsun-10

# 菜單組標題的對齊方式

menu.title.justify: center

# 菜單項目的字體

menu.frame.font: Simsun-10

# 菜單項目的對齊方式

menu.frame.justify: left

# 窗口標題欄文字的字體

window.font: Simsun-10

# 窗口標題欄文字的對齊方式

window.justify: center

# 窗口標題聚焦時的背景顏色|5/5/f

window.label.focus.color: rgb:4e/8f/cf

window.label.focus.colorTo: rgb:4e/8f/cf

# 時鐘的字體

toolbar.clock.font: Simsun-10

# 工作區名稱的字體

#toolbar.workspace.font: Simsun

# 圖標欄的字體

toolbar.iconbar.focused.font: Simsun-10

toolbar.iconbar.unfocused.font: Simsun-10

字體名稱後面-11為字體大小,再後面跟:bold表示黑體顯示,中間都沒有空格.

自啟動程序

自啟動程序可以在$HOME/.fluxbox/startup中配置,寫在exec /usr/bin/fluxbox一句的前面,並且**一定要在後面加上表示後台運行的&符號.比如為了優化GTK程序的運行,可以加上:

GSDPID=`pidof gnome-settings-daemon`

if [ "x$GSDPID" == "x" ]; then

gnome-settings-daemon &

fi

gnome-power-manager

gnome-volume-manager -daemon=yes &

gnome-power-manager是電源管理程序,用來管理筆記本的電源,台式機可以不用;gnome-volume-manager則是卷管理器,只有載入了它,插入u盤或者移動硬碟之後才能自動掛載.

程序屬性apps

$HOME/.fluxbox/apps這個文件我還是第一次見過,它可以定義窗口的各項屬性,比如:

[app] (name=xfce4-terminal)

[Position] (LOWERLEFT) {0 55}

[end]

[group]

[app] (name=urxvt) (class=URxvt)

[Position] (LOWERLEFT) {0 25}

[end]

第一個[app]是定義了程序xfce4-terminal啟動時的窗口位置為相對於屏幕左下角0,55的坐標,這樣每次啟動程序的時候就不用再手工移動窗口到自己舒服的位置了.fluxbox沒有gnome那樣窗口自動dock到屏幕邊緣的功能,這算是另外一種方式的補充.

第二個[group]則是定義在本group範圍之內的app,啟動之後自動tab到一起,tab是fluxbox的特有功能,有點類似xfce4-terminal或gnome-terminal開多個tab的功能(我也正是利用這點來模擬rxvt-unicode的多tab),這樣打開多個rxvtc的時候,就自動tab到一個窗口去了,不用再手工按滑鼠中鍵把一個標題欄拖到另外一個標題欄上.如果再在keys文件中配上Ctrl PageDown切換到下一個Tab的功能:

Control Prior :PrevTab

Control Next :NextTab

多Tab shell窗口功能就近乎完美了,幾乎可以完全淘汰xfce4-terminal了(字體顏色設置上還略有些不太習慣)(這樣還把xfce4-terminal自身的tab切換功能給屏蔽了,調成用Mod1/Alt來組合也不錯).如果你想,在group中加上其它程序也是可以的.

apps文件很重要,不過如果手工在設定窗口保存屬性的話,會被系統自動改寫,為了保存手工編寫代碼的美觀性,可以把這個文件的屬性設置為444,編輯時再用w!強行寫入.

桌面圖片隨機輪換

這一點簡直太適合我了,我就喜歡設定一個目錄,用裡面的圖片隨機作為桌面,只需要把下面這個命令仍到crontab里就可以了:

env DISPLAY=":0.0" fbsetbg -F -R /path/to/your/wallpaper/

注意這個目錄中不能有非圖片文件.記得安裝feh,雖然不裝的話也能用,裝上以後圖片顯示速度和拉伸效果都更好一些.


[火星人 ] Ubuntu Linux下安裝配置fluxbox桌面環境已經有723次圍觀

http://coctec.com/docs/linux/show-post-56723.html