GNU/Linux >> Znalost Linux >  >> Linux

Přepínání prostředí na systémovém terminálu Volaný?

V současné době se snažím vyrobit autonomní dron pomocí Robot Operating System (ROS). K tomu jsem nainstaloval Raspbian Lite (Jessie ) na Raspberry Pi 3 a aktuálně používám ROS Kinetic na to. Protože je to Raspbian Lite , nebyli s instalací dodáni žádní správci oken ani desktopová prostředí. Rozhodl jsem se použít Správce oken Openbox a nainstalovali na něj terminál pro pohodlí. Mohu jen zavolat sudo startx a otevře se správce oken, ke kterému lze přistupovat pomocí Ctrl + alt + F2 `.

Moje otázka nyní spočívá ve skutečnosti, že nerozumím procesu vytváření nových relací v rámci terminálu v celém systému. Říká se tomu pro začátek systémový terminál? Jaké jsou tyto relace, které vyvolávám pomocí Ctrl + Shift + F ? Některé z nich obsahují správce zobrazení a některé z nich obsahují terminály , když si představím, že celé prostředí pro stolní počítače lze také ubytovat. Existuje manuálová stránka, na kterou se mohu podívat?

Přijatá odpověď:

Jsou to virtuální terminálová zařízení jádra , multiplexovaný do fyzického framebufferu a lidských vstupních zařízení pomocí emulátoru terminálu program, který je zabudován do samotného jádra. Aplikačním programům spuštěným nad jádrem vypadají jako jakákoli jiná koncová zařízení, například sériové koncové zařízení . (Mají řádovou disciplínu, ale neovládají modem.)

Systém implementuje přihlášení k terminálu spuštěním getty program (nebo ekvivalent) a login program, který přijímá přihlašovací údaje uživatele a vyvolává přihlašovací relace .

Server X program také potřebuje používat fyzický framebuffer a lidská vstupní zařízení. Musí vyjednat jejich sdílení s emulátorem terminálu jádra. Dělá to tak, že přidělí jeden virtuální terminál a řekne jádru, aby ho odpojilo od emulátoru terminálu jádra.

Proto se zdá, že X server „běží“ na konkrétním terminálu. Když emulátor jaderného terminálu uvidí klávesovou zkratku pro přepnutí na přidělený virtuální terminál, přenechá řízení framebufferu a lidských vstupních zařízení X serveru. Když X server uvidí klávesovou zkratku pro přepnutí na jiný virtuální terminál, X server převezme kontrolu zpět.

Tyto klávesové zkratky nemusí být nutně symetrické. Na jednom z mých systémů je hotkey akord implementovaný programem pro emulaci terminálu jádra pro přepnutí na virtuální terminál #2 Alt +F2 zatímco akord klávesové zkratky implementovaný X serverem pro stejnou akci je Ctrl +Alt +F2 .

Pokud jde o grafické přihlášení , správce zobrazení zpracovává spouštění X serverů pomocí greeter programy. Právě spouštíte X server přímo a samozřejmě nepoužíváte správce zobrazení. Po ověření přihlašovacích údajů uživatele správce plochy zobrazí prostředí počítače , který obsahuje sadu klientů X aplikace různého stupně složitosti. Pro komplexní desktopová prostředí existuje celá řada serverových programů propojených pomocí sběrnice pro stolní počítače . (Na jednom z mých systémů vyžaduje takzvaný „malý a lehký“ editor GNOME zprostředkovatele D-BUS a devět dalších serverové programy, které mají být spuštěny.)

Související:Journalctl:jak zabránit zkrácení textu v terminálu?

Některé z těchto X klientských programů mohou být jiné emulátory terminálu, ty uživatelského prostoru, jako je LXTerminal, Unicode RXVT, GNOME Terminal, Terminate, roxterm, evilvte, xterm atd. Ty přímo nepoužívají fyzický framebuffer a lidská vstupní zařízení a využívají pseudoterminál zařízení.

Další čtení

  • 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. Zkopírujte soubory v terminálu Linux

  2. Přejmenujte soubor v terminálu Linux

  3. Přesunout soubory v terminálu Linux

  1. Jaká je aktuální úroveň běhu systému Linux?

  2. Jak přesměrovat výstup system() do souboru?

  3. Jak zkontrolovat HZ v terminálu?

  1. Jak změnit identitu systému Linux

  2. Výstup „posledního“ příkazu?

  3. Zkontrolujte zatížení systému v systému Linux