Upstart 服务在 SSH 会话中工作,但在本地终端会话中不工作

Upstart 服务在 SSH 会话中工作,但在本地终端会话中不工作

如果我打开本地终端并尝试启动 upstart 服务,我会收到以下错误:

service rsync status
status: Unknown job: rsync

但如果我以同一个用户身份通过​​ SSH 登录,一切正常:

service rsync status
rsync start/running, process 965

有人能解释一下为什么本地用户和通过 SSH 登录的用户的行为不同吗?我认为这一定是我的 .bashrc 或类似文件的问题,但我不确定我应该寻找什么。

更多细节:

Ubuntu 14.04 在 OS X 下的 VirtualBox 上运行。

如果我使用 sudo,也会出现同样的症状。

如果我尝试不同的服务,就会出现相同的症状。

重启后会出现相同症状。

‘服务状态’、‘服务启动’和‘服务停止’都出现了相同的症状。

失败似乎在于发现服务,所以我不认为 .conf 语法是问题所在。如果我列出所有服务,我会得到非常不同的结果:

本地终端会话:

initctl list | wc -l
37

SSH 会话(以同一用户身份):

initctl list | wc -l
109

更新

根据 @muru 的建议,我找到了一个修复/破解方法。我将其添加到我的 .bashrc 末尾:

unset UPSTART_SESSION

这感觉有点肮脏,我找不到这个变量到底在哪里设置,但它解决了这个问题。

谢谢你的帮助!

相关内容