Τι είναι το TTY στο Linux; (και πώς να χρησιμοποιήσετε την εντολή tty)

Τι κάνει η ttyεντολή; Εκτυπώνει το όνομα του τερματικού που χρησιμοποιείτε. Το TTY σημαίνει "teletypewriter". Ποια είναι η ιστορία πίσω από το όνομα της εντολής; Αυτό χρειάζεται λίγο περισσότερη εξήγηση.

Teleprinters Από το 1800

Στη δεκαετία του 1830 και του 1840, αναπτύχθηκαν μηχανές γνωστές ως teleprinters. Αυτά τα μηχανήματα θα μπορούσαν να στείλουν δακτυλογραφημένα μηνύματα «κάτω από το καλώδιο» σε απομακρυσμένες τοποθεσίες. Τα μηνύματα πληκτρολογήθηκαν από τον αποστολέα σε πληκτρολόγιο των ειδών. Εκτυπώθηκαν σε χαρτί στο παραλήπτη. Ήταν ένα εξελικτικό βήμα στην τηλεγραφία, το οποίο είχε προηγουμένως βασιστεί στον Μορς και σε παρόμοιους κωδικούς.

Τα μηνύματα κωδικοποιήθηκαν και μεταδόθηκαν, στη συνέχεια παραλήφθηκαν, αποκωδικοποιήθηκαν και εκτυπώθηκαν. Υπήρχαν αρκετές τεχνικές που χρησιμοποιήθηκαν για την κωδικοποίηση και την αποκωδικοποίηση των μηνυμάτων. Το πιο διάσημο, και ένα από τα πιο παραγωγικά, κατοχυρώθηκε με δίπλωμα ευρεσιτεχνίας το 1874 από τον Émile Baudot, για τον οποίο ονομάζεται ο ρυθμός baud. Το σχήμα κωδικοποίησης χαρακτήρων του ήταν προγενέστερο ASCII από 89 χρόνια.

Η κωδικοποίηση του Baudot έγινε τελικά το πλησιέστερο σε ένα πρότυπο κωδικοποίησης teleprinter και υιοθετήθηκε από τους περισσότερους κατασκευαστές. Ο αρχικός σχεδιασμός υλικού του Baudot είχε μόνο πέντε πλήκτρα, παρόμοια με τα πλήκτρα πιάνου. Ο χειριστής ήταν υποχρεωμένος να μάθει έναν συγκεκριμένο συνδυασμό κλειδιών για κάθε γράμμα. Τελικά, το σύστημα κωδικοποίησης Baudot συνδέθηκε με μια παραδοσιακή διάταξη πληκτρολογίου.

Για να σημειωθεί αυτή η πρόοδος, οι μηχανές ονομάστηκαν teletypewriters. Αυτό συντομεύτηκε σε teletype και τελικά σε TTYs. Έτσι λοιπόν παίρνουμε το ακρωνύμιο TTY, αλλά τι σχέση έχει η τηλεγραφία με τον υπολογιστή;

ASCII και Telex

Όταν η ASCII έφτασε το 1963, υιοθετήθηκε από τους κατασκευαστές τηλετύπου. Παρά την εφεύρεση και την ευρεία χρήση του τηλεφώνου, οι τηλετύποι εξακολουθούσαν να είναι ισχυροί.

Το Telex ήταν ένα παγκόσμιο δίκτυο τηλετύπων που επέτρεπε την αποστολή γραπτών μηνυμάτων σε όλο τον κόσμο. Ήταν τα κύρια μέσα μετάδοσης γραπτών μηνυμάτων κατά την περίοδο μετά τον Β 'Παγκόσμιο Πόλεμο μέχρι την έκρηξη του φαξ της δεκαετίας του 1980.

