I'm on Ubuntu 18.04 bionic with a xfce desktop.

Today I needed a terminal and had to learn that I'm not able any more to open ANY terminal emulator. The terminal windows just close as they appear. I'm not able to see any error message. I tested xterm, qTerminal and the gnome terminal, but they all behave the same.

I also switched to the virtual terminal. There I was able to enter login information, but as I confirm an error message flashes and I'm back on the login screen.

All other software seems to work without any problems. Even CLI software like htop and shell scripts with shell output!

What did cause this problem? Yesterday I installed qgis with ubuntugis according to this instructions. Did I break something? I'm absolutely lost!

I took my camera and recorded the flashing error in the virtual terminal. Unfortunately there is no error, but just the normal login message: cf. https://linuxconfig.org/how-to-change-welcome-message-motd-on-ubuntu-18-04-server

  • 3
    It sounds like there is something in one of your user's shell startup scripts (~/.bashrc, ~/.profile etc.) that is causing the shell to exit immediately - taking the parent terminal with it – steeldriver Feb 7 at 13:41
  • Does logging in as root in a virtual terminal work? – dessert Feb 7 at 13:45
  • I don't have the root password for this computer, only a user with sudo permissions. – nevrome Feb 7 at 13:47
  • 1
    Did you recently make any changes to your shell’s dotfiles (mentioned in this comment)? If yes, please edit and add either the lines you changed or the whole file content. – dessert Feb 7 at 13:51
  • The shell startup scripts are not the problem. I replaced them with the ones from /etc/skel to rule out any issues here. – nevrome Feb 7 at 16:01

Ok - it's solved. This is almost a story for r/talesfromtechsupport. The short version:

I did some research and experiments and found out that I can open a terminal when I define the SHELL environment variable manually. With ALT + F2 you can open an "Application Finder" in xfce. There I ran:

env SHELL=/bin/bash gnome-terminal

So now I had a working terminal, but my other problems persisted. Some more research let me to the question why the SHELL variable is not set correctly. I tried to find the default shell setting for my user in /etc/passwd, but was not able to find my user there. Then it dawned on me: My user is part of a (windows) domain system. With

getent passwd $USER 

I looked up the settings for my network user, and lo and behold, the registered shell was /bin/false. So I contacted the domain admins. They told me they applied some changes yesterday to prevent logins on the servers by normal users.

That was the problem. Nobody else experienced it, because I'm the only user here with a linux client. The admins changed the setting and I'm back at work.

Thank you for your help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.