在终端中模拟媒体键

在终端中模拟媒体键

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

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

答案1

答案是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

相关内容