模拟终端中的媒体键

Aar*_*hif 29 command-line media

我有一部新的 android 手机,它有许多用于通过 ssh 连接进行通信的应用程序。我想知道是否可以使用 ssh 命令,如果我可以模拟按下的键,特别是媒体键(播放暂停音量)。我不想安装额外的软件。

注意:我知道有些应用程序可以开箱即用,这只是为了更好地理解。

Ger*_*ger 54

答案是xdotool,它可能已经安装在您的 Ubuntu 系统上。它可以模拟按键。另见[1]。

一些命令:

有关更多 XF86 命令,请参阅 [2]。

您还可以使用 alsamixer 或 pulseaudio(推荐)设置音量,而不是逐步调整音量。假设您使用设备 0(您可以使用alsamixer或进行检查pacmd list-sinks),您可以将音量设置为例如 80%

有关这些命令的更多信息,请参见它们的联机帮助页。


编辑:如果您尝试通过 ssh 执行 xdotool 命令并收到以下错误消息

Error: Can't open display: (null)
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

您需要设置 DISPLAY 变量:

export DISPLAY=':0.0'
Run Code Online (Sandbox Code Playgroud)

之后它应该可以正常工作


[1] http://www.semicomplete.com/projects/xdotool/xdotool.xhtml
[2] http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols

  • @earthmeLon 你确定你在远程机器上运行命令吗?因为对我来说它在 ssh 上运行良好。不过,我需要设置 DISPLAY 变量,请参阅我的编辑。 (3认同)
  • 请注意,当您将这些绑定到 xfce4 中的某些键时,您需要使用 `--clearmodifiers` 标志,如下所示:`xdotool key --clearmodifiers XF86AudioPlay` (2认同)