Simule as chaves de mídia no terminal

16

Eu tenho um novo celular Android que possui vários aplicativos para se comunicar através de uma conexão ssh. Eu gostaria de saber se eu posso usar comandos ssh se eu puder simular a tecla pressionada, especificamente as teclas de mídia (reproduzir volume de pausa). Eu preferiria não instalar software adicional.

Observação: sei que há aplicativos que fazem isso de fábrica, isso é simplesmente para uma melhor compreensão.

    
por Aaron Schif 02.01.2013 / 05:52

1 resposta

30

A resposta é xdotool e talvez já esteja instalada no seu sistema Ubuntu. Pode simular pressionamentos de tecla. Veja também [1].

Alguns comandos:

  • reproduzir / pausar

    xdotool key XF86AudioPlay
    
  • anterior / próximo

    xdotool key XF86AudioPrev 
    xdotool key XF86AudioNext
    
  • volume para baixo / para cima

    xdotool key XF86AudioLowerVolume 
    xdotool key XF86AudioRaiseVolume
    
  • mudo

    xdotool key XF86AudioMute
    

Para mais comandos XF86, veja [2].

Em vez de fazer o volume passo a passo, você também pode configurá-lo usando alsamixer ou pulseaudio (recomendado). Supondo que você use o dispositivo 0 (você pode verificar isso com alsamixer ou pacmd list-sinks ), você pode definir o volume para, por exemplo, 80% com

  • alsamixer (-c 0 especifica o id do dispositivo de som)

    amixer -c 0 sset Master,0 80%
    
  • pulseaudio (o 0 na frente dos 80% é o id do dispositivo de som)

    pactl set-sink-volume 0 80%
    

Para mais informações sobre esses comandos, consulte suas páginas de manual.

EDITAR: Se você está tentando fazer os comandos xdotool por ssh e receber a seguinte mensagem de erro

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

você precisa definir a variável DISPLAY:

export DISPLAY=':0.0'

Depois disso, deve funcionar sem problemas

[1] link
[2] link

    
por Gerhard Burger 02.01.2013 / 11:06