Моделюйте медіа-ключі в терміналі


25

У мене є новий андроїд-телефон, у якому є ряд додатків для спілкування через ssh-з'єднання. Мені хотілося б знати, чи можу я використовувати ssh команди, чи зможу імітувати натиснуті клавіші, зокрема медіа-клавіші (відтворити гучність паузи). Я вважаю за краще не встановлювати додаткове програмне забезпечення.

Примітка. Я знаю, що існують додатки, які роблять це невдало. Це просто для кращого розуміння.

Відповіді:


44

Відповідь є 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%
    

Для отримання додаткової інформації про ці команди дивіться їхні програми.


EDIT: Якщо ви намагаєтеся виконувати команди 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


Що потрібно для цього для роботи над SSH? Використання цих команд у віддаленій оболонці призводить до моделювання на локальній та віддаленій машині.
земляLon

3
@earthmeLon Ви впевнені, що виконуєте команду на віддаленій машині? Тому що для мене це чудово працює над ssh. Мені потрібно було встановити змінну DISPLAY, хоча дивіться мою редагування.
Герхард Бургер

Встановлення дисплея, як ви запропонували, як вирішена проблема. Дякую: D
earthmeLon

2
Зауважте, що коли ви прив’язуєте їх до деяких клавіш у xfce4, вам потрібно буде використовувати --clearmodifiersпрапор, приблизно так:xdotool key --clearmodifiers XF86AudioPlay
cab404

Що згадане @ cab4040 також стосується GNOME. Якщо ви хочете додати спеціальні медіа-клавіші на клавіатурі, у якій їх не вистачає, можна перейти до Keyboard Shortcutsрозділу в налаштуваннях та додати прив'язку між комбінацією клавіш та xdotool keyкомандою --clearmodifiers, див. Вище.
П’єр Таламі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.