问题描述
我有一部新的 Android 手机,上面有许多通过 ssh 连接进行通信的应用程序。我想知道如果我可以模拟按键,特别是媒体键(播放暂停音量),我是否可以使用 ssh 命令。我宁愿不安装其他软件。
注意:我知道有些应用程序可以开箱即用地做到这一点,这只是为了更好地理解。
最佳回答
答案是 xdotool
,它可能已经安装在你的 Ubuntu 系统上。它可以模拟按键。另请参阅 [1]。
一些命令:
-
播放/暂停
\n
xdotool key XF86AudioPlay\n
-
上一页下一页
\n
xdotool key XF86AudioPrev \nxdotool key XF86AudioNext\n
-
减小/增大音量
\n
xdotool key XF86AudioLowerVolume \nxdotool key XF86AudioRaiseVolume\n
-
沉默的
\n
xdotool key XF86AudioMute\n
有关更多 XF86 命令请参阅[2]。
除了逐步调整音量外,您还可以使用 alsamixer 或 pulseaudio(推荐)进行设置。假设您使用设备 0(您可以使用 alsamixer
或 pacmd list-sinks
进行检查),您可以使用以下命令将音量设置为例如 80%
-
alsamixer(-c 0 指定声音设备id)
\n
amixer -c 0 sset Master,0 80%\n
-
pulseaudio(80%前面的0是声音设备id)
\n
pactl set-sink-volume 0 80%\n
有关这些命令的更多信息,请参阅其手册页。
编辑:\n如果您尝试通过 ssh 执行 xdotool 命令并收到以下错误消息
Error: Can't open display: (null)
Segmentation fault
您需要设置 DISPLAY 变量:
export DISPLAY=':0.0'
之后它应该可以正常工作
[1] http://www.semicomplete.com/projects/xdotool/xdotool.xhtml \n[2] http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols