我的桌面环境是non-login 环境吗?

我的debian,每次开机,都出现一个图形化的登录管理器,然后,我输入用户名、密码。

请问,我的这个桌面环境是non-login 环境?

如果,一开机就进入文字界面,然后输入startx,进入图形环境,这种情况就是login 环境吧?

我的理解对吧。

阅读 3.7k
2 个回答

问题得到了解答

http://unix.stackexchange.com...

prompt> echo $0
-bash # "-" is the first character. Therefore, this is a login shell.

prompt> echo $0
bash # "-" is NOT the first character. This is NOT a login shell.

A shell started in a new terminal in a GUI would be an interactive non-login shell. It would source your .bashrc, but not your .profile, for example.

我的猜测是正确的。

root@hwy:/home/debian8# echo $0
/bin/bash
root@hwy:/home/debian8# ssh -p xxxxxx root@xxxxxxxx
[root@localhost ~]# echo $0
-bash

login shell 和 non-login shell 是一个 bash / zsh / ksh 等命令行 shell 的概念。GUI、Python、Ruby、Perl、tmux 无此概念。

终端模拟器通常会有选项来指定是开 login shell 还是 non-login shell,比如 xfce4-terminal 的:

xfce4-terminal 设置对话框

回到你最初的问题,你的桌面环境是 non-login 环境吗?答案是:N/A(不适用)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题