Powłoka używa urządzenia TTY (jeśli jest podłączone do jednego), aby uzyskać dane wejściowe od użytkownika i uzyskać dane wyjściowe, i niewiele więcej. Fakt, że powłoka jest połączona z TTY jest określony przez getty
(i zachowany przez login
); przez większość czasu powłoka nie dba o to, czy jest połączona z TTY, czy nie. Jego interakcja z jądrem odbywa się za pośrednictwem wywołań systemowych.
Serwer X11 nie wie o logowaniu (podobnie jak powłoka). Proces logowania w X11 działa na dwa sposoby:
- albo użytkownik loguje się na terminalu, a następnie uruchamia X (zwykle używa
startx
);
- lub serwer X jest uruchamiany z „menedżerem wyświetlania”, który monituje użytkownika o login i hasło (lub wszelkie wymagane informacje uwierzytelniające).
Sposób, w jaki serwery X11 uzyskują dane wejściowe i generują dane wyjściowe, jest bardzo różny w porównaniu do powłoki. Po stronie wejściowej X wie o urządzeniach, których nie mają powłoki, zaczynając od myszy; zazwyczaj zarządza nimi bezpośrednio za pomocą własnych sterowników. Nawet w przypadku klawiatur X ma własne sterowniki, które uzupełniają obsługę jądra (tak jak rozumiem, na przykład w Linuksie X używa sterownika TTY do odczytu surowych danych wejściowych z klawiatury, ale następnie interpretuje to za pomocą własnego sterownika). Po stronie wyjściowej X napędza urządzenia wyświetlające bezpośrednio, z pomocą lub bez pomocy jądra i bez przechodzenia przez urządzenie TTY.
Serwery X11 na wielu systemach zrobić Urządzenia użycie TTY jednak, aby zsynchronizować z jądrem: w systemach, które obsługują wirtualnych terminali, X musi „rezerwy” VT to działa na rękojeść i przełączania VT. Po drodze jest jeszcze kilka innych subtelności; tak więc w Linuksie X poprawia TTY, aby wyłączyć GPM (program, który pozwala na użycie myszy w trybie tekstowym). X może także udostępniać VT ...
Na niektórych stacjach roboczych w przeszłości synchronizacja z jądrem nie była zbyt wyraźna; jeśli nie uruchomiłeś xconsole
, możesz skończyć z komunikatami jądra wyświetlanymi w „trybie tekstowym” nad wyświetlaczem X11.