升级到 14.04LTS 后加载时出错

升级到 14.04LTS 后加载时出错

我最近将系统从 12.04LTS 升级到了 14.04LTS。在 kubuntu 显示后,我收到了此消息

Error found when loading /home/username/.profile :\n\nstdin is not a tty\n\n As a result the session will not be configured correctly. You should fix this problem as soon as feasible.

之后,我点击了“确定”按钮,它消失了,我的屏幕也恢复了正常。但是每次我启动系统时,这个消息都会重新出现。

我尝试了以下命令,但没有成功

cp /etc/skel/.profile ~/.profile

我的 .profile 文件的内容是

# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then    
 if [ -f ~/.bashrc ]; then    
    . ~/.bashrc    
 fi    
fi

mesg n

答案1

根据此 Ubuntu 论坛帖子, 问题是mesg n

在该文件的末尾你有:

mesg n

但它在图形模式下不起作用,因为(取自 man mesg)“mesg 假定它的标准输入已连接到您的终端”。

更改为:

if `tty -s`; then
   mesg n
fi

我想说那mesg n应该在你的中.bashrc,而不是在中.profile,它应该只假设它是在 POSIX shell 中运行。

相关内容