将所有击键绑定到应用程序

ano*_*us2 6 keyboard shortcut-keys openbox lxde x2go

我在旧服务器上使用 LXDE 运行 16.04。显卡显然不是真棒(8MB板载图形),所以我用x2go超过10 100 1000的问题我转发XSESSION是,按键(如alt+ tabctrl+ alt+ right,等)不绑定到应用程序,所以它不是x2go切换应用程序,而是从 x2go 应用程序切换到客户端机器上的下一个打开的程序。

如何将所有击键(甚至更好,排除一次击键)绑定到单个应用程序?

客户端计算机正在运行 Unity。主机(我通过 x2go 发送会话的计算机)正在运行 LXDE。

use*_*.dz 2

禁用 Unity 快捷方式

\n
    \n
  1. 安装ccsm

    \n
     sudo apt-get install compizconfig-settings-manager\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 转到桌面类别 \xe2\x86\x92 Ubuntu Unity 插件 \xe2\x86\x92 切换器选项卡

    \n

    单击每个快捷方式,取消选中“启用”,然后单击“确定”

    \n
  4. \n
  5. 转到桌面类别 \xe2\x86\x92 桌面墙 \xe2\x86\x92 绑定选项卡

    \n

    同样的方法,禁用您想要的快捷方式。

    \n
  6. \n
  7. 关闭ccsm,关闭后立即生效。

    \n
  8. \n
\n

ccsm快捷方式优先于系统设置中的自定义快捷方式。当您使用 GUI 执行上述步骤时,您可以查看dconf底层设置的更改。

\n
$ dconf watch /\n/org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev\n  'Disabled'\n\n/org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev\n  'Disabled'\n\n/org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward\n  unset\n\n/org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward\n  unset\n
Run Code Online (Sandbox Code Playgroud)\n

因此,最好制作一个包装脚本来禁用 Unity 切换器快捷方式,启动 x2goclient,然后在关闭 x2goclient 后重新启用它们。

\n
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev "'Disabled'"\ndconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward "'Disabled'"\n...\nx2goclient\ndconf reset /org/compiz/profiles/unity/plugins/unityshell/alt-tab-prev\ndconf reset /org/compiz/profiles/unity/plugins/unityshell/alt-tab-forward\n...\n
Run Code Online (Sandbox Code Playgroud)\n
\n

禁用 LXDE 快捷方式

\n

旧答案可能对某些人有用。

\n

你提到的快捷方式属于OpenBox。它是通过 Lubuntu 的预定义设置启动的。(至少 Lubuntu 14.04 是这样)。

\n
~$ pgrep -a openbox\n4772 openbox --config-file /home/lubuntu/.config/openbox/lubuntu-rc.xml\n
Run Code Online (Sandbox Code Playgroud)\n

我们应该将它们与 OpenBox 或任何已经绑定它们的工具解除绑定。

\n
    \n
  1. 打开其配置文件进行编辑

    \n
     leafpad ~/.config/openbox/lubuntu-rc.xml\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 然后使用 XML 注释标记注释您想要的快捷方式<!-- -->\或删除它们。

    \n
  4. \n
\n
\n

新的自定义快捷方式转发至 x2goclient

\n

之后设置全局快捷方式以使用wmctrl&将快捷方式转发到 x2goclient 窗口xvkbd

\n
    \n
  1. 系统设置 \xe2\x86\x92 键盘 \xe2\x86\x92 快捷方式选项卡

    \n
  2. \n
  3. 使用命令添加新的自定义快捷方式

    \n
     bash -c 'wid=$(wmctrl -l | awk "/X2Go Client/ {print $1; exit}"); echo $wid; if [ "$wid" ] ; then xvkbd -window $wid -xsentevent -text "\\A\\t"; fi'\n
    Run Code Online (Sandbox Code Playgroud)\n

    为了AltTab

    \n
  4. \n
\n