Co robi polecenie tty w Linuksie? Wyświetla nazwę terminala, którego używasz.
Pochodzenie Linuksa tty
Jakie jest pochodzenie terminu „tty”? Cóż, trochę trudniej to wyjaśnić…
Teledrukarki z dawnych czasów
W latach 30. i 40. XIX wieku opracowano maszyny zwane teledrukarkami. Urządzenia te mogą przesyłać wpisywane wiadomości „w dół przewodu” do innych miejsc. Nadawca użył urządzenia przypominającego klawiaturę, aby wpisać wiadomość, i została wydrukowana na papierze po stronie odbiorczej. Stanowili ewolucyjny krok w telegrafii, która wcześniej opierała się na Morse’u.
Wiadomości były szyfrowane i wysyłane, a następnie dekodowane i drukowane. Zostały zakodowane przy użyciu różnych technik. Najsłynniejszy, a zarazem jeden z najbardziej płodnych, został opatentowany w 1874 roku przez Emile Baudot, którego imieniem nazwano „szybkość transmisji”. Jego metoda kodowania znaków wyprzedziła ASCII o 89 lat.
Kodowanie Baudota w końcu stało się de facto standardem kodowania teledrukarek i zostało przyjęte przez większość producentów. Oryginalny projekt sprzętowy Baudota składał się z zaledwie pięciu klawiszy, podobnych do fortepianu. Dla każdej litery operator musiał zapamiętać określoną sekwencję klawiszy. System kodowania Baudot został później połączony z tradycyjnym układem klawiatury.
Na pamiątkę tego postępu maszyny nazwano dalekopisami. Słowo teletypes zostało skrócone do TTY, co ostatecznie stało się jego wspólną nazwą. Więc o co chodzi z telegrafią i komputerami?
ASCII i Telex
Producenci dalekopisów przyjęli go w 1963 roku i stał się branżowym standardem transmisji tekstu. Pomimo wynalezienia i powszechnego używania telefonu, dalekopisy były nadal powszechne.
Telex był ogólnoświatową siecią dalekopisów, która umożliwiała wysyłanie pisemnych komunikatów na całym świecie. Był to główny sposób przesyłania pisemnych informacji w okresie po II wojnie światowej, aż do boomu faksów w latach 80. XX wieku.
Poprawiły się także komputery. Udało im się nawiązać kontakt z użytkownikami końcowymi w czasie rzeczywistym i wspierać wiele osób. Stare podejście do pracy wsadowej okazało się niewystarczające. Ludzie nie chcieli czekać 24 godziny lub dłużej na wyniki. Tworzenie stosów kart dziurkowanych i czekanie przez noc na wyniki nie było już akceptowalne.
Pojawienie się komputerów i rozwój nowej technologii stworzyły zapotrzebowanie na oprogramowanie, które umożliwiłoby użytkownikom wysyłanie i odbieranie danych. Chcieliśmy wydajności.
Zmieniono przeznaczenie dalekopisu
Dalekopis był idealnym kandydatem na urządzenie wejścia/wyjścia, ponieważ było to urządzenie, które umożliwiało wpisywanie, kodowanie, przesyłanie, odbieranie, dekodowanie i drukowanie wiadomości.
Daletypii nie obchodziło, czy urządzenie na drugim końcu łącza nie jest innym dalekopisem. Daletyp był w porządku, o ile mógł mówić tym samym językiem kodowania. Używał mniej więcej standardowej klawiatury o nieco zmienionym układzie.
Teletypy emulowane sprzętowo
Teletypy stały się de facto sposobem interakcji z dużymi komputerami typu mini i mainframe z tamtej epoki, zastępując maszyny telegraficzne.
Zostały one ostatecznie wyparte przez urządzenia symulujące je za pomocą elektroniki, z lampami katodowymi (CRT) zamiast rolek papieru. Nie drżeli, gdy dostarczali odpowiedzi z komputera. Włączyli wcześniej niemożliwe funkcje, takie jak przesuwanie kursora po ekranie, czyszczenie ekranu i pogrubiony tekstmiędzy innymi.
DEC VT05 był wczesnym wirtualnym dalekopisem, a jego potomkiem jest słynny DEC VT100. DEC VT100 sprzedał się w milionach egzemplarzy.
Teletypy emulowane programowo
Okno terminala i aplikacje, takie jak x-term i Konsole, są wirtualnymi dalekopisami w środowisku pulpitu Linux i innych uniksopodobnych systemach operacyjnych, takich jak macOS. Są jednak całkowicie symulowane. Nazywają się fałszywymi teletypami. Akronim został skrócony do PTS.
I tu właśnie pojawia się polecenie tty Linuksa.
Mówiąc o MacOS, czy chciałbyś zainstalować Linuksa na swoim iPadzie?
Co tty może zrobić w Linuksie?
W systemie Linux istnieje „multipleksor pseudo-teletypu”, który obsługuje wszystkie połączenia PTS w oknie terminala. Urządzenie nadrzędne jest multiplekserem, a PTS są jego urządzeniami podrzędnymi. Jądro komunikuje się z multiplekserem poprzez jego plik urządzenia w /dev/ptmx
Polecenie tty wypisze nazwę pliku urządzenia, którego twój pseudo-teletypowy slave używa do łączenia się z masterem. I to w rzeczywistości jest numer twojego okna terminala.
Zobaczmy, jakie raporty tty Linuksa:
tty
Odpowiedź pokazuje, że jesteśmy połączeni z plikiem urządzenia w /dev/pts/0.
Okno terminala, które jest programową imitacją dalekotypu, jest połączone z multiplekserem pseudoteletypii jako PTS. I to zero.
Cicha opcja
Opcja -s (silent) powoduje, że tty nie generuje żadnych danych wyjściowych.
tty -s
Daje wartość wyjścia, jeśli:
0: jeśli standardowe wejście pochodzi z urządzenia TTY, emulowane lub fizyczne.
1: jeśli standardowe wejście nie pochodzi z urządzenia TTY.
2: Błąd składni, użyto niepoprawnych parametrów wiersza poleceń.
3: Wystąpił błąd zapisu.
Będzie to najbardziej przydatne w skryptach Bash. Jednak nawet w wierszu poleceń możemy pokazać, jak wykonać polecenie, jeśli jesteś w oknie terminala (sesja TTY lub PTS).
tty -s && echo "In a tty"
Ponieważ pracujemy w sesji TTY, nasz kod wyjścia to 0 i wykonywane jest drugie polecenie.
Powiązane: Musisz sprawdzić te 189 poleceń terminala systemu Linux
Kto dowodzi
Polecenie „kto” wyświetli listę wszystkich zalogowanych użytkowników. User2 i User3 są zdalnie połączone z komputerem z systemem Linux. Są one połączone z jednym i drugim PTS. Użytkownik 1 jest pokazany jako podłączony do „:0”. Plik urządzenia ekranu i klawiatury jest podłączony do multipleksera komputera. Chociaż ekran i klawiatura są urządzeniami sprzętowymi, nadal są połączone z multiplekserem za pośrednictwem pliku urządzenia. tty wskazuje, że jest to /dev/pts/2.
who
Dostęp do TTY
Przytrzymując klawisze Ctrl+Alt i naciskając jeden z klawiszy funkcyjnych, możesz uzyskać dostęp do pełnoekranowej sesji TTY. Ctrl+Alt+F3 wywoła monit logowania tty3. Jeśli zalogujesz się i wydasz polecenie tty, zobaczysz, że jesteś połączony z /dev/tty3.
To nie jest fałszywy dalekopis (emulowany w oprogramowaniu); jest to wirtualny dalekopis (emulowany sprzętowo). Emuluje wirtualny dalekopis, taki jak DEC VT100, z ekranem i klawiaturą podłączonymi do komputera. Jeśli chcesz, możesz ustanowić cztery sesje Linux TTY, używając klawiszy funkcyjnych z kombinacją Ctrl+Alt. Jeśli na przykład wybierzesz tę opcję i jesteś zalogowany do tty3, naciśnij Ctrl+Alt+F6, aby przejść do tty6.
Aby wrócić do graficznego środowiska pulpitu, naciśnij Ctrl+Alt+F2. Jeśli używasz graficznego środowiska pulpitu, naciśnięcie klawiszy Ctrl+Alt+F1 spowoduje powrót do ekranu logowania sesji graficznego pulpitu. Pełnoekranowe konsole Linux TTY są dostępne jednocześnie za pomocą klawiszy Ctrl+Alt+F1 do Ctrl+Alt+F6, a powrót do graficznego środowiska pulpitu jest możliwy za pomocą Ctrl+Alt+F7. Jeśli używasz starszej dystrybucji Linuksa, być może tak właśnie działa.
Zostało to przetestowane na bieżących wydaniach Manjaro, Ubuntu i Fedory i wszystkie zachowywały się tak:
Ctrl+Alt+F1: Powrót do ekranu logowania graficznego środowiska pulpitu.
Ctrl+Alt+F2: Powrót do graficznego środowiska pulpitu.
Ctrl+Alt+F3: otwiera TTY 3.
Ctrl+Alt+F4: otwiera TTY 4.
Ctrl+Alt+F5: otwiera TTY 5.
Ctrl+Alt+F6: otwiera TTY 6.
Posiadanie dostępu do tych pełnoekranowych konsol umożliwia użytkownikom korzystanie z instalacji systemu Linux tylko z wiersza polecenia, a wiele serwerów z systemem Linux jest skonfigurowanych w ten sposób, aby mieć dostęp do wielu konsol.
Czy kiedykolwiek pracowałeś na systemie Linux z graficznym interfejsem użytkownika i coś zawiesiło twoją sesję? Możesz teraz przejść do jednej z sesji konsoli TTY, aby spróbować rozwiązać problem.
Posługiwać się top
oraz ps
aby poszukać nieudanej aplikacji, a następnie zakończyć ją za pomocą kill lub po prostu zamknąć tak płynnie, jak to możliwe.
3 małe litery, które mają długą historię
Linuksowe polecenie tty bierze swoją nazwę od przestarzałego urządzenia z końca XIX wieku, które po raz pierwszy zostało użyte w Uniksie w 1971 roku i nadal jest częścią Linuksa i innych systemów operacyjnych podobnych do Uniksa. Ten mały facet ma za sobą ciekawą historię.