Apa itu TTY di Linux? (dan Cara Menggunakan Perintah tty)

Apa yang dilakukan oleh ttyperintah itu? Ia mencetak nama terminal yang anda gunakan. TTY bermaksud "teletypewriter." Apa kisah di sebalik nama arahan itu? Itu memerlukan sedikit penjelasan.

Teleprinters Dari tahun 1800-an

Pada tahun 1830-an dan 1840-an, mesin yang dikenali sebagai teleprinters dikembangkan. Mesin-mesin ini dapat mengirim pesan yang diketik "ke bawah kabel" ke lokasi yang jauh. Mesej ditaip oleh pengirim pada papan kekunci. Mereka dicetak di atas kertas di bahagian penerima. Mereka adalah langkah evolusi dalam telegrafi, yang sebelumnya bergantung pada kode Morse dan serupa.

Mesej dikod dan dihantar, kemudian diterima, disahkod, dan dicetak. Terdapat beberapa teknik yang digunakan untuk mengekod dan menyahkod pesan. Yang paling terkenal, dan salah satu yang paling produktif, dipatenkan pada tahun 1874 oleh ilemile Baudot, untuk siapa nama baud itu dinamakan. Skema pengekodan wataknya ASCII bertarikh 89 tahun.

Pengekodan Baudot akhirnya menjadi yang paling dekat dengan standard dalam pengekodan teleprinter, dan ia diadopsi oleh kebanyakan pengeluar. Reka bentuk perkakasan asal Baudot hanya mempunyai lima kekunci, serupa dengan kekunci piano. Pengendali dikehendaki mempelajari kombinasi kunci tertentu untuk setiap huruf. Akhirnya, sistem pengekodan Baudot digabungkan dengan susun atur papan kekunci tradisional.

Untuk menandakan kemajuan itu, mesin tersebut diberi nama teletypewriters. Ini dipendekkan menjadi teletype dan akhirnya menjadi TTY. Jadi dari situlah kita mendapat akronim TTY, tetapi apa yang berkaitan dengan telegrafi dengan pengkomputeran?

ASCII dan Telex

Ketika ASCII tiba pada tahun 1963, ia diadopsi oleh pengeluar teletype. Walaupun terdapat penemuan dan penggunaan telefon secara meluas, teletype masih kuat.

Telex adalah rangkaian teletype di seluruh dunia yang membolehkan mesej bertulis dihantar di seluruh dunia. Mereka adalah alat utama untuk menghantar mesej bertulis pada periode setelah Perang Dunia II hingga ledakan mesin faks pada tahun 1980-an.

Komputer juga berkembang. Mereka menjadi mampu berinteraksi dengan pengguna dalam masa nyata, dan menyokong pelbagai pengguna. Kaedah kerja kumpulan lama menjadi tidak mencukupi. Orang tidak mahu menunggu 24 jam atau lebih lama untuk hasilnya. Membuat timbunan kad yang ditebuk dan menunggu hasil semalaman tidak lagi dapat diterima.

Orang memerlukan peranti yang membolehkan mereka memasukkan arahan dan mendapatkan hasil dihantar kembali kepada mereka. Orang mahukan kecekapan.

Teletype Digunakan Semula

Teletype adalah calon yang tepat sebagai alat input / output. Bagaimanapun, itu adalah alat yang dirancang untuk membolehkan mesej diketik, dikod, dikirim, diterima, disahkod, dan dicetak.

Apa yang perlu dilakukan oleh teletype jika peranti di hujung sambungan itu bukan teletype yang lain? Selagi ia menggunakan bahasa pengekodan yang sama dan dapat menerima mesej dan menghantar kembali mesej, teletype itu gembira.

Dan tentu saja, ia menggunakan papan kekunci standard yang lebih kurang.

Teletype yang dicontohi perkakasan

Teletip menjadi kaedah lalai untuk berinteraksi dengan komputer mini dan mainframe besar pada zaman itu.

Mereka akhirnya digantikan oleh peranti yang meniru mesin elektro-mekanik tersebut menggunakan elektronik. Ini mempunyai Tiub Ray Cathode (CRT) dan bukannya gulungan kertas. Mereka tidak goyah ketika menyampaikan respons dari komputer. Mereka mengizinkan fungsi yang tidak mungkin dilakukan seperti bergerak kursor di sekitar skrin, membersihkan skrin, teks tebal, dan sebagainya.

DEC VT05 adalah contoh awal teletype maya, dan nenek moyang DEC VT100 yang terkenal. Berjuta-juta DEC VT100 terjual.

Teletype yang dicontohi perisian

Dalam persekitaran desktop Linux dan sistem operasi seperti Unix lain seperti macOS, tetingkap terminal dan aplikasi seperti x-term dan Konsole adalah contoh teletype maya. Tetapi ini ditiru sepenuhnya dalam perisian. Mereka dipanggil pseudo-teletype. Ini dipendekkan menjadi PTS.

Dan di situlah ttymasuk.

Apa yang boleh tty Beritahu kami?

Di Linux, terdapat multiplexor pseudo-teletype yang mengendalikan sambungan dari semua terminal pseudo-teletype (PTS) tetingkap terminal. Multiplexor adalah master, dan PTS adalah hamba. Multiplexor ditangani oleh kernel melalui fail peranti yang terletak di / dev / ptmx.

The ttyarahan akan mencetak nama untuk fail peranti hamba pseudo-teletaip anda menggunakan untuk berhubung kepada tuan. Dan itu, secara berkesan, adalah bilangan tetingkap terminal anda.

