
그래서 저는 미디어 키가 없는 노트북용으로 이 키보드를 구입했고, 백그라운드에서 재생 중인 모든 미디어를 일시정지하기 위해 노트북의 재생/일시 정지 버튼을 누르는 데 매우 익숙했습니다. 하지만 이 키보드를 사용하면 미디어 키가 없기 때문에 키보드 단축키를 직접 만들어야 합니다. 지금까지 볼륨 조절을 위한 키보드 단축키를 만들었습니다.
연구와 나의 시도:
터미널에서 미디어 키를 시뮬레이션하는 명령을 보여주는 이 페이지를 찾았습니다. https://askubuntu.com/questions/235126/simulate-media-keys-in-terminal/235181#235181. 명령은 다음과 같습니다.
xdotool key XF86AudioPlay
하지만 다음으로 이동하여 키보드 단축키를 만들면설정 > 키보드 > 애플리케이션 단축키. 작동하지 않는 것 같습니다.내가 설정한 단축키를 누르면슈퍼+F11내 CPU 사용량이 약간 증가하는데 이는 바로가기가 작동하고 있음을 의미합니다.
exo-open --launch WebBrowser
내가 눌렀을 때 내 웹 브라우저가 열릴 것이라고 생각했던 바로가기가 실행되는 명령을 변경하여 이를 확인했습니다.슈퍼+F11.이제 저는 C/C++에 대해 조금 알고 있었기 때문에 정확히 같은 일을 하는 래퍼 프로그램을 만들었습니다.
#include <stdlib.h>
int main() {
system("xdotool key XF86AudioPlay");
}
그리고 이 프로그램을 실행하기 위한 단축키를 매핑했지만 아쉽습니다!! 여전히 작동하지 않습니다.
랩톱 키보드의 기본 재생/일시 중지 버튼을 눌렀을 때 XFCE가 실행하는 명령을 얻으려면 어떻게 해야 합니까? 이 버튼은 백그라운드에서 재생 중인 모든 미디어를 재생/일시 중지하는 것처럼 보입니다.
저는 Arch Linux에서 XFCE를 사용합니다. 저는 주로 리듬박스 뮤직 플레이로 음악을 듣습니다.
답변1
제어만 하고 싶다면 노래를 재생하거나 rhythmbox
노래 를 일시 정지하는 것으로 충분합니다.rhythmbox-client --play
rhythmbox-client --pause
playerctl
하지만 현재 재생 중인 미디어를 제어하는 일부 Arch 위키에서 이 소프트웨어가 호출되는 것을 발견했습니다 . 우선순위가 무엇인지 100% 확신할 수는 없지만 YouTube 비디오를 열면 Rhythmbox를 건드리지 않고 기본적으로 이를 제어합니다. 재생과 일시정지 간을 전환하려면 를 실행하세요 playerctl play-pause
. 다음 비디오/음악으로 이동하려면 실행 playerctl next
하고 이전 비디오/음악으로 이동하려면 를 실행하세요 playerctl previous
.
이것이 다른 배포판에서 작동하는지 또는 심지어 사용 가능한지 100% 확신할 수 없지만 Arch에서는 작동합니다.
답변2
Rhythmbox는 에 설명된 대로 rhythmbox-client --play/--pause
명령과 를 사용하여 전송된 D-Bus 명령을 모두 지원하는 것 같습니다.dbus-send
AskUbuntu에 대한 이 질문그리고AskUbuntu 답변에서 링크된 U&L.SE의 질문입니다..
간단히 말해서 dbus-send
명령은 다음과 같습니다.
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
Rhythmbox의 MPRIS API를 먼저 활성화해야 한다는 조건이 있습니다.
그러나 동일한 키 누르기를 사용하여 YouTube 비디오를 제어해야 하는 경우 현재 재생 중인 플레이어를 파악하고 Rhythmbox 또는 웹 브라우저에 올바른 명령을 보내는 스크립트를 활성화하려면 해당 키 누르기가 필요할 것입니다. (또는 다른 앱) YouTube 동영상을 재생하는 데 사용하고 있습니다. 그리고 브라우저의 경우 올바른 브라우저 탭에 대해 명령/키 누르기를 전송해야 합니다. 이는 반드시 현재 탭이 아닐 수도 있습니다.
답변3
나는 당신과 같은 것을 발견했습니다. 명령은 xdotool key XF86AudioPlay
셸에서 작동하지만 바로 가기 또는 응용 프로그램 실행기에서는 작동하지 않습니다. 그래서 저는 xdotool
대화형 셸에서 실행될 때만 작동한다고 결론지었습니다. 그리고 재미있게도 다음 명령을 사용하여 키보드 단축키와 실행기 아이콘(예: 작업 표시줄)에서 작동하게 했습니다.
bash -i -c 'xdotool key XF86AudioPlay'
스위치 를 제거하여 비대화형 -i
으로 만들 자마자 작동이 중지됩니다. bash
왜 이런 일이 일어나는지 모르겠습니다 ...
이 방법의 좋은 점 XF86AudioPlay
은 예를 들어 Firefox의 백그라운드에서 재생되는 Youtube 비디오를 일시 중지하는데도 작동한다는 것입니다.
업데이트
알았어, 왜 이런 일이 일어나는지 알아냈어. 나의 나는 달리기 에 필요한 .bashrc
변화를 겪었습니다 . 그러나 GUI 세션(XFCE)에 로그인할 때는 이런 일이 발생하지 않았습니다. 따라서 터미널이 아닌 GUI(예: 실행기 또는 Alt+F2)에서 직접 시작된 모든 프로그램은 수정된 을 볼 수 없으므로 일부 라이브러리가 누락됩니다.$LD_LIBRARY_PATH
xdotool
$LD_LIBRARY_PATH
따라서 올바른 해결책은 실제로 . 대신 $LD_LIBRARY_PATH
의 수정 사항을 넣는 것이었습니다 . 그렇게 하면 XFCE가 로그인 시 이를 실행하고 모든 프로그램에서 이를 볼 수 있습니다. 그럼에도 불구하고 나는 미래의 방문객들을 위해 여기에 이전 답변을 남겨 둘 것입니다..profile
.bashrc
답변4
Audacious를 사용하는 경우 다음을 사용할 수 있습니다.
audacious -t
일시 중지와 재생 사이를 전환합니다( 참조 man audacious
).