Ubuntu – Why is the GDM at a different TTY than the desktop environment

gdmtty

I am running Ubuntu Gnome 16.10 (64bit). Gnome-shell version 3.20.4.

When I start my computer, I eventually see GDM3 offering a login prompt, as expected.

After I login, my monitors flash a little (like they're unplugged and then replugged in), and then I am brought to the gnome 3 desktop.

However, if I hit CTRL + ALT + F1, I am brought back to GDM3, offering a login prompt.

If I then hit CTRL + ALT + F2, I am brought back to my Gnome 3 desktop.

So it seems like GDM3 continues to run in TTY1 while the desktop runs in TTY2.

Questions

  1. Is this how things are supposed to work? I thought the desktop was supposed to use the same TTY (or whatever you call it) as the display manager.
  2. Am I using more graphical resources by having things setup this way?
  3. Is there a way to have GDM3 pass off the display to Gnome Desktop after I login?
  4. Is there any advantage do doing #3?

Best Answer

A similar issue has been raised in another post. Answering your questions:

  1. Is this how things are supposed to work? I thought the desktop was supposed to use the same TTY (or whatever you call it) as the display manager.

Well, it was. The GNOME developer responsible for gdm explained here how it worked previously and what they did change:

Previously, we launched one X server as root, and then when you logged in, we "morphed" it into the session X server. If you went to fast user switching, we then launched a second X server on-demand.

For security reasons, and Wayland porting reasons, we now launch the X server and Wayland server within the user's session, instead of starting one as root.

The way that we do this is that we launch two X servers, one for the gdm greeter session, and for the session user.

It would be entirely possible to tear-down the greeter after we've switched to the user session, it just requires a bit more code, but unfortunately it wouldn't be possible to put both the greeter session and the user session on VT1, since we'd have to launch the user session first, and then tear down the greeter session, and we can't be in that intermediate state while there are two X servers on the same VT at the same time.

I just forgot about the resource issues around keeping around two gnome-shell instances. I'll have a chat with Ray to see if we want to tear down the greeter session and then launch it on demand for user switching / logout to save on resources.


  1. Am I using more graphical resources by having things setup this way?

Yes.

  1. Is there a way to have GDM3 pass off the display to Gnome Desktop after I login?

Probably not until a fix is delivered or you revert back to gdm 3.14, but this is probably not the best way out.

  1. Is there any advantage do doing #3?

There have been complaints about memory leaks in gdm3 and several performance issues.

The best thing you could do is to switch your desktop manager from gdm3 to lightdm until this is fixed. The good thing is you are using Ubuntu GNOME, and lightdm is cool and looks just like unity login screen.

  1. Installl lightdm:

     sudo apt install lightdm
    
  2. Switch to it:

     sudo dpkg-reconfigure lightdm
    

Reboot and you're good to go with your tty and normal resource consumption and still use GNOME. Or switch to other desktop environment like KDE, XFCE, Mate, etc.