Làm thế nào để biết Wayland hay X11 đang được sử dụng


165

Vì vậy, tôi mới cài đặt Kali Linux mới nhất trên máy tính xách tay của tôi dựa trên Debian 7 (cũ). Sau đó, tôi nâng cấp-nâng cấp toàn bộ lên Debian 8.

Tôi đã luôn muốn Wayland thay vì X11, vì vậy tôi đã cài đặt các gói cần thiết. Sau đó tạo ra một ~./config/weston.inicấu hình tối thiểu . Bây giờ, từ màn hình đăng nhập Gnome:Màn hình đăng nhập

Tôi có thể khởi động Gnome on Waylandhoặc LXDE(trong số những người khác). Cái trước với thành công rất hạn chế và cái sau (LXDE) gần như hoàn hảo, mặc dù bảng điều khiển cần thiết lập (tôi phải tra cứu freedesktop).

Dù sao, trong LXDE, GUI phản ứng nhanh hơn so với trên ổn định cũ và có thể nhanh như khi nó chạy windows 7. Tôi hài lòng.

Nhưng tôi muốn biết liệu đây có phải là do tất cả các nâng cấp thư viện / mô-đun từ Debian 7 lên 8 hoặc do sử dụng Wayland (nếu tôi thực sự đang sử dụng Wayland). Tôi lướt qua htop và tìm thấy một /usr/bin/Xorgquá trình đang chạy và không có tên là "wayland". Vì vậy, cái nào tôi đang chạy?


chạy xprop, công cụ này sẽ hoạt động trên các ứng dụng xapplifying chạy theo mô phỏng nhưng không phải là wayland hoặc gnome-shell trên wayland.
Mike Mestnik

4
Tôi đoán tôi là người duy nhất nhận thấy rằng trong khi OP nói rằng anh ta đang hoạt động trên debian, ảnh chụp màn hình anh ta trình bày rõ ràng là fedora ...
user1404316 22/03/18

Câu trả lời:


227

Lấy ID phiên để vượt qua bằng cách phát hành:

loginctl

Sau đó:

loginctl show-session <SESSION_ID> -p Type

Nếu bạn muốn tất cả điều này trên một lệnh duy nhất:

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

Sử dụng một tên tương ứng với tên người dùng của bạn.

Tham khảo: https://fedoraproject.org/wiki/How_to_debug_Wayland_probols

Vì vậy, đối với tôi nó là:

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

3
Cảm ơn câu trả lời tuyệt vời. Vui lòng thêm rằng OP nên chạy loginctltrước để xem các phiên.
Ho1

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

đã xác nhận làm việc trên Ubuntu 17.10 với phiên gnome ... thật ngạc nhiên khi tôi nhận được x11
Ray Foss

2
Theo tài liệu của Fedora 28, bạn cũng có thể sử dụng echo $WAYLAND_DISPLAYbản in nào nếu không sử dụng wayland.
robsch

3
@DSJustice backticks của bạn đã được đánh dấu. Người ta có thể sao chép này:loginctl show-session $(loginctl|grep $(whoami) |awk '{print $1}') -p Type
Andreas

166

Làm sao để biết Wayland hay X11 đang được sử dụng?

trên hệ thống X11 :

$ echo $XDG_SESSION_TYPE
x11

trên một số hệ thống đường bộ :

$ echo $XDG_SESSION_TYPE
wayland

29
Điều này có nghĩa là gì nếu biến này không được đặt?
g.rocket

Có cách nào để hiển thị phiên bản của các giao thức wayland đang chạy không?
saitam

28

Điều này hoạt động trên fedora

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

Sức mạnh của đường ống và triết lý unix. Đẹp.
Talespin_Kit

/ tôi lầm bầm điều gì đó về grep ... | awk, nhưng này, tốt thôi.
rahmu


9

Đưa ra mệnh lệnh

ps aux | grep gnome-shell

Nó sẽ cho đầu ra

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

Nếu Wayland đang hoạt động.


5
Và nếu waylandlà mặc định thì sao?
anatoly techtonik

1
Quá trình "gnome-shell" của tôi không chạy với tùy chọn --wayland, nhưng khi tôi chạy ps aux | grep wayland, tôi thấy rằng / usr / bin / Xwayland đang chạy.
paulie4

1
Thường thì bạn có hai gnome-shellquy trình: một quy trình được sử dụng cho gdm và một quy trình được sử dụng cho phiên người dùng. Thông thường gnome-shell của gdm sử dụng wayland nhưng gnome-shell của phiên người dùng sử dụng X11.
Marius Gedminas

Xwayland là một quá trình kết nối giữa các ứng dụng X11 và máy chủ hiển thị Wayland. Sự hiện diện của nó ngụ ý rằng bạn đang chạy Wayland - nhưng hãy kiểm tra cảnh báo ở trên, có thể Wayland chỉ được sử dụng cho màn hình đăng nhập.
Marius Gedminas

1
gnome-shellchỉ hoạt động nếu bạn đang sử dụng gnome như DM.
Sebastian

3

(cố gắng) Chạy lệnh 'r' trong menu Alt + F2. Nó sẽ khởi động lại môi trường trong Xorg (không mất các cửa sổ và quy trình) nhưng trong wayland, nó sẽ đưa ra thông báo "Khởi động lại không có sẵn trong Wayland".


1

Không, tôi đã nhận thấy một chú chó tên là Wayland in htop, khi tôi chuyển sang Wayland để cười khúc khích. Trừ khi nó thay đổi, đó là những gì người ta nên thấy. Cập nhật: Đây là một đoạn phim hiển thị quá trình Wayland.

nhập mô tả hình ảnh ở đây


4
Tôi không thấy một waylandquá trình trong screengrab của bạn; dòng bạn đã tô sáng là một dbus-launchquá trình, bắt đầu một phiên được gọi gnome-wayland.
Stephen Kitt


0

Bạn có thể chạy xdpyinfolệnh. Nó cung cấp thông tin về máy chủ X11 hiện tại của bạn (và hiển thị). Sẽ không thành công nếu bạn không có (ví dụ: trong môi trường Wayland thuần túy).


dường như đang hoạt động tốt trong waylandphiên của tôi ...
don_crissti 22/03/18

IMHO, điều đó chỉ có nghĩa là phiên Wayland của bạn không phải là Wayland thuần túy .
Basile Starynkevitch

chắc chắn nhưng Q là "làm thế nào để biết liệu wayland hay xorg được sử dụng" cho phiên hiện tại ... không phải làm thế nào để biết máy chủ X11 có chạy hay không
don_crissti 22/03/18

0

Vâng, bạn cũng có thể kiểm tra xem các ứng dụng có đang chạy ở waylanddạng nguyên bản không:

cd /usr/bin
ldd $application_name | grep wayland

Hơn nữa, để kiểm tra nhị phân nào có waylandhỗ trợ bạn có thể thử:

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

Ở trên không thực sự rất sạch sẽ nhưng nó hoạt động. Bạn có thể thêm nó vào một tập tin và sau đó sử dụng vimđể điều hướng.

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

Các -Blá cờ tượng trưng cho trước và giúp in tên nhị phân.

Bạn có thể kiểm tra điều này để biết thêm chi tiết. Câu trả lời này thích nghi từ câu hỏi này .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.