显然,有一个Upstart 中的错误它随 Ubuntu 13.10 一起提供,它覆盖通过 $HOME/.profile 或 /etc/login.defs 设置的 umask。
Upstart 已更新以修复 Trusty 中的此问题,但我该如何在 Ubuntu 13.10 中解决这个问题呢?
错误报告提到在 $HOME/.config/upstart 中为您正在运行的任何会话创建一个 Upstart 覆盖作业。该怎么做?
报告还提到禁用用户会话的 Upstart,如果我没有理解错的话,13.10 之前版本就是这样的。但是这样做有什么副作用吗?
我如何才能知道更新后的 Upstart 是否能找到升级到 13.10 的方法?
答案1
我似乎已经解决了这个问题。以下是我所做的:
- 我将 gnome-session.conf 从 /usr/share/upstart/sessions 复制到 $HOME/.config/upstart 中的 gnome-session.override
- 我编辑了 gnome-session.override 并
umask 0002
在之前添加了一行exec gnome-session --session=$DESKTOP_SESSION
- 我编辑了 $HOME/.bashrc,并在文件末尾添加了 umask 002
第 2 步使桌面会话中新创建的文件可写,但终端的 umask 似乎仍然是 0022,这促使执行第 3 步。我也为其他用户重复了这些步骤。
欢迎提出评论,因为我不确定这是否是最好的解决方案。
答案2
尝试从 Trusty 安装 upstart 1.11-0ubuntu1;它对我来说有效。
下载适合您的架构的最新发布的软件包:
https://launchpad.net/ubuntu/trusty/+package/upstart使用以下命令安装:
sudo dpkg -i upstart_1.11-*.deb重启。