( Raynes | 2022. 12. 11., v – 13:44 )

Értem, amit írsz, de nem értek egyet simán. A konzol az konzol, tényleg az a nyers, szöveges (vagy grafikus módban emulált szöveges) mód (esetleg fizikai teletype, írógép), amiben a kernel indul, és egyes modern grafikus, GUI only OS-eken akár hiányozhat is (Windows, MacOS). DOS-on valóban volt konzol, és ott volt értelme a CON: eszköznek is, Windowson már csak emulálva van, meg fenntartva a CON: eszköznévnek, hogy fájlt ne lehessen így hívni.

A konzol teljesen más, más üzemmódokon megy (BIOS/VGA text mode, vagy VESA közvelten grafikus mód), máshogy kezeli a karakterkódolásokat, másfajta fontokat használ, máshogy támogatja a színeket, egész más driverek, protokoll van mögötte. A terminálemulátor viszont megint teljesen más, szintén a felsorolt jellemzőkben.

Azzal sem értek egyet, hogy a konzol a számítógép nyúlványa, meg a shellel működne az OS. Modern OS-en nem férsz hozzá a géphez, hardverhez, azt mindenképp csak a kernel hajtja, és azzal működik az egész OS. A shell max. értelmezi a parancsaidat, segít elindítani binárisokat, értelmezi a shell scripteket, de nem azzal működik az OS.

Tisztában vagyok vele, hogy mi a chsh, az pont a user default login shelljét állítja be. Az csak egy bináris, hogy a shell is csak egy bináris, szigorúan nem is része az OS-nek, anélkül is működik, max. csak interakció nem lenne lehetséges nélküle. Igazából a helyzet még bonyolultabb, mert nem csak hogy külön van ez a user login shell, interaktív shell, script fejlécében hívott interpretes shell, hanem pl. pont a témánál maradva, ha valahová be SSH-zol, akkor a célgépen lévő default user login shell-t kapod (meg abból indítva a távoli/célgépen lévő binárisok indulnak, nem a helyiek), de az a helyi gépen futó terminálemulátorban fog pl. Windowson megjelenni.

El sem tudod képzelni, hogy ez mennyi embernek nem világos, sokszor fejlesztőknek, rendszergazdáknak, adminoknak se. Nem viccelek. Volt itt a HUP-on is pár téma, meg a Stackexchange is tele van vele, hogy kérdezik emberek, hogy hogyan állíthatnának be a „konzolban színeket”, aztán kiderül hosszas eszmecsere alapján, hogy egyrészt semmilyen konzolról nincs szó, hanem terminálemulátort használnak X-en futtatva, és igazából még csak nem is ezt akarják állítani, hanem a shell promptot akarják csinosítani, mert látták valahol, hogy milyen kafa cifrázásokat lehet csinálni vele, vagy egy TUI program témáját akarják állítani (pl. vim). Csak épp a keverés megy miatta.

Ennek ellenére lehetne úgy is definiálni, ahogy te határozod meg, hogy a konzol egy funkció legyen, és ráhúzható legyen a tty-ra, terminálemulátorra, stb., de az csak arra lenne jó, hogy még jobban összekeverjen mindenkit.