Boot-screen/text screen színezés

Fórumok

Sziasztok!

Valszeg' nem jól kerestem, de sajnos nem találtam konkrét leírást arra, hogy Debian alatt milyen módon tudnám megváltoztatni (változatossá, áttekinthetőbbé tenni) a konzolok szöveges képernyő feliratainak színeit (pl. boot-folyamatnál eltérő színek használata, mint a Knoppix-nál).

Köszöntem előre is a tippeket!

Hozzászólások

Hmmmm... ennyire láma lenne a kérdésem, vagy nem tudja senki a választ..
pedig elkelne a segítség...

Hi! Érdemes lenne a knoppix live remastering dolgai körül nézelődnöd. Mintha ott olvastam volna valamit erről.
covek@covek.hu

Köszönöm a tippeket, nézelődöm, de azt már elsőre látom, hogy nem lesz egyszerű...

echo -e '\E[32m'"[ service started ]"'\E[30m' (zöld kiírás, aminek a végén visszaállítjuk feketére a betűszínt...nálam fehér a konzolom háttere, ugye boot során egyértelmű, hogy fehérre 37-re kell állítani)

echo -e '\E[40;33m'"[ ERROR ]"'; tput sgr0

Color Foreground Background
black 30 40
red 31 41
green 32 42
yellow 33 43
blue 34 44
magenta 35 45
cyan 36 46
white 37 47

Annyit már kifilóztam, hogy a /lib/lsb/init-functions fájlt kell editálni, sikerült is a log_end_message normál nyugtázását zöld színű [OK.] feliratra váltani, de ez aért nem annyira egyszerű, hogy kezdőként élből kenjem. Próbáltam a Knoppix fájlját kielemezni, de mintha nem lenne túl nagy eltérés az alap Debian-os fájlhoz képest. Ha esetleg valaki pontosan le tudná írni a folyamatot, az sokat segítene...

Előre is köszönöm.

Azt gondolom azért tudod, hogy hogyan megy a boot folyamat.
Elindítja az S scripteket. Na már most ha különböző színeket akarsz az egyes szervizeknek, akkor minden egyes S scriptnél át kell írnod a visszatérési értéknél az OK kiírását olyanra amilyenre akarod.

Ha csak a status érdekel:
Na már most van egy paraméter az init-functionsba a log_use_fancy_output. Ha ez true, akkor használja a színeket a különböző indítási eredményeknél. De ez csak az eredményekre vonatkozik. RED a hibás (log_failure_msg), YELLOW a warning (log_warning_msg), stb.
Ha megnézed a kiírást:
$RED*$NORMAL $@
ez azt jelenti, hogy rak egy piros csillagot a hibásan futó szerviz elé, majd normál színnel kiírja az üzenetet. Ezt mondjuk átírhatod ilyenre:
$NORMAL $@ $RED [ failed ] $NORMAL (az utolsóval visszaállítjuk a színt a követekző sornak)

mindkét megoldás feltételezi, hogy alap szinten beszélsz a bash nyelvén (vagy a megfelelő shell nyelvén)

"mindkét megoldás feltételezi, hogy alap szinten beszélsz a bash nyelvén (vagy a megfelelő shell nyelvén)"
- Ha a kezdő linuxosnál ez alapfeltétel, akkor vedd úgy, hogy én a mosogatófiú-kategória vagyok :)
Szavaidból azt vettem ki, hogy ezek szerint jó felé kapisgálok, és kilogikáztam a script ez esetre vonatkozó törvényszerűségeit is (mondom a ződ' [OK.]-ig már eljutottam.) Amire viszont én gondolok, az a Knoppix boot-jához hasonló, szivárványos színezés, amit viszont nem szeretnék egyenként beírogatni, egyszerűen át akartam emelni az adott részt a Knoppix init-function-fájljából (de úgy tűnt, mintha nem ott lenne definiálva, vagy csak elnéztem valamit...)
Ha lesz időm, jobban belemászom, csak az érdekelne, hogy van-e erre valamilyen rutinos megoldás (CTRL+C>CTRL+V), vagy manuálisan lehet átírogatni, amíg olyan nem lesz, amilyet szeretnék...

Hát a legjobb megoldás, ha magad írsz egy init rendszert :).
Na jó csak vicceltem.
De mondjuk azt el tudom képzelni, hogy a sysinit-et átírva meg lehetne oldani a dolgot. Mondjuk az elején definiálsz tömböket a különböző szervíz típusokra, majd amikor elindul a forciklus, ami végigmegy az aktuális runlevel Sxx scriptjein, megnézed, hogy melyik tömbben van benne az adott szervíz és ennek megfelelően átállítod a kiírás színét.
Szerintem valami hasonlót csinál a knoppix is. Ha nem, akkor valahogy máshogy oldja meg. :)

Tehát nagyon vázlatosan ugye elindul az init process -> elindítja a sysinit-et -> ez elindítja az Sxx scripteket a megfelelő runlevel szerint -> vóállá a rendszer elindul.

Na most érthető okokból két helyen tudsz beavatkozni, az egyik a sysinit, a másik a sok-sok Sxx script.

http://oldfield.wattle.id.au/luv/boot.html