我在一台旧服务器上运行 16.04 和 LXDE。图形效果显然不是很好(8MB 板载图形),所以我用它x2go
来转发我的 xsession 超过 10 100 1000。问题是按键(例如alt+ tab、ctrl+ alt+right等)没有绑定到应用程序,因此不是切换应用程序之内x2go,它从 x2go 应用程序切换到客户端机器上的下一个打开的程序。
我如何才能将所有击键(甚至更好,排除一个击键)绑定到单个应用程序?
客户端计算机运行的是 Unity。主机(我通过 x2go 发送会话的计算机)运行的是 LXDE。
答案1
禁用 Unity 快捷方式
安装
ccsm
sudo apt-get install compizconfig-settings-manager
进入桌面类别 → Ubuntu Unity 插件 → 切换器选项卡
单击每个快捷方式,取消选中“启用”,然后单击“确定”
转至桌面类别 → 桌面墙 → 绑定选项卡
同样的方法,禁用您想要的快捷方式。
关闭
ccsm
,关闭后立即生效。
ccsm
快捷方式优先于系统设置中的自定义快捷方式。您可以使用它dconf
来查看使用 GUI 执行上述步骤时更改的底层设置。
$ dconf watch /
/org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev
'Disabled'
/org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev
'Disabled'
/org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward
unset
/org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward
unset
因此最好制作一个包装脚本来禁用 unity 切换器快捷方式,启动 x2goclient,然后在关闭 x2goclient 后重新启用它们。
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev "'Disabled'"
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward "'Disabled'"
...
x2goclient
dconf reset /org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev
dconf reset /org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward
...
禁用 LXDE 快捷方式
对某些人来说可能有用的旧答案。
您提到的快捷方式属于 OpenBox。它是使用 Lubuntu 的预定义设置启动的。(至少对于 Lubuntu 14.04 来说是这样)。
~$ pgrep -a openbox
4772 openbox --config-file /home/lubuntu/.config/openbox/lubuntu-rc.xml
我们应该将它们与 OpenBox 或任何已经绑定它们的工具解除绑定。
打开其配置文件进行编辑
leafpad ~/.config/openbox/lubuntu-rc.xml
然后使用 XML 注释标签注释掉您想要的快捷方式
<!-- -->
或者删除它们。
新的自定义快捷方式转发至 x2goclient
之后使用wmctrl
&设置全局快捷方式以将快捷方式转发到 x2goclient 窗口xvkbd
。
系统设置 → 键盘 → 快捷键选项卡
使用命令添加新的自定义快捷方式
bash -c 'wid=$(wmctrl -l | awk "/X2Go Client/ {print $1; exit}"); echo $wid; if [ "$wid" ] ; then xvkbd -window $wid -xsentevent -text "\A\t"; fi'
为了AltTab