Mengapa begitu banyak konsol Virtual?

26

Apa alasan memiliki begitu banyak konsol virtual?

Saya akan mengerti jika ada satu dalam kasus GUI crash tetapi 6 lagi selain default? Untuk apa mereka? Saya bahkan melihat tidak ada penggunaan untuk mereka kecuali ketika GUI membeku.

Hinklo
sumber
Saya setuju dengan jawaban Mateo di bawah ini. Kenapa tidak LEBIH BANYAK? Saya menemukan diri saya memiliki semua 6 terbuka dan berharap lebih (dan GUI sering tetap "dimatikan" di layar masuk).
haziz

Jawaban:

16

Jawaban singkat : mengapa tidak? (senyum tersirat, tolong)

Yang lebih panjang : saya kira sebagian besar adalah sejarah. Ada 6 konsol virtual yang dikonfigurasi dengan gettydi linux pertama saya boot dengan dukungan VC, saya benar-benar lupa kapan (sekitar tahun 1990, saya pikir). Kemudian ketika Anda memulai lingkungan grafis (dengan tangan, denganstartx ) itu membuka dirinya sendiri pada VC gratis pertama, yang kebetulan # 7. Dan saya masih melakukan sebagian besar pekerjaan saya pada VC pada saat itu: para editor jauh lebih cepat dan kadang-kadang saya menggunakan lebih banyak VC daripada enam standar, dan laptop saya bukan monster grafis ...

Sebagai contoh, saya biasa menjalankan tiga editor (program, input data, file TeX yang menggambarkannya), satu VC untuk kompilasi, satu lagi untuk membaca manual, dan satu lagi terhubung melalui telnet ke server email saya.

Saya menduga bahwa alasan untuk masih menggunakan enam konsol virtual adalah membiarkan grafik VC di # 7 untuk semua orang, sehingga Anda dapat menulis di manual " Ctrl-Alt-F7" dan bukan "di Ctrl-Alt-Fxmana xVC gratis pertama".

Sebagai catatan, Anda dapat (saya kira --- tidak pernah mencoba) mengurangi VC. Lakukan saja

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

untuk menghentikan VC # 6, mengikuti manual pemula .

Rmano
sumber
Dimungkinkan untuk memangkas jumlah tty yang aktif , tetapi bukan file perangkat itu sendiri (kecuali jika orang ingin mengkompilasi ulang kernel). Lihat jawaban saya di bawah ini
Sergiy Kolodyazhnyy
9

Kenapa tidak lebih? Jalankan topatau htopdalam satu (berikan statika penggunaan CPU / memori), sshke sistem lain dalam 2 atau 3, jalankan beberapa tugas otomatis di yang lain, pertahankan satu untuk berjaga-jaga, masuk ke beberapa pengguna dalam beberapa lagi, jalankan cmatrixsatu, mulai dari GUI di yang lain dengan -

startx -- :1

(beberapa gambar memiliki bug dengan ini)

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

Ketika Anda benar-benar mulai menggunakan fitur ini 7 tty's (yang ketujuh adalah default) tampaknya sedikit - dan Anda dapat menambahkan lebih banyak.

Untuk mengurangi jumlah: Bagaimana saya bisa mengurangi jumlah TTY?

Mateo
sumber
8

Semua /dev/tty*entri adalah sesuatu yang dikenal sebagai device file, sesuai dengan filosofi Unix. Mereka berfungsi sebagai tautan antara pengguna dan perangkat aktual, tetapi tujuannya mungkin sedikit berbeda.

Konsol virtual

File perangkat seperti /dev/tty123dapat digunakan untuk berinteraksi dengan sistem melalui shell biasa. Itu adalah terminal virtual. Sistem Ubuntu dikonfigurasikan untuk membuka secara default TTY 1 hingga 6, tetapi seseorang dapat secara manual membuka lebih banyak, misalnya:

sudo openvt -c 9 -s "bash"

