Neden bu kadar çok sanal konsol var?


26

Çok fazla sanal konsola sahip olmanın nedeni nedir?

GUI'nin çökmesi durumunda bir tanesinin olup olmadığını ve temerrüt dışında 6 tane daha olduğunu anlarım mı? Onlar ne için? GUI'nin donduğu durumlar dışında hiçbiri için bir kullanım göremiyorum.


Mateo'nun aşağıdaki cevabına katılıyorum. Neden daha fazla değil? Kendimi 6 kişinin hepsinin açık ve daha fazlasını istediğini belirledim (ve GUI genellikle giriş ekranında "kapalı" kalır).
haziz

Yanıtlar:


16

Kısa cevap : neden olmasın? (ima edilen gülümseme lütfen)

Daha uzun olanı : Sanırım çoğunlukla bir tarih meselesi. gettyVC destekli ilk linux ile yapılandırılmış 6 sanal konsol vardı , gerçekten ne zaman unuttum (1990 civarındaydı sanırım). Daha sonra grafiksel ortama başladığınızda (elle, birliktestartx ) ilk 7 numaralı VC'de kendini açtı, bu da 7 numara oldu. Ve o zamanlar hâlâ VC'lerdeki çalışmalarımın çoğunu yaptım: editörler çok daha hızlıydı ve bazen standart altıdan daha fazla VC kullandım ve dizüstü bilgisayarım tam olarak bir grafik canavarı değildi ...

Örneğin, üç editör (bir program, giriş verileri, onu tanımlayan bir TeX dosyası), bir derleme için bir VC, bir el kitabını okumak için bir diğeri telnet üzerinden posta sunucuma bağlanmış bir program çalıştırıyordum.

Sana "el üzerinde yazabilmek için hala altı sanal konsolları kullanımı için gerekçe, herkes için # 7 grafik VC izin vermektir şüpheli Ctrl-Alt-F7" değil " Ctrl-Alt-Fxnerede xilk serbest VC" dedi.

Bir not olarak, VC'leri kısaltabilirsiniz (sanırım --- hiç denemedim). Basitçe yapmak

sudo bash -c "echo 'manual' >> /etc/init/tty6.override"

VC # 6'yı durdurmak için , başlangıç ​​kılavuzunu izleyin .


Aktif tty sayısını azaltmak mümkündür ancak cihaz dosyaları kendilerini (insanlar çekirdekleri yeniden derlemek istemiyorlarsa) kendileri tarafından düzeltilemez . Aşağıda cevabımı gör
Sergiy Kolodyazhnyy

9

Neden daha fazla değil? Çalıştırın topveya htopbirinde (cpu / bellek kullanım istatistiklerini verir), ssh2 veya 3'teki diğer sistemlere, bazılarını otomatik olarak çalıştırın, başka bir durumda otomatik olarak çalıştırın, sadece bir tanesini ücretsiz tutun, birden fazla kullanıcıya giriş yapın, bir cmatrixtanesinde çalıştırın, GUI başka bir -

startx -- :1

(bazı grafiklerde bununla ilgili hatalar var)

http://mostlylinux.wordpress.com/troubleshooting/ttysessions/

Gerçekten bu özelliği kullanmaya başladığınızda, 7 tty's (yedinci biri varsayılandır) çok az gibi görünüyor - ve daha fazlasını ekleyebilirsiniz.

Sayıyı azaltmak için: TTY sayısını nasıl azaltabilirim?


8

Tüm /dev/tty*girişler olarak bilinen bir şey vardır device fileUnix felsefesi doğrultusunda,. Kullanıcı ve gerçek cihaz arasında bir bağlantı görevi görür, ancak amaçları biraz farklı olabilir.

Sanal konsollar

Gibi cihaz dosyaları /dev/tty123normal kabuk aracılığıyla sistemle etkileşime girmek için kullanılabilir. Bunlar sanal terminallerdir. Ubuntu sistemi varsayılan olarak TTY 1 ila 6'yı açacak şekilde yapılandırılmıştır, ancak biri manuel olarak daha fazlasını açabilir, örneğin:

sudo openvt -c 9 -s "bash"

