模拟终端中的媒体键
我有一个新的Android手机,有许多应用程序通过ssh连接进行通信。 我想知道我是否可以使用ssh命令,如果我可以模拟按键,特别是媒体键(播放暂停音量)。 我宁愿不安装其他软件。
注意:我知道有些应用程序可以开箱即用,这只是为了更好地理解。
答案是xdotool
,它可能已经安装在你的Ubuntu系统上。 它可以模拟按键。 另见[1]。
一些命令:
-
播放/暂停
xdotool key XF86AudioPlay
-
前面一个后面一个
xdotool key XF86AudioPrev xdotool key XF86AudioNext
-
音量下降/上升
xdotool key XF86AudioLowerVolume xdotool key XF86AudioRaiseVolume
-
静音
xdotool key XF86AudioMute
有关更多XF86命令,请参阅[2]。
您可以使用alsamixer或pulseaudio(推荐)来设置它,而不是逐步完成音量。 假设您使用设备0(您可以使用alsamixer
或pacmd list-sinks
),您可以将音量设置为80%
-
alsamixer(-c 0指定声音设备ID)
amixer -c 0 sset Master,0 80%
-
pulseaudio(80%前面的0是声音设备ID)
pactl set-sink-volume 0 80%
有关这些命令的更多信息,请参阅其联机帮助页。
编辑:如果您尝试通过ssh执行xdotool命令并获取以下错误消息
Error: Can't open display: (null) Segmentation fault
你需要设置DISPLAY变量:
export DISPLAY=':0.0'
之后它应该没有问题
[1] http://www.semicomplete.com/projects/xdotool/xdotool.xhtml
[2] http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols