Fedora

如何查看 Gnome 啟動的 Xwayland 伺服器的日誌?

  • July 8, 2019

我正在使用 Fedora Workstation 27。具體來說,gnome-session-3.26.1-1.fc27.x86_64.

我知道 Xwayland 僅服務於 X11 應用程序,而原生 Wayland 應用程序直接由gnome-shell. 我特別想查找來自 Xwayland 伺服器的日誌消息。


目錄~/.local/share/xorg/是空的。我試過雜誌:

# journalctl -b /usr/bin/Xwayland
-- Logs begin at Fri 2017-04-21 15:22:01 BST, end at Fri 2018-03-23 23:45:13 GMT. --
-- No entries --
# journalctl -b | grep -i 'wayland.*]: '
#

它沒有顯示任何內容,即使第二種方法可以很好地搜尋“gnome-session”。

看起來 Xwayland 通過與 gnome-shell 完全相同的套接字連接到日誌。如果你用 來查看打開文件的完整列表lsof,Xwayland 沒有打開任何日誌文件。

$ lsof -p 20554 | grep " [0-2][ur]"
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1002/gvfs
     Output information may be incomplete.
Xwayland 20554 alan    0r      CHR                1,3      0t0    12290 /dev/null
Xwayland 20554 alan    1u     unix 0x0000000000e7d1ab      0t0  1945828 type=STREAM
Xwayland 20554 alan    2u     unix 0x00000000a0ce92a9      0t0  1945829 type=STREAM
$ lsof -p 20518 | grep " [0-2][ur]"
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1002/gvfs
     Output information may be incomplete.
gnome-she 20518 alan    0r      CHR                1,3       0t0    12290 /dev/null
gnome-she 20518 alan    1u     unix 0x0000000000e7d1ab       0t0  1945828 type=STREAM
gnome-she 20518 alan    2u     unix 0x00000000a0ce92a9       0t0  1945829 type=STREAM

$ lsof -p 20554
Xwayland 20554 alan    0r      CHR                1,3      0t0    12290 /dev/null
Xwayland 20554 alan    1u     unix 0x0000000000e7d1ab      0t0  1945828 type=STREAM
Xwayland 20554 alan    2u     unix 0x00000000a0ce92a9      0t0  1945829 type=STREAM
Xwayland 20554 alan    3u     unix 0x0000000028595a37      0t0  1939422 type=STREAM
Xwayland 20554 alan    4u     unix 0x000000004eb7173c      0t0  1939418 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan    5u     unix 0x00000000db8a25b3      0t0  1939419 /tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan    6u     unix 0x0000000015c66fa0      0t0  1939441 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan    7u  a_inode               0,13        0    11496 [eventpoll]
Xwayland 20554 alan    8u     unix 0x00000000c130aa15      0t0  1944439 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan    9u      CHR              226,0      0t0      692 /dev/dri/card0
Xwayland 20554 alan   10u      CHR              226,0      0t0      692 /dev/dri/card0
Xwayland 20554 alan   11u     unix 0x00000000313e2f4a      0t0  1945251 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   12u     unix 0x000000002c480fb6      0t0  1948769 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   13u     unix 0x00000000fe0b74af      0t0  1946332 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   14u     unix 0x000000008b10aa34      0t0  1946568 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   15u     unix 0x0000000009a83fdb      0t0  1948183 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   16u     unix 0x00000000eca69878      0t0  1948185 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   17u     unix 0x000000003a75c3bb      0t0  1955186 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   18u     unix 0x0000000072d53ca4      0t0  1957059 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   19u     unix 0x000000001efe4b9c      0t0  1948302 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   20u     unix 0x00000000777a260e      0t0  1946959 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   21u     unix 0x00000000925c7157      0t0  1948306 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   22u     unix 0x00000000ae315ead      0t0  1955996 @/tmp/.X11-unix/X0 type=STREAM
Xwayland 20554 alan   23u     unix 0x000000002edc3509      0t0  1948309 @/tmp/.X11-unix/X0 type=STREAM

gnome-shell確實從Xwayland日記連接開始。消息顯示在日誌中,前綴為org.gnome.Shell.desktop[3494]:,其中 3494 是gnome-shell程序的 PID。

請參閱’什麼是“org.gnome.Shell.desktop$$ 1711 $$:“在 systemd 日誌中的意思? ”。

這可能會令人困惑,因為gnome-shell以相同的方式記錄日誌並且可能非常嘈雜;而 Xwayland 可以非常安靜。我看到 Xwayland 沒有記錄任何啟動消息。我只看到有關​​錯誤的消息。

您可以嘗試通過以下技巧查找 Xwayland 消息

$ journalctl --since=-1month  | grep ': [(]..[)] ' | grep -v gdm-x-session

或者

$ journalctl --since=-1month \
   | grep -E '[(]([^0-9^a-z]){2}[)]' \
   | grep -v gdm-x-session

Mar 18 21:15:45 alan-laptop org.gnome.Shell.desktop[1133]: (EE) failed to read Wayland events: Connection reset by peer
Mar 18 21:48:01 alan-laptop org.gnome.Shell.desktop[3012]: (EE) failed to read Wayland events: Broken pipe
Mar 18 21:50:06 alan-laptop org.gnome.Shell.desktop[2124]: (EE) failed to read Wayland events: Connection reset by peer
Mar 19 11:03:43 alan-laptop org.gnome.Shell.desktop[29640]: (EE) failed to read Wayland events: Broken pipe

引用自:https://unix.stackexchange.com/questions/433181