Linux의 명령줄에서 현재 작업공간을 감지하는 방법이 있습니까?

Linux의 명령줄에서 현재 작업공간을 감지하는 방법이 있습니까?

현재 작업 공간을 출력으로 제공하는 Linux (내 창 관리자는 fluxbox입니다)에 대한 명령이 필요합니다 (가능한 경우 Python 스크립트에 이 정보가 필요하므로 간단한 출력).

플럭스박스의 매뉴얼(매뉴얼)을 확인해 보니 정보가 거의 없고, 온라인에서 검색해 보니 다른 창 관리자에서 하는 방법만 설명되어 있었습니다.

답변1

fluxbox~이다EWMHwmctrl이는 호환 창 관리자와 상호 작용하는 도구를 사용할 수 있음을 의미합니다 . 현재 작업공간을 찾으려면:

$ wmctrl -d | grep '*' | cut -d ' ' -f1

man wmctrl말한다:

-d 창 관리자가 관리하는 모든 데스크탑을 나열합니다. (...) 두 번째 열에는 현재 데스크탑에 대한 '*' 문자가 포함되어 있으며, 그렇지 않으면 '-' 문자가 포함되어 있습니다.

편집하다: 방금 작업공간 이름을 Single 로 지정할 수 있는지 확인했습니다 *. 이 경우 위 명령은 두 가지 결과를 반환합니다. 사용 awk:

$ wmctrl -d | awk '{ if ($2 == "'*'") print $0}'

답변2

@arkadiusz-drabczyk로 가는 지름길은 이 코드를 사용하고 있습니다

$ wmctrl -d | awk '$2=="*"'

이상한 설명 :

  • '$2=="*"', awk는 이 패턴을 보일 것입니다
  • print는 awk의 기본 동작입니다. 따라서 {print $0}첫 번째 단어와 같은 특정 인수를 인쇄하려는 경우가 아니면 작성할 필요가 없습니다.$1

이 링크에서 패턴에 대한 자세한 내용을 확인하세요.https://www.gnu.org/software/gawk/manual/gawk.html#Pattern-개요

관련 정보