Dlaczego mój GDM ma inny TTY niż środowisko komputerowe?

15

Używam Ubuntu Gnome 16.10 (64-bitowy) . Wersja Gnome-shell 3.20.4 .

Kiedy uruchamiam komputer, ostatecznie widzę, że GDM3 oferuje monit o logowanie, zgodnie z oczekiwaniami.

Po zalogowaniu moje monitory trochę migają (jakby były odłączone, a następnie ponownie podłączone), a następnie przeniesiono mnie na pulpit gnome 3.

Jednak jeśli kliknę CTRL + ALT + F1, nastąpi powrót do GDM3, oferując monit o zalogowanie.

Jeśli następnie wcisnę CTRL + ALT + F2, nastąpi powrót do pulpitu Gnome 3.

Wygląda więc na to, że GDM3 nadal działa w TTY1, podczas gdy pulpit działa w TTY2.

pytania

  1. Czy tak właśnie powinny działać rzeczy? Myślałem, że pulpit powinien używać tego samego TTY (lub jak to nazwiesz) jak menedżer wyświetlania.
  2. Czy używam więcej zasobów graficznych, konfigurując w ten sposób?
  3. Czy istnieje sposób, aby GDM3 przekazywał ekran do Gnome Desktop po zalogowaniu?
  4. Czy jest jakaś korzyść z robienia nr 3?
JoshuaD
źródło
Z wyjątkiem szczegółów (17.04-64-bit, tty1 = gdm, tty7 = sesja), widzę to po raz pierwszy ... Wiem, że była to sesja tty7 = gdm + z dostępnym tty1-tty6. Nie jestem pewien, jak się tu dostałem. :(
TheGeeko61
Kolejne pytanie ... może to skonsolidować z tym: askubuntu.com/questions/856940/...
TheGeeko61

Odpowiedzi:

16

Podobny problem został poruszony w innym poście . Odpowiadając na twoje pytania:

  1. Czy tak właśnie powinny działać rzeczy? Myślałem, że pulpit powinien używać tego samego TTY (lub jak to nazwiesz) jak menedżer wyświetlania.

Tak było. Deweloper GNOME odpowiedzialny za gdm wyjaśnił tutaj, jak wcześniej działał i co zmienili:

Wcześniej uruchomiliśmy jeden serwer X jako root, a następnie, gdy się zalogowałeś, „przekształciliśmy” go w serwer X sesji. Jeśli przeszedłeś do szybkiego przełączania użytkowników, uruchomiliśmy drugi serwer X na żądanie.

Ze względów bezpieczeństwa i ze względu na portowanie Wayland, uruchamiamy teraz serwer X i serwer Wayland w sesji użytkownika, zamiast uruchamiać jako root.

Robimy to w ten sposób, że uruchamiamy dwa serwery X, jeden dla sesji Gredera gdm i dla użytkownika sesji.

Po przejściu na sesję użytkownika byłoby całkowicie możliwe wybudzenie programu witającego, wymaga tylko trochę więcej kodu, ale niestety nie byłoby możliwe umieszczenie sesji witającej i sesji użytkownika na VT1, ponieważ musielibyśmy najpierw uruchomić sesję użytkownika, a następnie zburzyć sesję powitania, i nie możemy być w tym stanie pośrednim, gdy na tym samym VT są jednocześnie dwa serwery X.

Właśnie zapomniałem o problemach z zasobami związanych z utrzymywaniem dwóch instancji powłoki gnome. Porozmawiam z Rayem, aby sprawdzić, czy chcemy zburzyć sesję powitania, a następnie uruchomić ją na żądanie w celu przełączenia / wylogowania użytkownika w celu zaoszczędzenia zasobów.


  1. Czy używam więcej zasobów graficznych, konfigurując w ten sposób?

Tak.

  1. Czy istnieje sposób, aby GDM3 przekazywał ekran do Gnome Desktop po zalogowaniu?

Prawdopodobnie nie do momentu dostarczenia poprawki lub powrotu do wersji 3.14 gdm, ale prawdopodobnie nie jest to najlepsze wyjście.

  1. Czy jest jakaś korzyść z robienia nr 3?

Pojawiły się skargi na wycieki pamięci w gdm3 i kilka problemów z wydajnością.

Najlepszą rzeczą, jaką możesz zrobić, to zmienić menedżera pulpitu z gdm3 na lightdm, dopóki nie zostanie to naprawione. Dobrą rzeczą jest to, że używasz Ubuntu GNOME, a lightdm jest fajny i wygląda jak ekran logowania do jedności.

  1. Zainstaluj lightdm:

    sudo apt install lightdm
    
  2. Przełącz się na to:

    sudo dpkg-reconfigure lightdm
    

Zrestartuj się i możesz korzystać ze swojego tty i normalnego zużycia zasobów i nadal używać GNOME. Lub przełącz się na inne środowisko pulpitu, takie jak KDE, XFCE, Mate itp.

luisdarui
źródło