Kabuk, başka bir şey değil, kullanıcı girişi elde etmek ve çıktı üretmek için bir TTY cihazı (birine bağlıysa) kullanır. Bir kabuğun bir TTY'ye bağlı olması, tarafından belirlenir getty
(ve korunur login
); çoğu zaman kabuk bir TTY'ye bağlı olup olmadığını umursamaz. Çekirdek ile etkileşimi sistem çağrıları aracılığıyla gerçekleşir .
Bir X11 sunucusu girişleri bilmiyor (tıpkı bir kabuk gibi). X11'deki oturum açma işlemi iki şekilde çalışır:
- kullanıcı terminalde oturum açar ve ardından X'i başlatır (genellikle kullanarak
startx
);
- veya X sunucusu, kullanıcıdan oturum açma ve parola isteyen (veya gerekli kimlik doğrulama bilgilerinin istenildiği) bir “görüntü yöneticisi” ile başlatılır.
X11 sunucularının girdi alma ve çıktı üretme biçimi bir kabuktan çok farklıdır. Giriş tarafında, X, farelerden başlayarak mermilerin yapmadığı cihazları biliyor; tipik olarak bunları doğrudan kendi sürücüleri ile yönetir. Klavyeler için bile, X'in çekirdeğin kullanımını tamamlayan kendi sürücüleri vardır (anladığım kadarıyla, Linux'ta X, TTY sürücüsünü klavyeden ham girişi okumak için kullanır, ancak bunu kendi sürücüsünü kullanarak yorumlar). Çıkış tarafında, X, görüntüleme aygıtlarını doğrudan, çekirdeğin yardımı olsun veya olmasın ve bir TTY aygıtından geçmeden görüntüler.
Birçok sistemlerde X11 sunucuları yapmak çekirdek ile senkronize etmek, kullanım TTY cihazlar olsa: Sanal terminalleri destekleyen sistemlerde, X “rezerv” üzerinde çalıştığı VT ve sap VT anahtarlama gerekiyor. Yol boyunca başka incelikler de var; bu nedenle Linux'ta X, GPM'yi (farelerin metin modu kullanımına izin veren bir program) devre dışı bırakmak için TTY'yi değiştirir. X ayrıca bir VT paylaşabilir ...
Geçmişteki bazı iş istasyonlarında, çekirdek ile çok açık bir senkronizasyon yoktu; Eğer çalışmadıysanız xconsole
, X11 ekranınızın üst kısmında “metin modunda” görüntülenen çekirdek mesajlarıyla karşılaşabilirsiniz.