터미널에서 실행 중인 GUI 환경을 어떻게 찾을 수 있나요? [복사]

터미널에서 실행 중인 GUI 환경을 어떻게 찾을 수 있나요? [복사]

이것은 매우 기본적인 질문이지만 어디에서도 만족스러운 답변을 찾을 수 없습니다.

터미널에서 실행 중인 GUI를 찾는 방법은 무엇입니까?


제가 개발 중인 시스템은 매우 작으며 응용 프로그램을 열 수 있는 xterm 창만 볼 수 있습니다(별도의 창에서). 데스크탑의 빈 공간을 마우스 오른쪽 버튼으로 클릭하면 새 xterm 창을 열 수 있습니다. 응용 프로그램을 열 때마다 새 창을 열 때마다 실제로 창을 열려면 화면의 빈 영역을 마우스로 클릭해야 합니다.

이 질문은 중복된 질문이 아닌 것 같습니다.데스크탑 환경의 이름을 검색하는 방법이 있습니까?, 내 설정이 그 설정과 약간 다르기 때문에 그 답변 중 어느 것도 나에게 도움이 되지 않았습니다.

답변1

env입력 하여 어떤 환경이 구성되어 있는지 확인할 수 있습니다.

다음 응답을 찾으십시오.협회

  XDG_CURRENT_DESKTOP - Tells you what Windows Manager you are using

  GDMSESSION - Tells you what option you selected from the lightdm greeter to login.

이를 사용하려면 터미널로 이동하여 다음을 입력하십시오.

  echo $XDG_CURRENT_DESKTOP

(예를 들어 Unity를 사용하는 경우 "unity"가 출력됩니다)

또는

  echo $GDMSESSION

(예를 들어 로그인 시 ubuntu를 선택했다면 "ubuntu"가 출력되고, 로그인 시 "ubuntu-2d"를 선택했다면 "ubuntu-2d"가 출력됩니다.)

env의 출력을 자세히 살펴보면 DESKTOP_SESSION 및 COMPIZ_CONFIG_PROFILE과 같은 다른 항목도 찾을 수 있습니다.

당신이 찾고 있는 것은 사용 중인 창 관리자의 이름이므로 이름을 얻는 방법을 아는 유일한 방법은 프로세스 목록을 보는 것입니다. 이를 위해 pgrep(Wikipedia)이라는 명령이 있습니다. -l 매개변수가 프로세스 ID를 추가하므로 이름을 얻기 위해 다음을 수행했습니다.

pgrep -l compiz |cut -d " " -f2프로세스는 동일한 사용자에 의해 실행되므로 sudo 부분 앞에 접두사를 붙일 필요가 없습니다. 그런 다음 이를 사용하여 창 관리자를 기반으로 작업을 수행하는 스크립트를 만들 수 있습니다.

다른 유형을 찾으려면 단어를 compiz다른 유형 mutter(예: kwin등) 으로 변경하면 됩니다.

Ubuntu 12.04에서 환경 변수 XDG_CURRENT_DESKTOP 및 GDMSESSION을 테스트한 결과 다음과 같은 결과를 얻었습니다.

케이드

XDG_CURRENT_DESKTOP= GDMSESSION=kde-플라즈마 유니티 3d

XDG_CURRENT_DESKTOP=유니티 GDMSESSION=우분투 유니티 2d

XDG_CURRENT_DESKTOP=유니티 GDMSESSION=ubuntu-2d

난쟁이

XDG_CURRENT_DESKTOP=GNOME GDMSESSION=그놈 쉘

드워프 클래식

XDG_CURRENT_DESKTOP=GNOME GDMSESSION=그놈-클래식

그놈 클래식은 효과가 없습니다

XDG_CURRENT_DESKTOP=GNOME GDMSESSION=gnome-fallback 기타 Ubuntu 기반 배포판:

민트 13(계피)

XDG_CURRENT_DESKTOP=GNOME GDMSESSION=시나몬

루벤 그림 12.04

XDG_CURRENT_DESKTOP=LXDE GDMSESSION=루분투

관련 정보