我有一台运行 Ubuntu 16.04 Desktop(运行 Unity)的机器。我正在尝试不同的桌面环境xrdp
,所以我安装了xfce4
(sudo apt install xfce4
)和mate-desktop
(sudo apt install mate-core mate-desktop-environment mate-notification-daemon
)。
/etc/profile.d
但是,我发现在使用这些桌面环境时,对于某些用户(特别是我正在进行实验的用户),中的脚本都没有运行。我删除了xrdp
、xfce4
和 ,mate
希望恢复以前的行为,但无济于事。
Ubuntu 16 启动时是否有任何地方可以显示/etc/profile.d
脚本的运行时间/位置?安装其他桌面会对此产生什么影响?
任何帮助都将不胜感激。
答案1
这些文件应由显示管理器提供。
光能管理 (LightDM):/usr/sbin/lightdm-session
妊娠期糖尿病:/etc/gdm3/Xsession
(我不知道其他 DM 在这方面是如何工作的。)
请注意,脚本名称必须以 结尾.sh
。
答案2
事实证明它与会话管理器完全无关。
经过进一步检查,我发现遇到脚本无法获取问题的用户已将其 shell 从 更改为bash
。zsh
由于zsh
某种原因,无法获取 中的脚本/etc/profile.d
,这解释了为什么它对其他用户有效而对这个用户无效。我将它们切换回bash
,这似乎解决了问题。
我想这就引出了一个问题,为什么不zsh
运行脚本/etc/profile.d
?