Mengapa ada begitu banyak perangkat terminal virtual?


11

Saya telah membaca buku Pemrograman Linux Lanjut dan menyebutkan tentang terminal virtual yang, jika saya memahaminya dengan benar, ini adalah fitur khusus Linux (bukan di Unix) untuk memungkinkan beberapa konsol login dalam sistem non X11. Anda membuat terminal virtual dengan menekan ALT-F2. Saya menjalankan Linux Mint dan di folder / dev saya meskipun saya melihat banyak perangkat tty dan saya tidak tahu untuk apa mereka. Berikut ini adalah hasil keluaran:

crw-rw-rw-  1 root tty       5,   0 Jan  2 19:45 tty
crw--w----  1 root tty       4,   0 Jan  2 19:10 tty0
crw-rw----  1 root tty       4,   1 Jan  2 19:10 tty1
crw--w----  1 root tty       4,  10 Jan  2 19:10 tty10
crw--w----  1 root tty       4,  11 Jan  2 19:10 tty11
crw--w----  1 root tty       4,  12 Jan  2 19:10 tty12
crw--w----  1 root tty       4,  13 Jan  2 19:10 tty13
crw--w----  1 root tty       4,  14 Jan  2 19:10 tty14
crw--w----  1 root tty       4,  15 Jan  2 19:10 tty15
crw--w----  1 root tty       4,  16 Jan  2 19:10 tty16
crw--w----  1 root tty       4,  17 Jan  2 19:10 tty17
crw--w----  1 root tty       4,  18 Jan  2 19:10 tty18
crw--w----  1 root tty       4,  19 Jan  2 19:10 tty19
crw-rw----  1 root tty       4,   2 Jan  2 19:10 tty2
crw--w----  1 root tty       4,  20 Jan  2 19:10 tty20
crw--w----  1 root tty       4,  21 Jan  2 19:10 tty21
crw--w----  1 root tty       4,  22 Jan  2 19:10 tty22
crw--w----  1 root tty       4,  23 Jan  2 19:10 tty23
crw--w----  1 root tty       4,  24 Jan  2 19:10 tty24
crw--w----  1 root tty       4,  25 Jan  2 19:10 tty25
crw--w----  1 root tty       4,  26 Jan  2 19:10 tty26
crw--w----  1 root tty       4,  27 Jan  2 19:10 tty27
crw--w----  1 root tty       4,  28 Jan  2 19:10 tty28
crw--w----  1 root tty       4,  29 Jan  2 19:10 tty29
crw-rw----  1 root tty       4,   3 Jan  2 19:10 tty3
crw--w----  1 root tty       4,  30 Jan  2 19:10 tty30
crw--w----  1 root tty       4,  31 Jan  2 19:10 tty31
crw--w----  1 root tty       4,  32 Jan  2 19:10 tty32
crw--w----  1 root tty       4,  33 Jan  2 19:10 tty33
crw--w----  1 root tty       4,  34 Jan  2 19:10 tty34
crw--w----  1 root tty       4,  35 Jan  2 19:10 tty35
crw--w----  1 root tty       4,  36 Jan  2 19:10 tty36
crw--w----  1 root tty       4,  37 Jan  2 19:10 tty37
crw--w----  1 root tty       4,  38 Jan  2 19:10 tty38
crw--w----  1 root tty       4,  39 Jan  2 19:10 tty39
crw-rw----  1 root tty       4,   4 Jan  2 19:10 tty4
crw--w----  1 root tty       4,  40 Jan  2 19:10 tty40
crw--w----  1 root tty       4,  41 Jan  2 19:10 tty41
crw--w----  1 root tty       4,  42 Jan  2 19:10 tty42
crw--w----  1 root tty       4,  43 Jan  2 19:10 tty43
crw--w----  1 root tty       4,  44 Jan  2 19:10 tty44
crw--w----  1 root tty       4,  45 Jan  2 19:10 tty45
crw--w----  1 root tty       4,  46 Jan  2 19:10 tty46
crw--w----  1 root tty       4,  47 Jan  2 19:10 tty47
crw--w----  1 root tty       4,  48 Jan  2 19:10 tty48
crw--w----  1 root tty       4,  49 Jan  2 19:10 tty49
crw-rw----  1 root tty       4,   5 Jan  2 19:10 tty5
crw--w----  1 root tty       4,  50 Jan  2 19:10 tty50
crw--w----  1 root tty       4,  51 Jan  2 19:10 tty51
crw--w----  1 root tty       4,  52 Jan  2 19:10 tty52
crw--w----  1 root tty       4,  53 Jan  2 19:10 tty53
crw--w----  1 root tty       4,  54 Jan  2 19:10 tty54
crw--w----  1 root tty       4,  55 Jan  2 19:10 tty55
crw--w----  1 root tty       4,  56 Jan  2 19:10 tty56
crw--w----  1 root tty       4,  57 Jan  2 19:10 tty57
crw--w----  1 root tty       4,  58 Jan  2 19:10 tty58
crw--w----  1 root tty       4,  59 Jan  2 19:10 tty59
crw-rw----  1 root tty       4,   6 Jan  2 19:10 tty6
crw--w----  1 root tty       4,  60 Jan  2 19:10 tty60
crw--w----  1 root tty       4,  61 Jan  2 19:10 tty61
crw--w----  1 root tty       4,  62 Jan  2 19:10 tty62
crw--w----  1 root tty       4,  63 Jan  2 19:10 tty63
crw--w----  1 root tty       4,   7 Jan  2 19:10 tty7
crw--w----  1 root tty       4,   8 Jan  2 19:10 tty8
crw--w----  1 root tty       4,   9 Jan  2 19:10 tty9