Οι υπολογιστές εξελίχθηκαν επίσης. Έγιναν σε θέση να αλληλεπιδρούν με χρήστες σε πραγματικό χρόνο και να υποστηρίζουν πολλούς χρήστες. Η παλαιά μέθοδος παρτίδας εργασίας έγινε ανεπαρκής. Οι άνθρωποι δεν ήθελαν να περιμένουν 24 ώρες ή περισσότερο για τα αποτελέσματά τους. Δεν ήταν πλέον αποδεκτό να φτιάχνεις στοίβες με τρυπημένα φύλλα και να περιμένεις όλη τη νύχτα για αποτελέσματα.

Τα άτομα χρειάζονταν μια συσκευή που θα τους επέτρεπε να εισάγουν οδηγίες και να τους στέλνουν αποτελέσματα. Οι άνθρωποι ήθελαν αποτελεσματικότητα.

Το Teletype επαναπροσδιορίστηκε

Ο τηλετύπος ήταν ο τέλειος υποψήφιος ως συσκευή εισόδου / εξόδου. Ήταν, τελικά, μια συσκευή σχεδιασμένη για να επιτρέπει την πληκτρολόγηση, την κωδικοποίηση, την αποστολή, τη λήψη, την αποκωδικοποίηση και την εκτύπωση των μηνυμάτων.

Τι νοιάζει ο τηλετύπος εάν η συσκευή στο άλλο άκρο της σύνδεσης δεν ήταν άλλος τηλετύπος; Όσο μιλούσε την ίδια γλώσσα κωδικοποίησης και μπορούσε να λάβει μηνύματα και να στείλει μηνύματα πίσω, ο τηλετύπος ήταν χαρούμενος.

Και φυσικά, χρησιμοποιούσε ένα περισσότερο ή λιγότερο τυπικό πληκτρολόγιο.

Τηλετύπους που προσομοιώνονται με υλικό

Οι τηλετύποι έγιναν το προεπιλεγμένο μέσο αλληλεπίδρασης με τους μεγάλους υπολογιστές mini και mainframe της εποχής.

Τελικά αντικαταστάθηκαν από συσκευές που μιμούσαν αυτές τις ηλεκτρομηχανικές μηχανές χρησιμοποιώντας ηλεκτρονικά. Αυτά είχαν Cathode Ray Tubes (CRTs) αντί για ρολά χαρτιού. Δεν κούνησαν κατά την παράδοση απαντήσεων από τον υπολογιστή. Επιτρέπουν έως τώρα αδύνατη λειτουργικότητα, όπως η μετακίνηση του δρομέα γύρω από την οθόνη, η εκκαθάριση της οθόνης, το έντονο κείμενο και ούτω καθεξής.

Το DEC VT05 ήταν ένα πρώιμο παράδειγμα εικονικού τηλετύπου και πρόγονος του διάσημου DEC VT100. Πωλήθηκαν εκατομμύρια DEC VT100.

Τηλετύπους που προσομοιώνονται με λογισμικό

Στο περιβάλλον της επιφάνειας εργασίας του Linux και άλλων λειτουργικών συστημάτων που μοιάζουν με Unix όπως το macOS, το παράθυρο τερματικού και εφαρμογές όπως το x-term και το Konsole είναι παραδείγματα εικονικών τηλετύπων Αλλά αυτά μιμούνται εξ ολοκλήρου στο λογισμικό. Ονομάζονται ψευδο-τηλετύποι. Αυτό συντομεύτηκε σε PTS.

Και εκεί ttyμπαίνει.

Τι μπορεί να μας πει;

Στο Linux, υπάρχει ένας ψευδο-τηλετύπος πολυπλεξικός ο οποίος χειρίζεται τις συνδέσεις από όλους τους ψευδο-τηλετύπους του τερματικού παραθύρου (PTS). Ο πολυπλέκτης είναι ο κύριος και οι PTS είναι οι σκλάβοι. Ο πολυπλέκτης αντιμετωπίζεται από τον πυρήνα μέσω του αρχείου συσκευής που βρίσκεται στο / dev / ptmx.

Η ttyεντολή θα εκτυπώσει το όνομα του αρχείου συσκευής που χρησιμοποιεί ο ψευδο-τηλετύπου σκλάβος σας για διασύνδεση με τον κύριο. Και αυτός, ουσιαστικά, είναι ο αριθμός του παραθύρου του τερματικού σας.

