Linux-Mint
有沒有辦法使用 bash 腳本中的新設置重新啟動 XFCE?
我的筆記型電腦執行的是 Linux Mint 17 XFCE 版本,我正在嘗試對其進行設置,以便可以將 Emacs 與我常用的鍵綁定一起使用。其中包括某些涉及 Alt-Tab 的自動完成/填充命令,目前作業系統的 Alt-Tab 和 Shift-Alt-Tab 應用程序切換器會攔截我嘗試使用的任何命令,包括這些鍵。
我希望能夠執行某種監視腳本來檢測 Emacs 何時執行(或聚焦,甚至),禁用 Alt-Tab 和 Shift-Alt-Tab 快捷方式,然後在 emacs 不再執行時重置它們。
**我嘗試的解決方案:**根據我在 AskUbuntu 上收到的關於使用 gsettings 的相關問題的精彩回答,我想我會嘗試以下方法:
#!/bin/bash disabled="0" # Track whether or not <Alt>Tab and <Alt><Shift>Tab are currently disabled while true; do isActive=$(wmctrl -lx | awk -v search=$(printf 0x0%x $(xdotool getactivewindow)) -v wm_class="$wm_class" '{ if($1 ~ search && $3 ~ /emacs/) print $3 }') if [[ "$isActive" != "" ]]; then # echo "active" if [[ "$disabled" == "0" ]]; then # echo "disable shortcuts" xfconf-query -c xfce4-keyboard-shortcuts -p "/xfwm4/custom/<Alt>Tab" -s "" xfconf-query -c xfce4-keyboard-shortcuts -p "/xfwm4/custom/<Alt><Shift>Tab" -s "" disabled="1" fi else # echo "not active" if [[ "$disabled" == "1" ]]; then # echo "enable shortcuts" xfconf-query -c xfce4-keyboard-shortcuts -p "/xfwm4/custom/<Alt>Tab" -r xfconf-query -c xfce4-keyboard-shortcuts -p "/xfwm4/custom/<Alt><Shift>Tab" -r disabled="0" fi fi sleep 1 done
雖然這似乎確實設置/重置了相關的鍵綁定設置,但這些設置在我註銷並重新登錄之前不會生效,這有點違背了這個腳本的目的。為了讓 XFCE 在進行更改後處理其鍵綁定設置,我還需要執行一些其他命令嗎?我不應該將鍵綁定設置為空字元串以禁用它們嗎?還是我在這裡缺少其他東西?
我希望/假設有一種方法可以做到這一點而不必註銷/重新登錄,因為這肯定比這裡的價值更麻煩。
提前感謝您提供的任何幫助!
如果未應用這些設置,則您的桌面已損壞。
是
xfsettingsd
跑步和反應嗎?是xfwm4
跑步和反應嗎?加入IRC以獲得實時幫助
在嘗試將我的快捷方式/鍵映射從一個桌面複製到另一個桌面後,我找到了另一種解決方案:
- 跑
killall xfconfd
- 將您的 XFCE 配置文件複製到
/home/$USER/.config/xfce4
- 打開 Keyboard settings > Application Shortcuts ,確保新的快捷方式顯示在那裡,進行任何更改以強制 XFCE 重新載入設置文件,撤消更改(如果需要),那麼現在應該載入新設置。