Neden bu kadar çok sanal terminal cihazı var?


11

Gelişmiş Linux Programlama kitabını okudum ve doğru anladıysam, X11 olmayan bir sistemde birden çok giriş konsoluna izin vermek için Linux'a özgü bir özellik (Unix'te değil) olan sanal terminallerden bahsediyor. ALT-F2 tuşuna basarak sanal terminaller oluşturursunuz. Linux Mint kullanıyorum ve / t klasörümde birçok tty cihazı görüyorum ve ne için olduklarını bilmiyorum. İşte açgözlü çıktı:

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
Aslında CTRL-ALT-F1 (ve benzeri) tuşlarına basarak Linux VT oluşturmuyorsunuz, zaten oradalar, onları ekran yöneticiniz başlangıçta otomatik olarak çağrıldığından görmüyorsunuz ve X (ki kafa karıştırıcı bir şekilde tty 7 ile çalışır). Kontrol edin /etc/inittabve bunun nasıl çalıştığını göreceksiniz.
Emanuel Berg

Yanıtlar:


10

Bunlar özellikle Linux terminoljisinde sanal konsol cihazlarıdır. Aynı fiziksel aygıtta sanal konsolları desteklemek Linux'a özgü değildir (örneğin, BSD onlara “donanım terminal bağlantı noktaları” der).

Linux'un isteğe bağlı konsol aygıtları oluşturma mekanizması yoktur. 63 konsol her zaman etkin değildir ( ttyN( Ctrl+) Alt+ ile geçiş yapmak için etkinleştirmeniz gerekir FN), ancak birini etkinleştirmek için konsol cihazını açmanız gerekir ( openvtkomut bunu yaptığı gibi gettyve X sunucusu yapar). Bu nedenle cihaz girişi her zaman mevcut olmalıdır, aksi takdirde kullanılmadan önce manuel olarak oluşturulması gerekir.

Modern Linux sistemleri (udev veya devtmpfs ile) sistemde bulunan her aygıt için aygıt girdileri oluşturur. Tüm sanal konsollar her zaman mevcuttur (etkin olsun ya da olmasın), böylece tüm girişler oluşturulur. Çoğu kullanıcının neredeyse o kadar çok ihtiyacı yoktur - aslında çoğu kullanıcı X'in üzerinde çalıştığı sanal konsoldan başka bir şey görmez. Ancak 63'den fazla konsola izin vermek için çekirdeklerini düzeltmek ve düzeltmek zorunda olan birkaç kişi var, çünkü birçok donanım konsoluna sahip büyük makineler çalıştırıyorlar).


-2

Linux'a özgü bir şey değildir ve tty'ler sadece sanal terminaller için kullanılmaz. Ayrıca grafik arayüzüne girdikten sonra xterm başlattığınızda da kullanılırlar. Daha az tty cihazı olsaydı, çok fazla xterms veya ssh girişiniz olmazdı.


Hm, bunu biraz daha açıklamak ister misin? X altında xterm'i çalıştırdığınızda, tty değil, bir puan almaz mısınız?
Emanuel Berg


Tamam, okudum, ama hala net değil. Eğer xterm başlattığımda, bu süreç bir şekilde bir tty cihaz dosyası ile ilişkili olduğunu /dev, yani daha az olsaydı, aslında ttys "tükendi" diyor musunuz?
Emanuel Berg

4
Aslında X emülatörleri için cihaz arayüzü bir tty değil - bir "sözde terminal" (pt). Bunlar çekirdek tarafından dinamik olarak yönetilir, ancak şu anda var olanlar listelenmektedir /dev/pts/. ttyKomut size mevcut cihazınızı verecek - bir vt denemek ardından X deneyin.
goldilocks

2
/dev/ttyNEski ile /dev/ptyN(bazen sanal terminaller olarak da adlandırılan sahte terminaller) kafa karıştırıyorsunuz (bazen sanal terminaller olarak da adlandırılan sanal konsollar ). Linux artık /dev/pts/Neski statik olarak ayrılmış yerine dinamik olarak ayrılmış olarak kullanıyor /dev/ptyN.
Gilles 'SO- kötü olmayı bırak'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.