Ας δούμε ποιες ttyαναφορές για το παράθυρο του τερματικού μας:

tty

Η απάντηση δείχνει ότι είμαστε συνδεδεμένοι στο αρχείο της συσκευής στο / dev / pts / 0.

Το παράθυρο τερματικού μας, το οποίο είναι μια προσομοίωση λογισμικού ενός τηλετύπου (TTY), συνδέεται με τον πολυπλεξία ψευδο-τηλετύπου ως ψευδο-τηλετύπο (PTS). Και συμβαίνει να είναι ο αριθμός μηδέν.

Η αθόρυβη επιλογή

Η -sεπιλογή (σιωπηλή) προκαλεί ttyνα μην δημιουργηθεί έξοδος.

tty -s

Αυτό παράγει μια τιμή εξόδου, ωστόσο:

  • 0 : εάν η τυπική είσοδος προέρχεται από συσκευή TTY, προσομοιωμένη ή φυσική.
  • 1 : εάν η τυπική είσοδος δεν προέρχεται από συσκευή TTY.
  • 2 : Χρησιμοποιήθηκε σφάλμα σύνταξης, εσφαλμένες παράμετροι γραμμής εντολών.
  • 3 : Παρουσιάστηκε σφάλμα εγγραφής.

Αυτό είναι πιθανό να είναι πιο χρήσιμο στο σενάριο Bash. Όμως, ακόμη και στη γραμμή εντολών, μπορούμε να δείξουμε πώς να εκτελέσουμε μια εντολή μόνο εάν εκτελείτε σε ένα παράθυρο τερματικού (μια περίοδος TTY ή PTS).

tty -s && echo "Σε ένα tty"

Επειδή τρέχουμε σε μια συνεδρία TTY, ο κωδικός εξόδου μας είναι 0 και εκτελείται η δεύτερη εντολή.

The Who Διοικούν

Άλλες εντολές μπορούν να αποκαλύψουν τον αριθμό TTY σας. Η whoεντολή θα περιέχει πληροφορίες για όλους τους συνδεδεμένους χρήστες, συμπεριλαμβανομένου του εαυτού σας.

Οι Alec και Mary συνδέονται εξ αποστάσεως με τον υπολογιστή Linux. Συνδέονται με το PTS ένα και δύο.

Ο χρήστης dave εμφανίζεται ως συνδεδεμένος στο ": 0".

Αυτό αντιπροσωπεύει την οθόνη και το πληκτρολόγιο που είναι φυσικά συνδεδεμένα στον υπολογιστή. Παρόλο που η οθόνη και το πληκτρολόγιο είναι συσκευές υλικού, εξακολουθούν να συνδέονται στον πολυπλέκτη μέσω ενός αρχείου συσκευής. ttyαποκαλύπτει ότι είναι / dev / pts / 2.

που
tty

ΣΧΕΤΙΖΕΤΑΙ ΜΕ: Πώς να προσδιορίσετε τον τρέχοντα λογαριασμό χρήστη στο Linux

Πρόσβαση σε TTY

Μπορείτε να αποκτήσετε πρόσβαση σε μια συνεδρία TTY πλήρους οθόνης κρατώντας πατημένα τα πλήκτρα Ctrl + Alt και πατώντας ένα από τα πλήκτρα λειτουργίας.

Ctrl + Alt + F3 θα εμφανίσει την προτροπή σύνδεσης του tty3.

Εάν συνδεθείτε και εκδώσετε την ttyεντολή, θα δείτε ότι είστε συνδεδεμένοι στο / dev / tty3.

Αυτό δεν είναι ψευδο-teletype (μιμείται το λογισμικό). είναι ένας εικονικός τηλετύπος (μιμημένος σε υλικό). Χρησιμοποιεί την οθόνη και το πληκτρολόγιο που είναι συνδεδεμένα στον υπολογιστή σας, για να μιμηθεί έναν εικονικό τηλετύπο όπως ο DEC VT100 που κάποτε έκανε.

