내 디스플레이 관리자가 무엇인지 알려주는 간단한 리눅스 명령이 있습니까? 무엇인지 알려주는 간단한 리눅스 명령이 있습니까? Xfce를 사용하고

내 디스플레이 관리자가 무엇인지 알려주는 간단한 리눅스 명령이 있습니까?

Xfce를 사용하고 있습니다. 다른 데스크탑 환경은 일반적으로 다른 디스플레이 관리자와 관련되어 있습니까?



답변

불행히도 구성은 배포마다 다릅니다.

데비안 / 우분투

/etc/X11/default-display-manager

RedHat (Fedora에도 적용해야 함)

/etc/sysconfig/desktop

OpenSuSe

/etc/sysconfig/displaymanager


답변

없습니다. 디스플레이 관리자가 반드시 동일한 X 서버에서 실행되는 다른 것과 관련이있는 것은 아닙니다. 로그인하기 전에 디스플레이 관리자가 실행됩니다. 시스템 관리자가 선택합니다. 그 밖의 모든 것 (창 관리자, 세션 관리자, 데스크탑 환경 등)은 사용자가 선택합니다. 디스플레이 관리자가 필요하지 않습니다. 텍스트 모드로 로그인하고로 GUI를 시작하면 startx디스플레이 관리자가 필요하지 않습니다.

시스템에서 어떤 디스플레이 관리자가 기본 디스플레이 관리자인지 확인할 수 있습니다 . 이것은 보편적이지만 가정이 아닌 일반적인 가정 하에서 만 정답을 줄 것입니다. 어떤 이유로 든 다른 관리자를 수동으로 실행 한 경우이 방법으로 알려주지 않습니다.

X 서버의 프로세스 ID를 찾는 것이 좋습니다. 부모 프로세스는 아마도 디스플레이 관리자 일 것입니다. 이를 위해서는 클라이언트가 X 서버와 동일한 시스템에서 실행되고 있어야합니다. lsof /tmp/.X11-unix/X${DISPLAY#:}X 서버 프로세스가 표시됩니다 (X 소켓이에 있다고 가정 /tmp/.X11-unix).

x=$(lsof -F '' /tmp/.X11-unix/X0); x=${x#p}
ps -p $(ps -o ppid -p $x)

(설명 : 다음 lsof -F ''과 같이 출력을 인쇄합니다 p1234.이 -F옵션은 기계 구문 분석 가능 출력 형식을 ''의미하며, 그 p앞에 문자 를 사용하여 PID 만 인쇄하는 것을 의미 합니다. x=${x#p}초기 문자를 제거합니다 p. 마지막 행은 X 서버의 상위 PID를 얻습니다. ( ps -o ppid -p $x)을 호출 ps하고 해당 상위 프로세스에 대한 정보를 표시하도록 호출 합니다.)

일부 배포판에서는 여러 디스플레이 관리자를 설치할 수 있습니다. 멀티 시트 시스템이 없다면 단 하나만 실행됩니다. 설치된 모든 디스플레이 관리자 패키지를 데비안 및 파생 제품 아래에 나열하려면 :

aptitude -F %p search '~i ~P^x-display-manager$'

또는

</var/lib/dpkg/status awk '
    /^Package: / {package = $2}
    /^Provides: .*x-display-manager/ {print package}'


답변

당신이 사용하는 경우 systemd 기반 배포를. 이 명령은 둘 이상의 디스플레이 관리자가 설치되어 있기 때문에 현재 구성된 디스플레이 관리자의 이름을 제공합니다.

grep '/usr/s\?bin' /etc/systemd/system/display-manager.service

출력은 다음과 같습니다

ExecStart=/usr/bin/mdm

민트 디스플레이 관리자를 사용하는 것 같습니다.


답변

systemd를 사용하는 경우

systemctl status display-manager

컴퓨터에서 활성 디스플레이 관리자 서비스의 이름과 상태를 표시합니다.


답변

디스플레이 관리자 이름은 DESKTOP_SESSION에 있어야합니다.

echo $DESKTOP_SESSION

나를 위해 “gnome”을 반환합니다.

편집
당신이 맞아요. 그들은 XFCEs bugzilla 에서 계속 진행하고 있기 때문에 아마도 신뢰할 수는 없습니다.


답변

@Gilles가 말했듯이 디스플레이 관리자는 데스크탑 환경을 시작합니다.

데비안 위키 에 따르면 , 이것은 대부분 dm예외로만 끝납니다 slim.

따라서 대부분의 사람들의 요구에 충분합니다.

ps auxf | awk '{print $11}' | \grep --color -e dm$ -e slim$

또는 부모 프로세스로 존재하며 분기되지 않습니다 (init 시스템 제외).

ps auxf | awk '{print $11}' | \grep -e "^/.*dm$" -e "/.*slim$"


답변

어떤 경우에는 wmctrl이 도움이 될 수 있습니다. 이 유틸리티는 많은 Windows 관리자와 호환됩니다.

wmcrt -m

현재 사용 된 창 관리자의 이름을 표시해야합니다.