4
Anda sebenarnya tidak membuat Linux VT dengan menekan CTRL-ALT-F1 (dan seterusnya), mereka sudah ada di sana, Anda tidak melihatnya karena manajer tampilan Anda dipanggil secara otomatis saat startup, dan kemudian Anda berakhir di X (Yang, secara membingungkan, dijalankan pada tty 7). Lihat /etc/inittabdan Anda akan melihat cara kerjanya.
Emanuel Berg

Jawaban:


10

Ini adalah perangkat konsol virtual khusus , di Linux terminolgy. Mendukung konsol virtual pada perangkat fisik yang sama tidak unik untuk Linux (misalnya, BSD menyebutnya "port terminal perangkat keras").

Linux tidak memiliki mekanisme untuk membuat perangkat konsol sesuai permintaan. 63 konsol tidak selalu aktif (Anda harus mengaktifkan ttyNuntuk beralih ke itu dengan ( Ctrl+) Alt+ FN), tetapi untuk mengaktifkan satu konsol memerlukan membuka perangkat konsol ( openvtperintah melakukan itu, seperti yang dilakukan gettydan X server). Jadi entri perangkat harus ada setiap saat, atau harus dibuat secara manual sebelum dapat digunakan.

Sistem Linux modern (dengan udev atau devtmpfs) membuat entri perangkat untuk setiap perangkat yang ada pada sistem. Semua konsol virtual selalu ada (apakah mereka aktif atau tidak), sehingga semua entri dibuat. Sebagian besar pengguna tidak perlu sebanyak itu - pada kenyataannya sebagian besar pengguna tidak pernah melihat apa pun kecuali konsol virtual yang sedang dijalankan X. Tetapi ada beberapa yang melakukannya, dan perlu menambal kernel mereka untuk memungkinkan lebih dari 63 konsol, karena mereka menjalankan mesin besar dengan banyak konsol perangkat keras).


-2

Ini bukan hal khusus linux, dan ini tidak hanya digunakan untuk terminal virtual. Mereka juga digunakan misalnya ketika Anda memulai xterm setelah Anda berada di antarmuka grafis. Jika ada lebih sedikit perangkat tty, Anda tidak akan dapat memiliki banyak login xterms atau ssh.


Hm, mau jelaskan ini sedikit lagi? Ketika Anda menjalankan xterm di bawah X, tidakkah Anda mendapatkan poin, dan bukan tty?
Emanuel Berg


OK, saya sudah membacanya, tetapi masih belum jelas. Apakah Anda mengatakan, ketika saya mulai xterm, proses itu entah bagaimana terkait dengan file perangkat tty /dev, jadi, jika jumlahnya lebih sedikit, Anda sebenarnya bisa "kehabisan" dari ttys?
Emanuel Berg

4
Sebenarnya antarmuka perangkat untuk emulator X bukanlah tty - ini adalah "terminal semu" (pt). Itu dikelola secara dinamis oleh kernel, tetapi yang sudah ada terdaftar di /dev/pts/. The ttyperintah akan memberikan perangkat Anda saat ini - mencoba di X kemudian mencobanya di VT a.
goldilocks

2
Anda bingung /dev/ttyN(konsol virtual, kadang-kadang disebut terminal virtual) dengan yang lama /dev/ptyN(terminal semu, juga kadang-kadang disebut terminal virtual). Linux sekarang menggunakan alokasi dinamis, /dev/pts/Nbukan yang lama dialokasikan secara statis /dev/ptyN.
Gilles 'SO- stop being evil'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.