Mari lihat apa ttylaporan untuk tetingkap terminal kami:

tty

Respons menunjukkan kita disambungkan ke fail peranti di / dev / pts / 0.

Tetingkap terminal kami, yang merupakan emulasi perisian dari teletype (TTY), dihubungkan ke multiplexor pseudo-teletype sebagai pseudo-teletype (PTS). Dan kebetulan nombor sifar.

Pilihan Senyap

Pilihan -s(senyap) menyebabkan ttytidak menghasilkan output.

tty -s

Ia menghasilkan nilai keluar, namun:

  • 0 : jika input standard berasal dari peranti TTY, ditiru atau fizikal.
  • 1 : jika input standard tidak berasal dari peranti TTY.
  • 2 : Kesalahan sintaks, parameter baris perintah yang salah digunakan.
  • 3 : Ralat menulis telah berlaku.

Ini mungkin paling berguna dalam skrip Bash. Tetapi, walaupun pada baris perintah, kita dapat menunjukkan bagaimana menjalankan perintah hanya jika Anda menjalankan di tetingkap terminal (sesi TTY atau PTS).

tty -s && gema "Dalam tty"

Kerana kita menjalankan dalam sesi TTY, kod keluar kami adalah 0, dan perintah kedua dilaksanakan.

Yang Memimpin

Perintah lain dapat menunjukkan nombor TTY anda. The whoarahan akan menyenaraikan maklumat untuk semua log masuk pengguna termasuk diri anda.

Alec dan Mary dihubungkan dari jauh ke komputer Linux. Mereka disambungkan ke PTS satu dan dua.

Pengguna dave ditunjukkan sebagai terhubung ke ": 0".

Ini mewakili skrin dan papan kekunci yang disambungkan secara fizikal ke komputer. Walaupun skrin dan papan kekunci adalah peranti perkakasan, mereka tetap disambungkan ke multiplexor melalui fail peranti. ttymendedahkan bahawa ia / dev / pts / 2.

who
tty

BERKAITAN: Cara Menentukan Akaun Pengguna Semasa di Linux

Mengakses TTY

Anda dapat mengakses sesi TTY skrin penuh dengan menekan butang Ctrl + Alt, dan menekan salah satu kekunci fungsi.

Ctrl + Alt + F3 akan memunculkan permintaan log masuk tty3.

Sekiranya anda log masuk dan mengeluarkan ttyarahan, anda akan melihat anda berhubung dengan / dev / tty3.

Ini bukan teletype palsu (ditiru dalam perisian); ia adalah teletype maya (ditiru dalam perkakasan). Ini menggunakan layar dan papan kekunci yang disambungkan ke komputer anda, untuk meniru teletype maya seperti DEC VT100 yang biasa dilakukan.

Anda boleh menggunakan kekunci fungsi Ctrl + Alt dengan kekunci fungsi F3 hingga F6 dan membuka empat sesi TTY jika anda mahu. Contohnya, anda boleh log masuk ke tty3 dan tekan Ctrl + Alt + F6 untuk pergi ke tty6.

Untuk kembali ke persekitaran desktop grafik anda, tekan Ctrl + Alt + F2.

Menekan Ctrl + Alt + F1 akan mengembalikan anda ke permintaan log masuk sesi desktop grafik anda.

Pada satu masa, Ctrl + Alt + F1 hingga Ctrl + Alt + F6 akan membuka konsol TTY skrin penuh, dan Ctrl + Alt + F7 akan mengembalikan anda ke persekitaran desktop grafik anda. Sekiranya anda menjalankan pengedaran Linux yang lebih lama, mungkin ini adalah bagaimana sistem anda berkelakuan.

Ini telah diuji ke atas semasa siaran Manjaro, Ubuntu dan Fedora dan mereka semua berkelakuan seperti ini:

  1. Ctrl + Alt + F1 : Mengembalikan anda ke skrin log masuk persekitaran desktop grafik.
  2. Ctrl + Alt + F2 : Mengembalikan anda ke persekitaran desktop grafik.
  3. Ctrl + Alt + F3 : Membuka TTY 3.
  4. Ctrl + Alt + F4 : Membuka TTY 4.
  5. Ctrl + Alt + F5 : Membuka TTY 5.
  6. Ctrl + Alt + F6 : Membuka TTY 6.

Memiliki akses ke konsol skrin penuh ini membolehkan orang yang menggunakan pemasangan baris perintah Linux sahaja - dan banyak pelayan Linux dikonfigurasi dengan cara ini - untuk mempunyai banyak konsol yang tersedia.

Pernah bekerja pada mesin Linux dengan persekitaran desktop grafik dan ada yang menyebabkan sesi anda membeku? Sekarang anda boleh pergi ke salah satu sesi konsol TTY supaya anda dapat membetulkan keadaan.

Anda boleh menggunakan topdan pscuba mengenal pasti aplikasi yang gagal, kemudian gunakan killuntuk menamatkannya, atau gunakan shutdownuntuk mencuba menutup dengan lancar seperti keadaan komputer.

BERKAITAN: Cara Membunuh Proses Dari Terminal Linux

Tiga Huruf Kecil Dengan Banyak Sejarah

The ttyarahan mendapat namanya daripada peranti daripada tahun 1800-an, muncul dalam Unix pada tahun 1971, dan merupakan sebahagian daripada Linux dan Unix seperti sistem operasi ke hari ini.

Anak kecil itu mempunyai kisah di belakangnya.