Keyboard

使用 xmodmap 在 GNOME3.8 上重新映射鍵?

  • July 13, 2018

我想重新映射鍵盤上的一些鍵,特別是:向上翻頁鍵到首頁和向下翻頁到結尾。

在以前版本的 GNOME 3 上,我剛剛創建了一個.xinitrc文件,其中包含:

cat .xinitrc 
xmodmap -e "keycode  117 = End"
xmodmap -e "keycode  112 = Home"

僅此而已。

在 GNOME 3.8.4 上,此文件無效,我必須手動:bash .xinitrc,此外xmodmap,當我重新啟動 gnome shell 時設置會失去(我有時會因為GNOME 3 錯誤而這樣做),並且有時還會虛假失去。

使用 GNOME 3.8 時重新映射鍵的正確方法是什麼?

登錄期間的採購命令

我沒有嘗試過任何一個文件.xinitrc.xsession文件來執行此操作,但我使用登錄時執行的自定義啟動器完成了它。您可以通過多種方式訪問允許您執行此操作的對話框,我通常只是像這樣從命令行啟動它。

$ gnome-session-properties

GUI 看起來像這樣。

                    gnome 會話道具的 ss

從這裡您可以創建自己的自定義啟動啟動器,然後將它們指向包含您需要呼叫的任何命令的 shell 腳本。在這裡,我創建了我自己的 Dropbox 啟動器腳本,該腳本在我登錄時執行。

映射鍵以執行命令

另一方面,如果您希望創建將啟動命令的快捷鍵組合,我已經成功地為此目的在 GNOME 3.8.4 上使用了 XBindKeys 。

我的使用範圍不大,但我喜歡為 Nautilus 創建鍵盤快捷鍵,以便在打開某些目錄的情況下啟動。

例子

您需要首先確保xbindkeys已安裝軟體包。

然後,您只需執行一次以下命令即可創建模板xbindkeys配置文件。

$ xbindkeys --defaults > /home/saml/.xbindkeysrc

創建文件後,您可以在文本編輯器中打開它並添加如下規則:

"nautilus --browser /home/saml/projects/path/to/some/dir"
 Mod4+shift + q

進行上述更改後,xbindkeys如果它已經在執行,我們需要將其終止,然後重新啟動它。

$ killall xbindkeys
$ xbindkeys

現在,只要我鍵入Mod+ Shift+ QNautilus 就會打開並打開相應的文件夾。

為什麼沒有 .xsession 或 .xinit 獲取資源

我相信最終的問題在於這篇文章,標題為:使用 Gnome 快速設置 Awesome。它討論了讓 GDM(GNOME 的顯示管理器)載入這些文件的方法,這對我來說意味著預設情況下它不會。

我的 Fedora 19 系統包含這個文件:/usr/share/xsessions/gnome.desktop其中包含以下幾行:

Exec=gnome-session
TryExec=gnome-session
Icon=
Type=Application

.xsession我相信 gnome-session預設情況下不會獲取您的文件,.xinit如果您使用startx.

請務必仔細閱讀標題為:with GDM的部分,其中詳細說明了這一點。

參考

如果其他人偶然發現這一點,請在此處進行適當討論:https ://bugzilla.redhat.com/show_bug.cgi?id=873656

不幸.xmodmap的是,Gnome 3 不再支持,也不再支持。

使用者應該將他們的配置遷移到xkb.

引用自:https://unix.stackexchange.com/questions/107434