分配:
Ubuntu 14.04 64 位桌面
问题:
我喜欢使用快门程序来截取/管理屏幕截图。但是,将截屏行为重新映射到每台计算机上的相应快捷键相当繁琐。我希望能够运行脚本来为我和其他人执行此操作。
我发现这个类似的 Askubuntu 问题,它似乎想要做同样的事情(通过 CLI 设置快捷方式),但不幸的是,它对我来说还不起作用(目前)。我很确定我的脚本中的某些内容只需要调整,或者也许 12.10 和 14.04 之间发生了巨大变化?
脚本:
#!/bin/bash
gsettings set org.gnome.desktop.wm.keybindings shutter --select "['<Shift>Print']"
gsettings set org.gnome.desktop.wm.keybindings shutter --full "['Print']"
gsettings set org.gnome.desktop.wm.keybindings shutter --active "['<Alt>Print']"
错误输出示例:
答案1
或者,您可以使用 Compiz 设置键盘命令:
gconftool -t 字符串 /apps/compiz/plugins/commands/allscreens/options/command0 -s “shutter --full”
gconftool -t 字符串 /apps/compiz/plugins/commands/allscreens/options/run_command0_key -s "<Control>k"
注意:Compiz 必须使用 dconf 作为后端。
答案2
事实证明,自定义快捷方式略有不同,每个快捷方式都需要运行 3 个命令。我设法使用以下脚本使其“正常工作”:
#!/bin/bash
# Add the paths for if we are adding rather than overwritting shortcuts
KEY_PATH="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings"
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings \
"['$KEY_PATH/custom0/', '$KEY_PATH/custom1/', '$KEY_PATH/custom2/']"
# Now set the shortcuts
BEGINNING="gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings"
$BEGINNING/custom0/ name "Take Full Screenshot"
$BEGINNING/custom0/ command "shutter --full"
$BEGINNING/custom0/ binding "Print"
$BEGINNING/custom1/ name "Grab Active Window"
$BEGINNING/custom1/ command "shutter --active"
$BEGINNING/custom1/ binding "<Alt>Print"
$BEGINNING/custom2/ name "Screenshot Selection"
$BEGINNING/custom2/ command "shutter --select"
$BEGINNING/custom2/ binding "<Shift>Print"
注意这将覆盖你的前 3 个自定义快捷方式(如果存在)并且您可能需要重命名custom0
,以避免这样做。custom1
custom2
还需要手动禁用截屏快捷键如下所示(如果有人能用适当的命令更新这个答案脚本,我将非常感激)。