GNU/Linux >> Belajar Linux >  >> Linux

Mengapa begitu banyak /dev/tty di Linux?

Tty bukan hanya perangkat input/output. Mereka juga melakukan tugas khusus sebagai terminal pengontrol untuk suatu sesi, seperti mengirim sinyal (Ctrl+C). /dev/ttyNN adalah konsol virtual, yang merupakan tampilan layar penuh di monitor.

Terminal dimulai dari /dev/tty1. Anda dapat beralih ke konsol ini, biasanya, dengan menekan tombol Ctrl+Alt+Fn.

misalnya, Ctrl+Alt+F1 membawa Anda ke terminal virtual pertama. Saat ini, sebagian besar distribusi Linux menjalankan server X dari tty1. Jadi, menekan Ctrl+Alt+F1 mungkin tidak berpengaruh.

$ ps ax | grep Xorg | grep -v grep
 1504 tty1     Ss+   44:57 /usr/bin/Xorg :0 -background none -verbose -auth /var/run/gdm/auth-for-gdm-rfsWyA/database -nolisten tcp vt1

Ctrl+Alt+F2 akan membawa Anda ke terminal kedua. Biasanya distribusi menjalankan program login (agetty) di terminal virtual.

$ ps ax | grep tty2 | grep -v grep
31865 tty2     Ss+    0:00 /sbin/agetty tty2 38400

Program login memberi Anda prompt login dan memungkinkan Anda login dengan nama pengguna/kata sandi. Skrip init memutuskan, di mana semua program login akan dijalankan. Jadi tergantung pada itu Anda mungkin atau mungkin tidak melihat prompt login aktif, katakanlah tty9. Untuk kembali ke antarmuka GUI Anda, tekan Ctrl+Alt+F1(seperti pada contoh keluaran di atas).

/dev/tty0 adalah perangkat khusus, yang menunjuk ke terminal saat ini. Jadi, terlepas dari mana Anda menjalankannya (konsol virtual apa pun), apa pun yang dibaca dari/ditulis ke tty0 akan masuk ke terminal Anda saat ini.

Kolom kedua di 'ps ax' juga memberikan terminal pengendali program. Untuk beberapa program, seperti daemon, Anda mungkin melihat bahwa kolomnya adalah '?', yang berarti program tersebut tidak terikat ke terminal.

/dev/pts/0 dll adalah perangkat terminal psuedo, yang tidak terpasang pada tampilan sistem. misalnya, terminal yang Anda dapatkan saat membuka terminal gnome atau terminal GUI lainnya. Ini adalah pendekatan berbasis klien-server di mana sisi klien akan diekspor ke program, seperti bash. Data yang dikirim oleh program ke terminal semu dikirim ke sisi 'server' (yang biasanya dipantau oleh program lain, seperti terminal gnome). Proses pengontrolan (sisi server) menentukan apa yang perlu dikirim ke terminal, yang akhirnya dilihat oleh klien. Perangkat ini membantu Anda membuka beberapa 'terminal GUI' tanpa batasan apa pun pada sistem Anda, tetap menyediakan terminal lama yang sama seperti kontrol(ioctl(), pengaturan warna, Mengirim sinyal [Ctrl+C] dll.).


Linux
  1. Cara membuat kata sandi acak di linux menggunakan /dev/random

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  1. Kapan Menggunakan /dev/random Vs /dev/urandom?

  2. Apa itu file /dev/zero dan /dev/null di Linux?

  3. Mengapa Linux mencantumkan drive NVMe sebagai /dev/nvme0 bukan /dev/sda?

  1. Linux:Perbedaan antara /dev/console , /dev/tty dan /dev/tty0

  2. Apakah salah menautkan /dev/random ke /dev/urandom di Linux?

  3. gema atau cetak /dev/stdin /dev/stdout /dev/stderr