Μπορείτε να χρησιμοποιήσετε τα πλήκτρα λειτουργίας Ctrl + Alt με τα πλήκτρα λειτουργιών F3 έως F6 και να ανοίξετε τέσσερις συνεδρίες TTY εάν το επιλέξετε. Για παράδειγμα, θα μπορούσατε να συνδεθείτε στο tty3 και να πατήσετε Ctrl + Alt + F6 για να μεταβείτε στο tty6.

Για να επιστρέψετε στο γραφικό περιβάλλον της επιφάνειας εργασίας σας, πατήστε Ctrl + Alt + F2.

Πατώντας Ctrl + Alt + F1 θα επιστρέψετε στην προτροπή σύνδεσης της γραφικής σας επιφάνειας εργασίας.

Ταυτόχρονα, το Ctrl + Alt + F1 έως το Ctrl + Alt + F6 θα ανοίξει τις κονσόλες TTY πλήρους οθόνης και το Ctrl + Alt + F7 θα σας επιστρέψει στο γραφικό περιβάλλον της επιφάνειας εργασίας σας. Εάν εκτελείτε μια παλαιότερη διανομή Linux, αυτό μπορεί να είναι το πώς συμπεριφέρεται το σύστημά σας.

Αυτό δοκιμάστηκε σε τρέχουσες κυκλοφορίες Manjaro, Ubuntu και Fedora και όλοι συμπεριφέρθηκαν έτσι:

  1. Ctrl + Alt + F1 : Σας επιστρέφει στην οθόνη σύνδεσης γραφικών περιβάλλοντος επιφάνειας εργασίας.
  2. Ctrl + Alt + F2 : Σας επιστρέφει στο γραφικό περιβάλλον της επιφάνειας εργασίας.
  3. Ctrl + Alt + F3 : Ανοίγει το TTY 3.
  4. Ctrl + Alt + F4 : Ανοίγει το TTY 4.
  5. Ctrl + Alt + F5 : Ανοίγει το TTY 5.
  6. Ctrl + Alt + F6 : Ανοίγει το TTY 6.

Η πρόσβαση σε αυτές τις κονσόλες πλήρους οθόνης επιτρέπει σε άτομα που χρησιμοποιούν μόνο εγκαταστάσεις γραμμής εντολών Linux - και πολλοί διακομιστές Linux έχουν ρυθμιστεί με αυτόν τον τρόπο - να έχουν πολλές κονσόλες διαθέσιμες.

Εργαζόμασταν ποτέ σε μια μηχανή Linux με γραφικό περιβάλλον επιτραπέζιου υπολογιστή και είχε κάτι να κάνει την συνεδρία σας να παγώσει; Τώρα μπορείτε να μεταβείτε σε μία από τις συνεδρίες της κονσόλας TTY, ώστε να μπορείτε να προσπαθήσετε να διορθώσετε την κατάσταση.

Μπορείτε να χρησιμοποιήσετε topκαι psνα προσπαθήσετε να προσδιορίσετε την αποτυχημένη εφαρμογή και, στη συνέχεια, να την χρησιμοποιήσετε killγια να την τερματίσετε ή απλώς να την χρησιμοποιήσετε shutdownγια να κλείσετε τόσο χαριτωμένα όσο θα επιτρέπει η κατάσταση του υπολογιστή

ΣΧΕΤΙΖΕΤΑΙ ΜΕ: Πώς να σκοτώσετε τις διαδικασίες από το τερματικό Linux

Τρία μικρά γράμματα με πολλή ιστορία

Η ttyεντολή πήρε το όνομά της από μια συσκευή από τα τέλη του 1800, εμφανίστηκε στο Unix το 1971 και αποτελεί μέρος των λειτουργικών συστημάτων Linux και Unix μέχρι σήμερα.

Το μικρό σκασάκι έχει μια ιστορία πίσω του.