每次注销时修改或删除特定环境变量

每次注销时修改或删除特定环境变量

每当 Debian 11 上发生(图形)注销时,我想有条件地(例如if $XDG_DEBUG == 1,然后...)为活动用户设置或清除特定的环境变量。环境变量应该在任何终端上修改/删除,稍后由用户稍后登录(例如bashzsh)来调用Gnome DesktopMate Desktop

重要的:环境变量应该在每次注销时修改/删除,因此对于以下顺序:注销,登录,再次注销,它们被修改/删除两次。不涉及重新启动。

背景是,Mate桌面设置了特定的环境变量,但在注销时没有正确删除它们。所以当从Mate桌面注销然后使用Gnome桌面登录时,设置的环境变量会干扰Gnome桌面,导致特定应用程序无法启动的情况。甚至系统应用程序也会因为某些环境变量设置不当而失败。

因此,我想创建一个清理任务,删除特定的环境变量。我尝试了几种方法,例如 withsystemd但一切都没有成功。当然,重要的是,在成功完成之前,该脚本不会在注销时被终止。如前所述,它应该在每次注销时运行,而不仅仅是在关机/重新启动时运行。

一个适用于从 Gnome 桌面和 Mate 桌面注销的解决方案会更好,但它至少应该适用于从 Mate 桌面注销。任何可行的解决方案对我来说都可以。

如何实现这一目标?

相关内容