Ubuntu 16.04 未运行 /etc/profile.d/ 中的脚本

Ubuntu 16.04 未运行 /etc/profile.d/ 中的脚本

我有一台运行 Ubuntu 16.04 Desktop(运行 Unity)的机器。我正在尝试不同的桌面环境xrdp,所以我安装了xfce4sudo apt install xfce4)和mate-desktopsudo apt install mate-core mate-desktop-environment mate-notification-daemon)。

/etc/profile.d但是,我发现在使用这些桌面环境时,对于某些用户(特别是我正在进行实验的用户),中的脚本都没有运行。我删除了xrdpxfce4和 ,mate希望恢复以前的行为,但无济于事。

Ubuntu 16 启动时是否有任何地方可以显示/etc/profile.d脚本的运行时间/位置?安装其他桌面会对此产生什么影响?

任何帮助都将不胜感激。

答案1

这些文件应由显示管理器提供。

光能管理 (LightDM):/usr/sbin/lightdm-session

妊娠期糖尿病:/etc/gdm3/Xsession

(我不知道其他 DM 在这方面是如何工作的。)

请注意,脚本名称必须以 结尾.sh

答案2

事实证明它与会话管理器完全无关。

经过进一步检查,我发现遇到脚本无法获取问题的用户已将其 shell 从 更改为bashzsh由于zsh某种原因,无法获取 中的脚本/etc/profile.d,这解释了为什么它对其他用户有效而对这个用户无效。我将它们切换回bash,这似乎解决了问题。

我想这就引出了一个问题,为什么不zsh运行脚本/etc/profile.d

相关内容