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