Pada tahun 1970-an kami memiliki terminal perangkat keras dengan antarmuka CUI (karakter antarmuka pengguna) untuk input / output.
Sekarang, kami memiliki emulator terminal ( Ctrl+ Alt+ Fn) di dunia Unix / Linux.
Di OS Ubuntu, saya melihat tujuh terminal emulator, di mana GUI menempati emulator terminal ke-7 ( Ctrl+ Alt+ F7).
Sebagai contoh, ini adalah emulator terminal ( Ctrl+ Alt+ F1) pertama saya
$ tty
/dev/tty0
Mengapa Unix / Linux menyediakan beberapa emulator terminal?
Jawaban:
Untuk alasan yang sama emulator terminal GUI Anda kemungkinan mendukung tab (mis. Terminal GNOME), dan jika tidak (mis.
rxvt
), Maka untuk alasan yang sama meluncurkan instance aplikasi terminal GUI kedua tidak hanya menarik yang pertama ke latar depan dan keluar, memaksa Anda untuk menggunakan instance pertama.Saya secara rutin menggunakan setidaknya 3 terminal windows dalam pekerjaan saya, dan seringkali lebih:
Editor teks untuk sisi server dari sistem yang sedang saya kerjakan
Editor teks untuk sisi klien dari sistem yang sama
Jendela perintah untuk menjalankan server
Saya jarang membutuhkan terminal keempat untuk menjalankan program klien, karena biasanya berjalan di tempat lain (aplikasi web, aplikasi GUI asli, aplikasi seluler, dll.), Tetapi jika saya sedang mengembangkan klien CLI untuk aplikasi server saya, saya akan punya terminal terpisah juga terbuka untuk itu.
Di masa lalu, sebelum
sudo
menjadi populer, saya membuatroot
terminal terbuka sepanjang waktu.Saya jarang menggunakan kotak Unix / Linux secara interaktif di konsol tanpa GUI hari ini, tapi saya sering menjalankannya tanpa kepala dan mengaksesnya melalui SSH. Klien terminal SSH pilihan saya mendukung tab, yang dikonfigurasi seperti di atas.
Salah satu proyek hobi saya saat ini adalah saya menggunakan terminal kaca tua sekali -sekali, yang berarti saya tidak lagi memiliki banyak jendela terminal, jadi saya akhirnya belajar sedikit tentang GNU
screen
, sebuah program yang tidak pernah saya gunakan sebelumnya, karena saya punya baik beberapa terminal konsol atau beberapa terminal GUI. Dan apa fungsinyascreen
? Di antara hal-hal lain, Anda dapat mengkonfigurasinya untuk memberi Anda beberapa terminal virtual pada satu layar, seperti halnya Linux dengan Ctrl- Alt- .Fxsumber
Ini adalah fitur yang disediakan oleh hampir semua jika tidak semua Unix dan Unix suka berjalan pada perangkat keras x86. Menariknya, konsol virtual diperkenalkan pertama kali dalam Unix oleh Microsoft Xenix pada awal tahun delapan puluhan, dan juga tersedia dalam CP / M bersamaan.
Fitur ini kemudian diintegrasikan dalam AT&T SVR4 Unix, Solaris, dan dipinjam oleh BSDs dan Linux.
Ketika mereka pertama kali diperkenalkan, tidak ada lingkungan grafis yang tersedia untuk mesin yang menjalankan implementasi Unix ini. Sementara memiliki terminal fisik yang terhubung ke server Unix pusat melalui jalur RS232 adalah standar, menghubungkan beberapa terminal ke PC standar yang menjalankan Xenix adalah berlebihan jika tujuannya hanya untuk satu pengguna untuk menjalankan beberapa program interaktif secara bersamaan. Terminal virtual memberikan solusi yang elegan dan nyaman untuk masalah itu.
Implementasi Unix lainnya kemudian menyediakan fitur yang sama untuk memenuhi kebutuhan yang sama.
Ketika lingkungan grafis, terutama X11, menyebar, dapat melihat beberapa emulator terminal pada saat yang sama pada layar yang sama merupakan peningkatan yang signifikan. Fitur konsol virtual umumnya disimpan jika hanya karena masih nyaman untuk dapat beralih ke konsol jika lingkungan grafis beku atau disfungsional karena suatu alasan.
Perhatikan bahwa utilitas menyukai
screen
dantmux
datang lebih lambat dari terminal virtual untuk menggeneralisasi fungsionalitas yang sama. Keuntungan mereka adalah mereka dapat digunakan tidak hanya pada konsol fisik lokal, tetapi juga pada sesi apa pun, baik lokal atau jarak jauh (misalnyatelnet
,ssh
). Ketika digunakan pada konsol fisik, konsol virtual masih berguna karena fungsional dalam beberapa situasi di manascreen
/tmux
tidak bisa membantu, seperti jika X11 dibekukan, atau jika sebuah jendela telah menangkap fokus dan tidak melepaskannya.Virtualisasi berbasis wadah seperti zona Solaris atau Linux LXC juga menyediakan metode untuk terhubung ke konsol wadah melalui
zlogin -C zone
danlxc-console -t 0 -n container
masing - masing.sumber
Saya kira salah satu alasan bagus untuk memiliki emulator terminal tambahan adalah jika Anda melakukan sesuatu yang salah pada antarmuka grafis Anda dan itu menjadi tidak dapat digunakan, Anda dapat dengan cepat beralih ke emulator terminal dan memperbaiki semua masalah yang Anda hadapi dalam antarmuka grafis. Ini sebenarnya terjadi cukup sering ketika Anda membuat perubahan pada window manager Anda atau fitur lain dari antarmuka grafis. Saya kira itu juga akan berguna untuk memiliki beberapa terminal lagi, namun memiliki 6 antarmuka grafis utama tampaknya agak berlebihan.
Perbaiki juga saya jika saya salah, tetapi tidak bisakah menjalankan beberapa perintah sebagai pengguna yang berbeda dari satu emulator terminal tunggal?
sumber
Banyak pertanyaan lain yang sepertinya menjawab mengapa fitur itu diperkenalkan.
Namun, pertanyaan sebenarnya adalah:
"Apakah", bukan "melakukan".
Jadi, dengan fokus pada waktu saat ini, berikut adalah beberapa alasan saat ini:
Sebagai contoh, saya dapat mengingat bahwa Alt-Ctrl-F2 adalah editor teks yang melihat satu file teks (misalnya, dokumentasi), dan Alt-Ctrl-F3 digunakan untuk dengan cepat melihat file lain (misalnya, file konfigurasi), dan Alt-Ctrl-F4 digunakan untuk prompt perintah, sementara desktop grafis dapat dibagi antara penelusuran web, E-Mail, pemutar musik, dll.
Singkatnya, tidak ada banyak alasan untuk tidak mendukung ini. Ada beberapa manfaat yang dihargai beberapa orang, setidaknya beberapa kali, dan tidak banyak biaya.
Sebenarnya, menghapus dukungan untuk ini mungkin lebih banyak pekerjaan daripada hanya meninggalkan dukungan di sana. Meskipun menghapus dukungan mungkin sederhana, jika ada yang rusak, maka mengidentifikasi dan memperbaiki masalah mungkin sedikit menantang. Jadi, pengurangan jumlah upaya yang diperlukan (untuk mengembangkan versi berikutnya dari sistem operasi) adalah alasan lain untuk membiarkan begitu saja. Itu berarti fitur ini cenderung tetap tersedia.
sumber
Yang pertama Anda tanyakan adalah fitur dari sebuah kernel bernama Linux. Bukan dari Unix secara umum, dan bukan Gnu.
Mengapa, Anda harus bertanya kepada penulis. Namun tebakan saya adalah bahwa hal itu memungkinkan admin perangkat yang tidak jaringan (di sini saya menyertakan RS232 sebagai jenis jaringan), untuk login dan melakukan beberapa pekerjaan admin, tanpa mengeluarkan pengguna lain.
sumber