如何在不删除其软件包的情况下禁用 unclutter 程序?

如何在不删除其软件包的情况下禁用 unclutter 程序?

unclutter在我的 lubuntu 22.04 上,我通过以下命令安装了该包:

sudo apt-get install unclutter

这个包的描述如下:

unclutter 会在您不需要时隐藏 X 鼠标光标,以防止它妨碍操作。您只需移动鼠标即可恢复鼠标光标。

安装并重新启动后,我可以看到以下unclutter过程ps aux

$ ps aux | grep unclutter
myuser  926  0.0  0.1   4704  2784 ?  S    09:39   0:00 /usr/bin/unclutter -idle 1 -root

此外,systemctl status我可以假设已经unclutter启动,systemd因为命令的输出systemctl status包含:

$ systemctl status

├─user.slice 
|       ├─user-1000.slice 
|       │   ├─[email protected]
|       |   ...
|       └─session-1.scope 
|          │     ├─ ...
|          │     ├─ ...
|          │     ├─ 926 /usr/bin/unclutter -idle 1 -root
...       ...    ...

整理启动

通过命令apt list --installed我发现,使用unclutter还安装了包unclutter-startup,并且在文档这个其他包的描述是:

用于 unclutter 和 unclutter-xfixes 的自动启动基础设施

这句话解释说unclutter,按包装unclutter-startup,有一个自动启动基础设施负责它的启动。

我的问题

该程序可能是由服务启动的,但我不明白启动它的服务是什么。那么如何在不删除包的情况下unclutter禁用它?unclutter

答案1

在@muru 的帮助下,我找到了我的问题的解决方案。

文件/etc/default/unclutter

通过该文件/etc/default/unclutter可以选择是否unclutter在 X 启动后启动,因此可以禁用其启动。

该文件的内容/etc/default/unclutter如下:

# /etc/default/unclutter - configuration file for unclutter

# Set this option to 'true' if you want to start unclutter
# automagically after X has been started for a user.
# Otherwise, set it to 'false'.
START_UNCLUTTER="true"

# Options passed to unclutter, see 'man unclutter' for details.
EXTRA_OPTS="-idle 1 -root"

正如我们在评论中看到的,为了禁用启动,unclutter我必须将变量的值设置START_UNCLUTTER"false"

START_UNCLUTTER="false"

重新启动显示管理器

在完成之前的更改值后,我必须通过以下命令重新启动显示管理器:

sudo systemctl restart display-manager

无需重启。

systemd不涉及

正如@muru 在该评论中所解释的那样:

那么它不是由 systemd 启动的,而是由其他机制启动的。可能是 XDG 自动启动。根据unclutter-startup 的文件列表,我想这就是剧本/etc/X11/Xsession.d/90unclutter

systemd未参与此次unclutter创业。

相关内容