GNU/Linux >> Belajar Linux >  >> Linux

Beralih Lingkungan Pada Terminal Lebar Sistem Disebut?

Saat ini saya sedang mencoba membuat drone otonom menggunakan Robot Operating System (ROS). Untuk melakukan ini, saya telah menginstal Raspbian Lite (Jessie ) pada Raspberry Pi 3 dan saat ini saya menggunakan ROS Kinetic di atasnya. Karena ini adalah Raspbian Lite , tidak ada pengelola jendela atau lingkungan desktop yang menyertai penginstalan. Saya memutuskan untuk menggunakan Openbox Window Manager dan memasang terminal ke dalamnya untuk kenyamanan. Saya bisa memanggil sudo startx , dan pengelola jendela terbuka, yang dapat diakses dengan Ctrl + alt + F2 `.

Sekarang pertanyaan saya terletak pada kenyataan bahwa saya tidak mengerti proses pembuatan sesi baru di dalam terminal lebar sistem. Apakah ini disebut terminal lebar sistem untuk memulai? Apa sesi ini, yang saya panggil dengan menggunakan Ctrl + Bergeser + F ? Beberapa dari mereka mengakomodasi manajer tampilan dan beberapa di antaranya mengakomodasi terminal , sementara saya membayangkan, bahwa seluruh lingkungan desktop bisa diakomodasi juga. Apakah ada halaman manual yang bisa saya lihat?

Jawaban yang Diterima:

Mereka adalah perangkat terminal virtual kernel , digandakan ke framebuffer fisik dan perangkat input manusia oleh emulator terminal program yang dibangun ke dalam kernel itu sendiri. Untuk program aplikasi yang berjalan di atas kernel, mereka terlihat seperti perangkat terminal lainnya, seperti perangkat terminal serial . (Mereka memiliki disiplin garis, tetapi tidak ada kontrol modem.)

Sistem menerapkan masuk terminal dengan menjalankan getty program (atau yang setara) dan login program yang menerima kredensial pengguna dan menjalankan sesi masuk .

Server X program juga perlu menggunakan framebuffer fisik dan perangkat input manusia. Itu perlu dinegosiasikan untuk membagikannya dengan emulator terminal kernel. Ia melakukannya dengan mengalokasikan satu terminal virtual dan memberi tahu kernel untuk memutuskannya dari emulator terminal kernel.

Oleh karena itu mengapa tampaknya server X "berjalan" pada terminal tertentu. Ketika emulator terminal kernel melihat akord hotkey untuk beralih ke terminal virtual yang dialokasikan, emulator akan menyerahkan kontrol framebuffer dan perangkat input manusia ke server X. Saat server X melihat akord hotkey untuk beralih ke terminal virtual lain, server X menyerahkan kontrol kembali.

Akord hotkey ini tidak harus simetris. Di salah satu sistem saya, akord hotkey yang diimplementasikan oleh program emulasi terminal kernel untuk beralih ke terminal virtual #2 adalah Alt +F2 sedangkan akord hotkey yang diimplementasikan oleh server X untuk tindakan yang sama adalah Ctrl +Alt +F2 .

Dalam hal login grafis , pengelola tampilan menangani memulai server X dengan greeter program. Anda baru saja memulai server X secara langsung dan tidak menggunakan pengelola tampilan, tentu saja. Setelah kredensial pengguna diautentikasi, pengelola desktop menampilkan lingkungan desktop , yang terdiri dari sekumpulan klien X aplikasi dari berbagai tingkat kompleksitas. Untuk lingkungan desktop yang kompleks, ada banyak program server yang saling berhubungan melalui bus desktop . (Di salah satu sistem saya, yang disebut Editor GNOME “kecil dan ringan” memerlukan broker D-BUS dan sembilan lainnya program server yang akan dijalankan.)

Terkait:Journalctl:bagaimana mencegah teks terpotong di terminal?

Beberapa program klien X tersebut dapat berupa lainnya emulator terminal, yang userspace, seperti LXTerminal, Unicode RXVT, Terminal GNOME, Terminate, roxterm, evilvte, xterm, dan sebagainya. Ini tidak secara langsung menggunakan framebuffer fisik dan perangkat input manusia, dan mereka menggunakan terminal semu perangkat.

Bacaan lebih lanjut

  • https://superuser.com/a/723442/38062
  • https://unix.stackexchange.com/a/316279/5132
  • https://unix.stackexchange.com/a/194218/5132
  • https://unix.stackexchange.com/a/178807/5132
  • https://stackoverflow.com/a/39302351/340790

Linux
  1. Salin file di terminal Linux

  2. Ganti nama file di terminal Linux

  3. Pindahkan file di terminal Linux

  1. Output Dari Perintah "terakhir"?

  2. Jadwalkan reboot di sistem operasi Ubuntu

  3. Bagaimana cara memeriksa HZ di terminal?

  1. Dengarkan radio di terminal Linux

  2. Bagaimana mengubah identitas sistem Linux

  3. Mengapa pengguna paling kuat di sistem Unix/Linux disebut "root?"