http://www.leninlee.cn/?p=106
在Windows下用鍵盤操做系統永遠是一個夢,可是在Linux下就能夠優美的解決這個問題,使用熱鍵的好處不言而喻,它能夠極大地提升工做效率。到了高潮,讓你有種欲仙欲死的感受,能夠說酣暢淋漓、行雲流水,操做也變成了拇指的舞蹈。 vim
幾乎每種桌面環境或窗口管理器都有一套本身的熱鍵定義體系,若是須要在多個桌面環境或窗口管理器之間切換工做的話每一個都要定義一套本身的熱鍵,工做 繁瑣且重複得毫無心義。xbindkeys是一個獨立的熱鍵管理定義工具,可使多個環境共用一套熱鍵,並且xbindkeys的語法簡單明瞭,很是容易 上手。bash
下面是我定義的一套快捷鍵,定義熱鍵的方法是編輯主目錄下的「.xbindkeysrc」文件:工具
#—————————–【運行程序】————————————-
「gnome-terminal」
alt+grave
「grun」
F1
「opera」
alt+w
「nautilus –no-desktop」
Mod4+q
「stardict」
control+Mod4+s
「gaim」
control+Mod4+g
「rox」
Mod4+r
「banshee」
control+Mod4+b
「firefox」
control+Mod4+f
「liferea」
control+Mod4+l
「wxmaxima」
control+Mod4+c
「krusader」
control+Mod4+k
「/opt/MultiGet/MultiGet」
control+Mod4+m
「kfind」
control+Mod1+f
「gnome-terminal -e htop」
control+Mod4+Delete
「gnome-system-monitor」
control+Mod1+Delete
#—————————–【桌面操做】————————————-
#屏幕截圖
「ksnapshot」
control+Mod2+Print
「ksnapshot -c」
alt+Mod2+Print#清空回收站
「rm -r ~/.Trash/*」
Mod4+espa#鎖屏
「xscreensaver-command –lock」
Mod4+l操作系統#打開光驅
「eject&」
Mod1 + F12firefox#音量 +5%
「amixer sset Master 1+ unmute」
control + Uprest#音量 -5%
「amixer sset Master 1- unmute」
control + Downorm#靜音
「amixer sset Master mute」
control + Mod1 + q
#——————————————————————————
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
#——————————————————————————事件
很顯然,每一個熱鍵包括兩行,第一行用雙引號括起來的部分是要執行的程序的完整路徑(正常狀況下安裝(沒有自定義安裝路徑)的程序不須要輸入路徑),而後第二行是對應的快捷鍵。terminal
xbindkeys對應的一些比較特殊的快捷鍵以下,括號外是能夠直接寫在配置文件裏面的名稱,括號內是對應的鍵盤上的鍵名:
Release(彷佛是個事件吧,我不太清楚這是個什麼東西,通常也用不到), control(Ctrl), shift(Shift), Mod1 (Alt), Mod2 (NumLock), Mod3 (CapsLock), Mod4(Windows徽標鍵), Mod5 (Scroll)。
默認狀態下,xbindkeys對如下三個鍵不敏感,也就是使用它們做熱鍵的話不論這些鍵會產生什麼系統事件,該熱鍵都會獲得執行。若是設置成敏 感,則在這些鍵產生一些事件的時候,該熱鍵不會獲得執行。我試了一下,綁定Num_Lock鍵到stardict,設置成敏感的時候,該鍵對應的燈由暗變 亮的那次擊鍵能夠執行stardict,由亮變暗的那次擊鍵就不會執行。若是設置成不敏感,則不管任什麼時候候該鍵都是能夠執行熱鍵的。不過說實話,我沒看出 來這有什麼用。
這三個鍵是:NumLock, CapsLock and ScrollLock.
在上面的配置文件中去掉與這三個鍵對應的設置前面的#號時就表示設置爲敏感,加上#號表示不敏感。
另外,在終端中鍵入命令:
xbindkeys -k
來調出一個窗口,在你按了鍵盤上的某一個或多個鍵後將這些鍵的名字打印到屏幕上,以方便不知道要設置的熱鍵的真實名字的用戶。它比系統自帶的一樣功能的工具「xev」好的地方在於後者的提示信息複雜且只能針對一個按鍵,而前者能夠顯示組合鍵。
因爲熱鍵常常須要進行修改,每次都鍵入這樣的命令有些麻煩,故能夠定義系統命令的別名,以縮短這些命令,這是Linux的一個很重要的技巧:
sudo vim /etc/bash.bashrc
在最下方,加上這樣幾句:
alias mhk=’vim ~/.xbindkeysrc’
alias thk=’xbindkeys -k’
alias rhk=’pkill xbindkeys && xbindkeys &’
alias shk=’xbindkeys_show’
mhk,thk,rhk,shk分別是「modify hotkeys」,「test hotkeys」,「restart hotkeys」,「show hotkeys」的簡稱,你也能夠換成任何喜歡的名字,保存退出後,從新啓動終端,你就可使用這些別名來執行後面對應的命令了。
每次執行mhk以後,若是對熱鍵進行了更改,這些更改並不會當即生效,因此須要從新啓動xbindkeys,這時就要執行rhk了,若是窨的熱鍵太多,忘了某些鍵設置了,能夠執行shk來查看都是定義了哪些熱鍵。