环境
bash
-` itkey@archlinux
.o+` ---------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: 83K9 (XiaoXin 14c AHP10)
`+oooooo: Kernel: Linux 7.0.5-zen1-1-zen
-+oooooo+: Uptime: 1 hour, 42 mins
`/:-:++oooo+: Packages: 8 (flatpak), 1701 (pacman)
`/++++/+++++++: Shell: zsh 5.9
`/++++++++++++++: Display (HDMI-1): 3840x2160 @ 2x in 28", 60 Hz [External] *
`/+++ooooooooooooo/` Display (eDP-1): 1920x1200 @ 2x in 14", 60 Hz [Built-in]
./ooosssso++osssssso+` WM: awesome (X11)
.oossssso-````/ossssss+` Cursor: Adwaita
-osssssso. :ssssssso. Terminal: tmux 3.6a
:osssssss/ osssso+++. CPU: AMD Ryzen 7 8745HS (16) @ 4.97 GHz
/ossssssss/ +ssssooo/- GPU: AMD Radeon 780M Graphics [Integrated]
`/ossssso+/:- -:/+osssso+- Memory: 5.58 GiB / 13.41 GiB (42%)
`+sso+:-` `.-/+oso: Swap: 200.00 KiB / 20.62 GiB (0%)
`++:. `-/+/ Disk (/): 179.33 GiB / 229.27 GiB (78%) - ext4
.` `/ Disk (/mnt/data): 12.37 GiB / 20.10 GiB (62%) - fuseblk [Read-only]
Disk (/mnt/windows): 194.85 GiB / 200.00 GiB (97%) - fuseblk [Read-only]
Local IP (tun0): 172.19.0.1/30
Battery (L24N3PK2): 75% [AC Connected]
Locale: zh_CN.UTF-8
现象
有在awesome (X11)之中运行程序,有不少之前运行正常的程序,近期会报错。比如:edge
程序似乎想以wayland方式启动,但是启动失败了。
我日常使用awesome,但是因为一次archlinux更新后,awesome崩溃了,所以短暂的使用过gnome。然后又切回了awesome,就出来这个故障了。
后来我发现我的环境变量有问题
bash
echo $XDG_SESSION_TYPE
wayland
解决办法
方法来自AI实测有较
bash
busctl call org.freedesktop.Accounts \
/org/freedesktop/Accounts/User1000 \
org.freedesktop.Accounts.User \
SetSessionType s x11
重新登录或重启后再确认当前会话:
bash
echo "$XDG_SESSION_TYPE"
loginctl show-session "$XDG_SESSION_ID" -p Type
原因:
之前的问题是:GDM 记录了你要进入 awesome,但没有记录它是 X11 会话,于是 logind/GDM 把当前 session 错登记成
wayland,导致 gdm-x-session -> awesome -> 终端/程序 全链路继承了 XDG_SESSION_TYPE=wayland。