Itu akan terbuka bashsebagai root pada / dev / tty9 dan segera mengalihkan Anda ke TTY itu (jika dilakukan pada terminal lokal, tetapi jika Anda melakukannya melalui sshsesi jarak jauh , dalam hal ini Anda mungkin perlu menggunakan chvt 9, di mana 9 ada /dev/tty9dalam contoh ini). Untuk melakukan hal yang sama tanpa sudonon-root, Anda harus mengubah kepemilikan tty yang ingin Anda buka. Sebagai contoh,

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

Itu akan masuk saya dengan shell default saya di tty8. Namun, dalam pengujian saya, tampaknya ini hanya berfungsi melalui TTY, jadi jika Anda melakukannya melalui terminal emulator, itu mungkin tidak berfungsi (saya mendapatkan Couldn't get a file descriptor referring to the console kesalahan dan hanya sudo openvt -c 8 -lbekerja untuk saya dari emulator)

Dari sudut pandang historis, sebelum semua multiplexer terminal mewah dibuat, ini adalah fitur yang berguna - Anda dapat menelurkan hingga 62 perintah (mungkin server) pada konsol tersebut, dan membiarkannya berjalan, saat bekerja di ke-63. Saat ini, mungkin tidak seperlunya.

Ada beberapa file perangkat yang dibuat secara default. Yang aktif adalah 1 hingga 6, tetapi orang dapat mengubah jumlahnya dengan mengedit /etc/default/console-setup, khususnya bagian ini:

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

perangkat ttyS *

Ini adalah file perangkat yang digunakan untuk konsol serial, alias UART (juga dikenal sebagai RS-232). Di masa lalu banyak sistem komputer akan datang dengan port serial. Saat ini, ini sebagian besar dapat ditemukan pada jenis server komputer. Beberapa perangkat ttyS dapat berguna dengan hub RS-232, yang memungkinkan koneksi beberapa perangkat dikelola melalui USB atau Ethernet.

Untuk insinyur listrik (yang saya ambil jurusan di perguruan tinggi), kami menggunakan port serial untuk berinteraksi dengan mikrokontroler dan papan pengembangan (Arduino, misalnya). Komputer port tunggal, seperti Raspberry Pi, juga menggunakannya. Saat ini, koneksi serial dibuat menggunakan kabel USB ke UART, dan membuka konsol di terminal melalui screenseperti:

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

Perhatikan, bahwa Arduino dan Raspberry akan membuat file perangkat mereka sendiri untuk koneksi serial, /dev/ttyUSB0atau/dev/ttyACM0

perangkat vcs *

Menurut man vcsini adalah perangkat memori konsol. Dengan kata-kata sederhana, jika Anda melakukannya, sudo cat /dev/vcs1Anda akan melihat apa yang ada di layar /dev/tty1, setidaknya hingga jumlah maksimum garis di terminal itu.

Mengurangi jumlah konsol

Mengurangi jumlah file perangkat yang sebenarnya, tidak dimungkinkan tanpa mengubah tty.hpustaka dan mengkompilasi ulang kernel ( Referensi dan yang lain ). Namun, menghapus perangkat-perangkat itu dapat dilakukan secara manual melalui perintah ini:

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

Namun, ini agak tidak ada gunanya - file perangkat tidak memakan ruang apa pun dan tidak memengaruhi kinerja sistem.

Sergiy Kolodyazhnyy
sumber
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
terdon
6

Kepraktisannya nyata. Mungkin ada banyak program yang berjalan secara bersamaan di sistem Linux yang benar-benar multi-pengguna, dan Anda bisa masuk untuk memeriksa masing-masing jika masing-masing berjalan di terminal virtualnya sendiri. Ketika Anda masuk ke masing-masing, Anda dapat masuk sebagai pengguna yang berbeda, jika diperlukan. Sekarang, memang, banyak orang tiba di Linux dengan perspektif pengguna tunggal, tetapi karena Linux terlahir sebagai multi-pengguna, kemampuan itu tidak pernah dibuang.

K7AAY
sumber