Bardzo ważną cechą systemów uniksowych jest rozdzielenie systemu, czyli procesów wykonujących zadania, od interfejsu. Dotyczy to nie tylko interfejsu graficznego, ale także i tekstowego.
Jądro Linux ma zaimplementowaną emulację terminali. Historycznie terminale były to komputery o minimalnych możliwościach obliczeniowych i bez własnej pamięci masowej, ale z monitorem i klawiaturą. Za pomocą tych terminali można było sterować główną jednostką obliczeniową. Taki podział był spowodowany m.in. przez bardzo wysoką cenę komputerów w tamtym czasie, i umożliwiał pracę na wielu stanowiskach, z użyciem tylko jednego komputera.
Obecnie wbudowana obsługa terminali w GNU/Linuksie umożliwia zarówno zdalną pracę (np. zdalną administrację serwerem), jak i wykorzystanie wielozadaniowości systemu także w środowisku tekstowym (uruchomienie wielu terminali odpowiada funkcjonalnie otwarciu wielu okien, gdzie w czasie gdy jeden program jest zajęty i nie odpowiada, możemy pracować w innym).
Taka budowa ma również skutki dla twórców oprogramowania - umożliwia to napisanie aplikacji która nie ma praktycznie interfejsu, tylko komunikuje się z użytkownikiem za pomocą wypisywanych linijek tekstu, a użytkownik wpisuje polecenia. Kiedy chcemy mieć aplikację, która wykonuje dokładnie to samo zadanie, ale ma prostszy interfejs, np. wybór wykonywanej akcji z menu, można napisać po prostu nakładkę na nasz pierwotny program, i jego wyjście i wejście przekierować do tej nakładki, zamiast na ekran (czyli terminal).
Poruszanie się po terminalach
edytujW większości dystrybucji jest standardowo 6 terminali uruchamianych - od numeru 7 wzwyż znajdują się środowiska graficzne w kolejności uruchamiania. Terminale mają nazwy ttyliczba, np. tty1 - pierwszy wirtualny terminal.
Do poruszania się pomiędzy terminalami dostępnych jest kilka skrótów klawiszowych:
- LewyAlt + StrzałkaWPrawo - przechodzimy do terminala o wyższym numerze (np. z 2. na 3.)
- LewyAlt + StrzałkaWLewo - przechodzimy to terminala o niższym numerze; jeżeli jesteśmy na 1. terminalu, to przejdziemy na ostatni (np. 7.), podobnie w pierwszym przypadku
- LewyAlt + Fn, gdzie n to numer terminala, na który chcemy przejść (np. LewyAlt+F1 przenosi nas na pierwszy terminal).
Natomiast w środowisku graficznym te skróty nieznacznie się różnią:
- kombinacja LewyAlt + strzałka, nie działa
- Ctrl + LewyAlt + Fnumer_terminala - przechodzimy do terminala o podanym numerze.
Wirtualne terminale inaczej określa się jako "wirtualne konsole".