14.10 gnome classic metacity 无法将键盘快捷键连接到二进制文件

14.10 gnome classic metacity 无法将键盘快捷键连接到二进制文件

我正在尝试Aero Snap 效果在 Ubuntu 14.10 上使用 Gnome Classic Metacity

我发现一个命令如果在终端窗口中执行就会起作用:

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`

我可以运行它以便sleep 1有时间切换到我想要调整大小的窗口:

sleep 1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`

效果很好。

我还可以将其作为 bash 脚本运行在我的 $HOME/bin/left.sh 和 $HOME/bin/right.sh 中,或者更短,然后Alt+表示左,然后表示右。它也适用于+菜单后面的活动窗口。F2$HOME/bin/aaa$HOME/bin/fffAltF2

现在我想将此命令连接到键盘快捷键。我试过:

System Settings -> Keyboard -> Shortcuts -> Custom Shortcuts -> "Aero Left" - Super+Left

我使用上面的命令行将其链接到/bin/bash /home/myusername/bin/aero_left.sh。但是没有效果。同样,在终端窗口中运行 bash 命令确实有效,但键盘快捷键无效。

事实上,Custom Shortcuts我尝试设置的任何一项都没有发生太多事情:

/usr/bin/mplayer /usr/share/aisleriot/sounds/splat.ogg

or

/bin/bash -c "/usr/bin/mplayer /usr/share/aisleriot/sounds/splat.ogg"

并尝试将其连接到任何类型的键盘组合,但它不起作用......

更新:我试过了xbindkeys,但我的示例都不起作用。仍然不明白为什么它们Custom Shortcuts没有起到什么作用。期待解决方案。

[hpenvy15 ~] $ mkdir ~/bin ; ls -l -d1 ~/bin | wc -l
1
[hpenvy15 ~] $ cat > ~/bin/left.sh
#!/bin/bash
sleep 0.1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,`xwininfo -root | grep Width | awk '{ print (($2/2))}'`,`xwininfo -root | grep Height | awk '{ print $2 }'`
^C
[hpenvy15 ~] $ cat > ~/bin/right.sh
#!/bin/bash
sleep 0.1 && wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,`xwininfo -root | grep Width | awk '{ print (($2/2)+5) ",0," (($2/2)) }'`,`xwininfo -root | grep Height | awk '{ print $2 }'`
^C

[hpenvy15 ~] $ sudo apt-get install xbindkeys
Reading package lists... Done
Building dependency tree       
Reading state information... Done
xbindkeys is already the newest version.
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

printf '"bash $HOME/bin/left.sh"\n Mod4+Super_L+Left\n' > ~/.xbindkeysrc
printf '"bash $HOME/bin/right.sh"\n Mod4+Super_L+Right\n' >> ~/.xbindkeysrc
xbindkeys

如果我随后打字,control+alt+b我可以听到鼓声,但什么也没有发生。

有任何想法吗?

答案1

步骤如下:

  1. 创建一个脚本文件,该文件 #!/bin/bash以问题中给出的命令作为开头。
  2. sudo apt-get install xbindkeys
  3. 类型:

    printf '"bash $HOME/bin/left.sh"\n Control+Alt+A\n' > ~/.xbindkeysrc 
    printf '"bash $HOME/bin/right.sh"\n Control+Alt+F\n' >> ~/.xbindkeysrc
    
    xbindkeys
    

现在,检查一下它是否有效。

我希望它能够发挥作用。

相关内容