Имитация медиа ключей в терминале
У меня есть новый телефон 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