当前位置: 首页>>技术教程>>正文


在终端中模拟媒体键

,

问题描述

我有一部新的 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(您可以使用 alsamixerpacmd 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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14607.html,未经允许,请勿转载。