背景是,我正试图获得unclutter-xfixes
自动启动。作为其设置的一部分,unclutter
安装一个/etc/X11/Xsession.d/90unclutter
包含以下内容的文件:
# /etc/X11/Xsession.d/90unclutter
# This file is sourced by Xsession(5), not executed.
if [ -e /etc/default/unclutter ]
then
. /etc/default/unclutter
fi
if [ -x /usr/bin/unclutter ] && [ "${START_UNCLUTTER}" = "true" ]
then
/usr/bin/unclutter ${EXTRA_OPTS} &
fi
文件 at/etc/default/unclutter
设置了上面第二条语句中使用的变量,在我的情况下设置了START_UNCLUTTER="true"
,因此我希望 unclutter 以 开头X
,但事实并非如此。
我尝试了两件事来确认该文件的来源:
- 查看
Xsession
日志。根据man 5 Xsession
,"$HOME/.xsession-errors
... 是 Xsession 脚本和所有 X 客户端进程的标准输出和标准错误默认指向的位置 [并且]$TMPDIR/filename
... 是如果无法打开 $HOME/.xsession-errors 则放置 X 会话错误文件的位置。" 但是,在或用户的主目录sudo find -type f -name "*xsession*"
中均未产生任何结果。/tmp
- 做一些愚蠢的事情,比如
touch
在 末尾在用户主目录中创建一个新文件90unclutter
。这没有明显的效果。
我在的描述中看到man 5 Xsession
“某些显示管理器仅在用户明确指示时才调用 Xsession。”/etc/X11/default-display-manager
表示我正在使用gdm3
,但我无法确定是否gdm3
实际上正在调用Xsession
。
总之,我是否应该期望在默认安装中,在run-parts
约束下命名的文件/etc/X11/Xsession.d/
被来源?如果是这样,为什么我没有看到所述来源的预期效果,我该如何深入了解以确认发生了什么和没有发生什么?如果不是,我还有哪些其他途径可以在启动时在 GUI 上下文中启动进程?gdm3
22.04
编辑:根据@matigo 的回复,问题似乎在于它Xsession
在 Wayland 下运行,因此unclutter-startup
在 Wayland 下同样会出现问题。我已提交漏洞。
答案1
Ubuntu 22.04 将默认运行 Wayland 而不是 X。您可以使用以下终端命令确认系统正在使用哪个显示服务器:
echo $XDG_SESSION_TYPE
如果您正在运行 Wayland,则响应将是wayland
。否则,它将是x11
。