Ubuntu 17.04 XFCE4
當我登入電腦時,Control+R 在所有程式中都有效。然而,一段時間後(通常是在一段不活動之後,即使電腦從不休眠,顯示器也會關閉),它會停止在所有程式中工作(例如Chrome 和PHPStorm 都不會回應它,但它通常會觸發的相應操作)這些程序在從選單啟動時可以工作)。所有其他快捷鍵都工作正常,似乎只有 Control+R 受到影響。
在系統「鍵盤」設定中,沒有與該組合綁定的應用程式捷徑。
我已經運行了 xev 並驗證了組合工作時和不工作時的輸出是相同的。
要修正該問題,我所要做的就是登出並重新登入 - 不需要重新啟動系統。
由於系統正在識別擊鍵,但沒有應用程式對其做出回應,我假設某些正在運行的進程正在劫持此組合,但我不知道如何找出是哪個應用程式。
答案1
來自 Unix.SE 的回答作者:don_crissti。若要傳送Ctrl+r組合,請使用"ctrl+r"
,例如xdotool key "ctrl+r"
。
要找出哪個應用程式/程式取得了您的金鑰,請使用偵錯鍵符號XF86LogGrabInfo
。用於同時xdotool
按 + 鍵,例如在終端運行中XF86LogGrabInfo
KEY=XF86AudioPlay
xdotool keydown ${KEY}; xdotool key XF86LogGrabInfo; xdotool keyup ${KEY}
然後使用tail /var/log/Xorg.0.log
Note that with 檢查輸出,gnome 3/gdm
並且systemd
this 不再記錄到Xorg.0.log
(而是記錄到雜誌)。在這種情況下你可以運行
journalctl -f
然後在另一個終端機中運行xdotool
命令。切換到第一個終端,你會看到類似的內容
/usr/lib/gdm/gdm-x-session[629]: Active grab 0x40c0a58e (xi2) on device 'Virtual core keyboard' (3):
/usr/lib/gdm/gdm-x-session[629]: client pid 708 /usr/bin/gnome-shell
/usr/lib/gdm/gdm-x-session[629]: at 32595124 (from passive grab) (device frozen, state 6)
/usr/lib/gdm/gdm-x-session[629]: xi2 event mask for device 3: 0xc000
/usr/lib/gdm/gdm-x-session[629]: passive grab type 2, detail 0xac, activating key 172
在上面的例子中,取得金鑰的程式(客戶端)是gnome-shell
。