Bu bash, / dev / tty9'da root olarak açılacak ve sizi hemen bu TTY'ye geçirecektir (yerel terminalde yapıldıysa, ancak uzak sshoturum yoluyla yaparsanız , bu durumda chvt 99'un /dev/tty9bu örnekte olduğu durumlarda kullanmanız gerekebilir ). sudoKök olmayanlar için aynısını yapmak için açmak istediğiniz tty'nin sahipliğini değiştirmeniz gerekecektir. Örneğin,

$ sudo chown xieerqi:tty /dev/tty8 
$ openvt -c 8 -l 

Bu beni tty8'deki varsayılan kabuğumla giriş yapacak. Bununla birlikte, testlerimde, bunun sadece TTY ile çalıştığı anlaşılıyor, bu yüzden eğer terminal emülatörü ile yapıyorsanız, işe yaramayabilir ( Couldn't get a file descriptor referring to the console hata yapıyordum ve sadece sudo openvt -c 8 -lbenim için emülatörden çalışıyordum)

Tarihi açıdan bakıldığında, tüm lüks terminal çoklayıcılar oluşturulmadan önce, bu kullanışlı bir özellikti - bu konsollarda 62 komuta (belki de sunuculara) neden olabilir ve 63. çalışırken çalışmasına izin verebilirdiniz. Günümüzde, gerekli olmayabilir.

Varsayılan olarak oluşturulan birden fazla cihaz dosyası vardır. Aktif olanlar 1 ile 6 arasındadır, ancak bir tanesi/etc/default/console-setup özellikle bu bölümü düzenleyerek sayılarını değiştirebilir :

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

ttyS * cihazları

Bunlar seri konsollar için kullanılan aygıt dosyalarıdır, yani UART (RS-232 olarak da bilinir). Geçmişte birçok bilgisayar sistemi seri port ile birlikte gelirdi. Günümüzde, bu daha çok sunucu tipi bilgisayarlarda bulunabiliyordu. Birden fazla ttyS cihazı, birden fazla cihazın USB veya Ethernet üzerinden yönetilmesini sağlayan RS-232 hub'ları ile faydalı olabilir.

Elektrik mühendisleri için (üniversitede okuduğum şey), mikrodenetleyicilerle ve geliştirme kartlarıyla (örneğin, Arduino) etkileşimde bulunmak için seri port kullanıyoruz. Raspberry Pi gibi tek portlu bilgisayarlar da kullanmaktadır. Günümüzde seri bağlantı USB'den UART'a kablo kullanılarak kurulmakta ve konsolu aşağıdaki şekilde terminalde açmaktadır screen:

screen /dev/ttyUSB0 115200 # the number is baud rate or speed

Arduino ve Ahududu seri bağlantı için kendi aygıt dosyası oluşturmak, olacağı Not /dev/ttyUSB0veya/dev/ttyACM0

vcs * aygıtları

Göre man vcsbu konsol bellek cihazlardır. Basit bir ifadeyle, eğer ekranda ne sudo cat /dev/vcs1olduğunu göreceksiniz /dev/tty1, en azından bu terminalde maksimum miktarda hat göreceksiniz .

Konsol sayısını azaltmak

Gerçek aygıt dosyalarının sayısını azaltmak, tty.hkitaplığı değiştirmeden ve çekirdeği yeniden derlemeden mümkün değildir ( Referans ve diğeri ). Ancak, bu cihazların silinmesi bu komutla manuel olarak yapılabilir:

sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'

Bununla birlikte, bu biraz anlamsızdır - cihaz dosyaları hiç yer kaplamaz ve sistem performansını etkilemez.


Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
terdon

6

Pratiklik gerçektir. Gerçekten çok kullanıcılı Linux sisteminde aynı anda çalışan birden fazla program olabilir ve her birinin kendi sanal terminalinde çalışıp çalışmadığını kontrol etmek için bırakabilirsiniz. Her birine giriş yaptığınızda, gerekirse farklı kullanıcılar olarak giriş yapabilirsiniz. Şimdi, kabul edildi, birçok insan Linux'a tek kullanıcılı bir bakış açısıyla varıyor, ancak Linux çok kullanıcılı olarak doğduğundan, bu yetenek asla atılmadı.

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.