删除软件包时是否应该删除 /etc/xdg/autostart/ 中的文件?

删除软件包时是否应该删除 /etc/xdg/autostart/ 中的文件?

我发现了下面的消息sudo journalctl --since today | tail -n 3000。删除软件包时不应该从那里删除自动启动条目吗?

如果软件包已被删除,则删除自动启动条目似乎是一般的好习惯(或者在删除过程中提示用户,或者在运行类似命令时删除它们sudo apt-get autoremove)。此外,如果可执行文件以与 Exec 中的命令相同的方式命名/别名/链接,是否会导致可执行文件自动启动。

如果当前尚未完成此操作,自动删除这些条目的正确方法是什么?哪里可能存在这个问题?现在,我在 Debian12/KDE 下只是像这样移动它们,sudo mv /etc/xdg/autostart/xbindkeys.desktop ~/DisabledAutostarts_defunct/xbindkeys.desktop并希望作为一种解决方法,这很好。

systemd-xdg-autostart-generator[1712]: Exec binary 'xbindkeys_autostart' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/xbindkeys.desktop: not generating unit, executable specified in Exec= does not exist.
systemd-xdg-autostart-generator[1712]: Exec binary '/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop: not generating unit, executable specified in Exec= does not exist.
systemd-xdg-autostart-generator[1712]: Exec binary 'gsettings-data-convert' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/gsettings-data-convert.desktop: not generating unit, executable specified in Exec= does not exist.
systemd-xdg-autostart-generator[1712]: Exec binary 'start-pulseaudio-x11' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/pulseaudio.desktop: not generating unit, executable specified in Exec= does not exist.
systemd-xdg-autostart-generator[1712]: Exec binary 'kmixctrl' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/restore_kmix_volumes.desktop: not generating unit, executable specified in Exec= does not exist.
systemd-xdg-autostart-generator[1712]: Exec binary 'kmix' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/kmix_autostart.desktop: not generating unit, executable specified in Exec= does not exist.
systemd-xdg-autostart-generator[1712]: Exec binary 'usbguard-applet-qt' does not exist: No such file or directory
systemd-xdg-autostart-generator[1712]: /etc/xdg/autostart/usbguard-applet-qt.desktop: not generating unit, executable specified in Exec= does not exist.

导致自动启动的文件与任何 /etc/ 配置文件不同,后者仅在应用程序运行时提供一些配置。除了提到的问题之外,例如,在重新安装同一软件的更高版本时,它甚至也可能是一个问题,因为它可能会在该文件夹中使用另一个名称创建一个附加条目,因此它会启动两次。现在问题就在这里。

答案1

这些文件被视为配置文件,并且仅在程序包清除时删除,而不是在程序包删除时删除。

apt list '~c'

将列出已删除但未清除的软件包(可能包括一些dpkg仍被认为已安装但并未真正安装的软件包)。

sudo apt purge '~c'

将清除它们,您也会看到它们的配置文件/etc也消失了。

我同意这种情况不太好。我认为最好的解决方案是如果桌面应用程序自动启动规范允许将自动启动文件拖放到下面的某个位置(与可以安装/usr常规文件的方式相同);这样,包就可以将它们的默认自动启动文件发送到那里,并且它们将与其他非配置内容一起被自动删除。.desktop/usr/share/applications

相关内容