Simula le chiavi multimediali nel terminale


25

Ho un nuovo telefono Android che ha un numero di app per comunicare attraverso una connessione ssh. Vorrei sapere se posso usare i comandi ssh se posso simulare il tasto premuto, in particolare i tasti multimediali (riproduci volume pausa). Preferirei non installare software aggiuntivo.

Nota: so che ci sono app che lo fanno immediatamente, questo è semplicemente per una migliore comprensione.

Risposte:


44

La risposta è xdotoole potrebbe già essere installata sul tuo sistema Ubuntu. Può simulare i tasti premuti. Vedi anche [1].

Alcuni comandi:

  • play pausa

    xdotool key XF86AudioPlay
    
  • Precedente Successivo

    xdotool key XF86AudioPrev 
    xdotool key XF86AudioNext
    
  • volume giù / su

    xdotool key XF86AudioLowerVolume 
    xdotool key XF86AudioRaiseVolume
    
  • muto

    xdotool key XF86AudioMute
    

Per ulteriori comandi XF86, vedere [2].

Invece di fare il volume passo dopo passo, puoi anche impostarlo usando alsamixer o pulseaudio (raccomandato). Supponendo di utilizzare il dispositivo 0 (è possibile verificarlo con alsamixero pacmd list-sinks) è possibile impostare il volume su ad esempio l'80% con

  • alsamixer (-c 0 specifica l'id del dispositivo audio)

    amixer -c 0 sset Master,0 80%
    
  • pulseaudio (lo 0 davanti all'80% è l'id del dispositivo audio)

    pactl set-sink-volume 0 80%
    

Per ulteriori informazioni su questi comandi, consultare le loro manpage.


EDIT: Se stai provando a eseguire i comandi xdotool su ssh e ricevi il seguente messaggio di errore

Error: Can't open display: (null)
Segmentation fault

devi impostare la variabile DISPLAY:

export DISPLAY=':0.0'

Dopodiché dovrebbe funzionare senza problemi


[1] http://www.semicomplete.com/projects/xdotool/xdotool.xhtml
[2] http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols


Cosa è necessario affinché questo funzioni su SSH? L'uso di questi comandi in una shell remota comporta la simulazione su una macchina locale o su una macchina remota.
earthmeLon

3
@earthmeLon Sei sicuro di eseguire il comando sul computer remoto? Perché per me funziona benissimo su ssh. Avevo bisogno di impostare la variabile DISPLAY, vedi la mia modifica.
Gerhard Burger

Impostare il display come suggerito per aver risolto il problema. Grazie: D
earthmeLon

2
Si noti che quando si associano questi ad alcuni tasti in xfce4, è necessario utilizzare la --clearmodifiersbandiera, qualcosa del genere:xdotool key --clearmodifiers XF86AudioPlay
cab404

Ciò che @ cab4040 menzionato si applica anche a GNOME. Se si desidera aggiungere tasti multimediali personalizzati su una tastiera che li manca, si può andare alla Keyboard Shortcutssezione nelle impostazioni e aggiungere un'associazione tra una scorciatoia da tastiera e un xdotool keycomando con --clearmodifiers, vedere sopra.
Pierre Thalamy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.