Xsession 是否在 Jammy(22.04)上默认运行?

Xsession 是否在 Jammy(22.04)上默认运行?

背景是,我正试图获得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,但事实并非如此。

我尝试了两件事来确认该文件的来源:

  1. 查看Xsession日志。根据man 5 Xsession," $HOME/.xsession-errors... 是 Xsession 脚本和所有 X 客户端进程的标准输出和标准错误默认指向的位置 [并且] $TMPDIR/filename... 是如果无法打开 $HOME/.xsession-errors 则放置 X 会话错误文件的位置。" 但是,在或用户的主目录sudo find -type f -name "*xsession*"中均未产生任何结果。/tmp
  2. 做一些愚蠢的事情,比如touch在 末尾在用户主目录中创建一个新文件90unclutter。这没有明显的效果。

我在的描述中看到man 5 Xsession“某些显示管理器仅在用户明确指示时才调用 Xsession。”/etc/X11/default-display-manager表示我正在使用gdm3,但我无法确定是否gdm3实际上正在调用Xsession

总之,我是否应该期望在默认安装中,在run-parts约束下命名的文件/etc/X11/Xsession.d/被来源?如果是这样,为什么我没有看到所述来源的预期效果,我该如何深入了解以确认发生了什么和没有发生什么?如果不是,我还有哪些其他途径可以在启动时在 GUI 上下文中启动进程?gdm322.04


编辑:根据@matigo 的回复,问题似乎在于它Xsession在 Wayland 下运行,因此unclutter-startup在 Wayland 下同样会出现问题。我已提交漏洞

答案1

Ubuntu 22.04 将默认运行 Wayland 而不是 X。您可以使用以下终端命令确认系统正在使用哪个显示服务器:

echo $XDG_SESSION_TYPE

如果您正在运行 Wayland,则响应将是wayland。否则,它将是x11

相关内容