14.10 gnome经典metacity无法将键盘快捷键连接到二进制

我正在尝试使用Gnome Classic Metacity在Abuntu 14.10上运行Aero Snap效果 。

我发现一个命令,如果我在终端窗口执行,它是有效的:

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运行它以便有时间切换到我想要resize的窗口:

 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 }'` 

它运作良好。

我也可以在我的$ HOME / bin / left.sh和$ HOME / bin / right.sh中运行它作为bash脚本,或者更短, Alt+F2然后$HOME/bin/aaa for left和$HOME/bin/fff权利的$HOME/bin/fff 。 它也适用于Alt+F2菜单后面的活动窗口。

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

 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. 创建一个脚本文件,启动#!/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 

现在,看看它是否有效。

我希望它能奏效。