Wayland 또는 X11의 사용 여부를 확인하는 방법


164

그래서 방금 Debian 7 (oldstable) 기반의 랩톱에 최신 Kali Linux를 설치했습니다. 그런 다음 모든 것을 데비안 8로 업그레이드했습니다.

항상 X11 대신 Wayland를 원했기 때문에 필요한 패키지를 설치했습니다. 그런 다음 최소 ~./config/weston.ini구성을 작성했습니다 . 이제 Gnome 로그인 화면에서 :로그인 화면

Gnome on Wayland또는 LXDE다른 부팅 할 수 있습니다 . 패널은 설정이 필요하지만 (제작 된 freedesktop을 찾아야 함), 성공이 제한적인 이전과 후자 (LXDE)는 거의 완벽합니다.

어쨌든, LXDE에서 GUI는 이전 안정보다 GUI에 더 민감하고 Windows 7을 실행할 때 속도가 빠릅니다.

그러나 이것이 데비안 7에서 8 로의 모든 라이브러리 / 모듈 업그레이드 또는 Wayland 사용 (Wayland를 전혀 사용하지 않는 경우)인지 알고 싶습니다. 나는 /usr/bin/Xorg멈춤을 통해 훑어 보았고 "wayland"라는 프로세스를 찾지 못했습니다. 그래서 나는 현재 어느 것을 실행하고 있습니까?


xprop를 실행하면이 도구는 에뮬레이션에서 실행되지만 wayland 또는 gnome-shell에서는 실행되지 않는 xapplication에서 작동합니다.
Mike Mestnik 1

4
나는 OP가 그가 데비안에서 작업하고 있다고 말했지만, 그가 제시 한 스크린 샷은 분명히 페도라라는 것을 알아 차릴 수있는 유일한 사람이라고 생각합니다.
user1404316

답변:


226

다음을 발행하여 전달할 세션 ID를 확보하십시오.

loginctl

그때:

loginctl show-session <SESSION_ID> -p Type

단일 명령으로이 모든 것을 원한다면 :

loginctl show-session $(awk '/tty/ {print $1}' <(loginctl)) -p Type | awk -F= '{print $2}'

사용자 이름에 해당하는 것을 사용하십시오.

참조 : https://fedoraproject.org/wiki/How_to_debug_Wayland_problems

그래서 나를 위해 :

$ loginctl show-session 2 -p Type                                                  
Type=wayland

3
큰 답변 주셔서 감사합니다. loginctl세션을 보려면 OP가 먼저 실행되어야 합니다.
Ho1

5
loginctl show-session `loginctl|grep <YOUR_USER_NAME>|awk '{print $1}'` -p Type
solsTiCe

놀랍게도 내가 X11을 받고 있어요 ... 그놈 세션과 우분투 17.10 작업 확인
레이 포스

2
Fedora 28 문서 에 따르면 echo $WAYLAND_DISPLAYwayland를 사용하지 않으면 아무것도 인쇄하지 않는 것도 사용할 수 있습니다 .
robsch

3
@DSJ 당신의 백틱이 마크 다운되었습니다. 하나는 이것을 복사 할 수 있습니다 :loginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
Andreas

166

Wayland 또는 X11의 사용 여부를 어떻게 알 수 있습니까?

X11 시스템에서 :

$ echo $XDG_SESSION_TYPE
x11

일부 웨이 랜드 시스템에서 :

$ echo $XDG_SESSION_TYPE
wayland

28
이 변수가 설정되지 않았다면 무슨 뜻입니까?
g.rocket

실행중인 웨이 랜드 프로토콜의 버전을 표시하는 방법이 있습니까?
saitam

28

이것은 페도라에서 작동합니다.

loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type

파이프의 힘과 유닉스 철학. 좋은.
Talespin_Kit

/ me는에 대해 무언가를 혼란스럽게 생각 grep ... | awk하지만 괜찮습니다.
rahmu


9

명령을 내리다

ps aux | grep gnome-shell

출력을 줄 것이다

/usr/bin/gnome-shell --wayland --display-server

Wayland가 활성화 된 경우.


5
그리고 만약 wayland이것이 기본값 이라면 ?
anatoly techtonik

1
내 "gnome-shell"프로세스가 --wayland 옵션으로 실행되지 않았지만 실행했을 때 ps aux | grep wayland/ usr / bin / Xwayland가 실행되고 있음을 알았습니다.
paulie4

1
종종 gnome-shellgdm에 사용되는 프로세스와 사용자 세션에 사용되는 프로세스 가 있습니다 . 종종 gdm의 gnome-shell은 wayland를 사용하지만 사용자 세션의 gnome-shell은 X11을 사용합니다.
Marius Gedminas

Xwayland는 X11 응용 프로그램과 Wayland 디스플레이 서버를 연결하는 프로세스입니다. 그 존재는 이미 Wayland를 실행하고 있음을 의미하지만 위의주의 사항을 확인하십시오 .Wayland는 로그인 화면에만 사용할 수 있습니다.
Marius Gedminas

1
gnome-shellgnome을 DM으로 사용하는 경우에만 작동합니다.
Sebastian

3

Alt + F2 메뉴에서 'r'명령을 실행하십시오. Xorg에서 환경을 다시 시작하지만 (창과 프로세스를 잃지 않고) 웨이 랜드에서는 "Wayland에서 재시작을 사용할 수 없습니다"라는 메시지가 표시됩니다.


1

아니요, 나는 킥오프를 위해 Wayland로 전환했을 때 Htop에서 Wayland라는 pid를 발견했습니다. 그것이 변경되지 않는 한 그것이보아야 할 것입니다. 업데이트 : 다음은 Wayland 프로세스를 보여주는 스크린 샷입니다.

여기에 이미지 설명을 입력하십시오


4
화면 wayland캡처에 프로세스 가 표시되지 않습니다 . 강조 표시 한 줄은 dbus-launch이라는 세션을 시작하는 프로세스 gnome-wayland입니다.
Stephen Kitt


0

xdpyinfo명령을 실행할 수 있습니다 . 현재 X11 서버 및 디스플레이에 대한 정보를 제공합니다. 없는 경우 (예 : 순수한 Wayland 설정) 실패합니다.


wayland세션 에서 잘 작동하는 것 같습니다 ...
don_crissti

IMHO, 그것은 단지 당신의 웨이 랜드 세션이 순수한 웨이 랜드 가 아니라는 것을 의미합니다 .
Basile Starynkevitch

확실하지만 Q는 현재 세션에 "웨이 랜드 또는 xorg 사용 여부를 확인하는 방법"입니다. X11 서버가 실행 중인지 알 수 없습니다.
don_crissti

0

응용 프로그램이 wayland기본 형식으로 실행되고 있는지 확인할 수도 있습니다 .

cd /usr/bin
ldd $application_name | grep wayland

또한 어떤 바이너리가 wayland지원 되는지 확인하려면 다음을 시도하십시오.

cd /usr/bin
find . | xargs ldd | grep wayland -B 55

위의 내용은 실제로 깨끗하지는 않지만 작동합니다. 파일로 추가 파이프 한 다음 vim탐색에 사용할 수 있습니다.

cd /usr/bin
find . | xargs ldd | grep wayland -B 55 >> candidates
vim candidates
# Use vi movement

-B플래그는 이전의 약자 바이너리 명을 인쇄하는 데 도움이됩니다.

자세한 내용은 이것을 확인할있습니다 . 이 답변은이 질문 에서 수정되었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.