LXDE 단축키는 애플리케이션을 시작하거나 이미 실행 중인 경우 해당 애플리케이션으로 전환합니다.

LXDE 단축키는 애플리케이션을 시작하거나 이미 실행 중인 경우 해당 애플리케이션으로 전환합니다.

저는 Windows 7+의 Win+(1..9) 단축키에 익숙하며 LXDE에서도 비슷한 기능을 구현하고 싶습니다.

따라서 단축키를 정의해야 합니다.

  • 아직 시작되지 않은 경우 정의된 응용 프로그램을 시작합니다. 또는

  • 응용프로그램이 이미 실행 중이면 해당 응용프로그램으로 전환하십시오.

어떻게 해야 하나요?

를 사용하여 애플리케이션이 실행 중인지 확인할 수 있지만 ps -e | grep appname, 명령줄을 사용하여 이름이나 PID로 LXDE를 애플리케이션으로 전환할 수 있는 방법이 있습니까? 아니면 이를 수행하는 다른 방법이 있을까요?

나는 WinXP에서 이 동작을 달성하기 위해 AutoHotkey를 사용해 왔습니다. Win7/Win8에서는 기본입니다. 매우 유용하므로 내 데비안에서도 사용하고 싶습니다.

답변1

유닉스"응용 프로그램"에 대한 완전한 개념이 없습니다.. 최상위 창은 프로세스를 사용하는 것보다 더 나은 지표입니다. 정확하게 감지하기가 더 쉽고 실수로 다른 사용자의 앱을 감지하는 일도 없습니다.

각 창에는 해당 응용 프로그램을 식별하는 클래스가 있습니다. 애플리케이션의 클래스 이름을 보려면 터미널에서 다음 명령을 실행하고 애플리케이션 창을 클릭하세요.

xprop WM_CLASS

그러면 인스턴스 이름과 클래스 이름이라는 두 개의 문자열이 표시됩니다.

창에 대한 정보를 표시하고 몇 가지 기본 작업을 수행하는 데 가장 유용한 도구는 다음과 같습니다.xdotool그리고wmctrl.

를 사용하면 주어진 인스턴스와 클래스를 사용하여 창 중 하나를 활성화 wmctrl할 수 있습니다 . wmctrl -F -x -a "$instance.$class"일치하는 창이 없으면 wmctrl프로그램 시작을 선택할 수 있도록 오류 상태가 반환됩니다. 예:

wmctrl -F -x -a Navigator.Firefox || firefox &

동등한 xdotool 명령:

xdotool search --class --maxdepth 2 Firefox windowactivate || firefox &

최상위 창이 여러 개 있는 경우 어느 창을 활성화할지 쉽게 결정할 수 없습니다. 최신 버전을 활성화하려면 창 관리자의 협조가 필요합니다. LXDE의 기본값은 Openbox입니다. 저는 Openbox에 익숙하지 않지만 꽤 간소화되어 있기 때문에 최근에 활성화된 창을 보고하는 방법을 제공하지 못할 수도 있습니다. LXDE는 다음과 같은 다른 창 관리자와 함께 사용할 수 있다고 생각합니다.톱상어프로그래밍이 가능하므로 몇 줄의 코드로 창 관리자에서 이 기능을 작성할 수 있습니다.

사용창 관리자의 키 바인딩 설정 메커니즘원하는 키를 다음 명령 중 하나에 바인딩하세요.

관련 정보