Имитация медиа ключей в терминале

У меня есть новый телефон 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 указывает идентификатор звукового устройства)

    amixer -c 0 sset Master,0 80%
    
  • pulseaudio (0 перед 80% - это идентификатор звукового устройства)

    pactl set-sink-volume 0 80%
    

Для получения дополнительной информации об этих командах смотрите их справочные страницы.


РЕДАКТИРОВАТЬ: Если вы пытаетесь выполнить команды xdotool через ssh и получить следующее сообщение об ошибке

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

Другие вопросы по тегам