我在带有 xfce 桌面的 Ubuntu 18.04 bionic 上。
今天我需要一个终端,但我不得不承认,我无法再打开任何终端仿真器。终端窗口一出现就关闭。我看不到任何错误消息。我测试了 xterm、qTerminal 和 gnome 终端,但它们的行为都一样。
我还切换到虚拟终端。在那里我可以输入登录信息,但当我确认时,错误消息闪烁,我又回到了登录屏幕。
所有其他软件似乎都运行正常,甚至包括 htop 等 CLI 软件和带有 shell 输出的 shell 脚本!
是什么导致了这个问题?昨天我按照这说明。我弄坏了什么东西吗?我完全迷路了!
更新:
我拿出相机,记录下了虚拟终端闪现的错误。不幸的是,没有错误,只有正常的登录信息:cf.https://linuxconfig.org/how-to-change-welcome-message-motd-on-ubuntu-18-04-server
答案1
好的 - 问题解决了。这几乎就是 r/talesfromtechsupport 的故事。简短版本:
我做了一些研究和实验,发现当我手动定义SHELL
环境变量时,我可以打开终端。使用ALT+F2您可以在 xfce 中打开“应用程序查找器”。我在那里运行:
env SHELL=/bin/bash gnome-terminal
现在我有了一个可以工作的终端,但其他问题仍然存在。经过进一步的研究,我开始思考为什么变量SHELL
设置不正确。我尝试在 /etc/passwd 中找到用户的默认 shell 设置,但无法在那里找到我的用户。然后我突然意识到:我的用户是 (windows) 域系统的一部分。
getent passwd $USER
我查看了我的网络用户的设置,结果发现注册的 shell 是/bin/false
。因此我联系了域管理员。他们告诉我,他们昨天做出了一些改变,以防止普通用户登录服务器。
这就是问题所在。其他人都没有遇到过这个问题,因为我是这里唯一使用 Linux 客户端的用户。管理员更改了设置,我又可以工作了。
感谢您的帮助!