터미널에서 미디어 키 시뮬레이션


25

ssh 연결을 통해 통신하기위한 많은 앱이있는 새로운 안드로이드 폰이 있습니다. 누른 키, 특히 미디어 키 (재생 일시 중지 볼륨)를 시뮬레이션 할 수 있다면 ssh 명령을 사용할 수 있는지 알고 싶습니다. 추가 소프트웨어를 설치하지 않는 것이 좋습니다.

참고 :이 작업을 즉시 수행하는 앱이 있다는 것을 알고 있습니다. 이것은 더 나은 이해를위한 것입니다.

답변:


44

대답은입니다 xdotool. 이미 우분투 시스템에 설치되었을 수 있습니다. 키 누르기를 시뮬레이션 할 수 있습니다. [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은 사운드 장치 ID를 지정합니다)

    amixer -c 0 sset Master,0 80%
    
  • pulseaudio (80 % 앞의 0은 사운드 장치 ID 임)

    pactl set-sink-volume 0 80%
    

이러한 명령에 대한 자세한 내용은 해당 맨 페이지를 참조하십시오.


편집 : ssh를 통해 xdotool 명령을 수행하려고하면 다음 오류 메시지가 나타납니다.

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를 통해 작동하려면 무엇이 필요합니까? 원격 셸에서 이러한 명령을 사용하면 로컬 컴퓨터와 원격 컴퓨터에서 시뮬레이션이 수행됩니다.
earthme 런

3
@earthmeLon 원격 시스템에서 명령을 실행하고 있습니까? 나를 위해 그것은 ssh를 통해 잘 작동합니다. 그래도 DISPLAY 변수를 설정해야했습니다. 내 편집을 참조하십시오.
Gerhard Burger

제안한대로 디스플레이를 설정하면 문제가 해결되었습니다. 감사합니다 : D
earthmeLon

2
xfce4에서이 키를 일부 키에 바인딩 할 때는 --clearmodifiers다음과 같은 플래그 를 사용해야합니다 .xdotool key --clearmodifiers XF86AudioPlay
cab404

@ cab4040에서 언급 한 내용은 그놈에도 적용됩니다. 사용자 정의 미디어 키가없는 키보드에서 사용자 정의 미디어 키를 추가하려면 Keyboard Shortcuts설정 섹션으로 이동하여 키보드 단축키와로 xdotool key명령 사이에 바인딩을 추가 할 --clearmodifiers수 있습니다 (위 참조).
Pierre Thalamy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.