Bootmeldungen übersichtlich farbig darstellen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
icewalker
Beiträge: 526
Registriert: 17.11.2002 18:03:24
Wohnort: BERLIN
Kontaktdaten:

Bootmeldungen übersichtlich farbig darstellen

Beitrag von icewalker » 15.10.2004 15:29:03

moin, moin,

ich möchte beim bootvorgang die bootmeldungen nicht in schwarz/weiss(debiandefault) haben, sondern wie bei suse, redhad...
in grün (ok) rot(failed)

dies erscheint mir übersichtlicher.

hat jemand ein script/patch für die init.d/* , welches dieses bewirkt?

thx icewalker

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 15.10.2004 17:22:05

Da das nur machbar ist, indem man *alle* init Skripte ändert, und diese auch bei Updates immer schön mit anpasst, gibt es sowas nicht ohne weiteres... Ausser mit einer Menge Handarbeit.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
TCA
Beiträge: 1465
Registriert: 14.05.2004 23:42:30
Wohnort: Göttingen

Beitrag von TCA » 15.10.2004 17:34:43

Wenn du hier schaust und runterscrollst zu stef der hat da ein script das dies zum teil bewirkt.



greetz

TCA
Zuletzt geändert von TCA am 15.10.2004 17:54:38, insgesamt 2-mal geändert.
Gruss
Marc

Wer glaubt, etwas zu sein,
hat aufgehört, etwas zu werden.

debianforum.de Verhaltensregeln

icewalker
Beiträge: 526
Registriert: 17.11.2002 18:03:24
Wohnort: BERLIN
Kontaktdaten:

Beitrag von icewalker » 15.10.2004 17:41:59

der problematik bin ich mir bewusst.

aber, vielleicht hat ja schon jemand ein script geschrieben (vielleicht in perl), welches bei upgrade der init-scripte die entsprechenden echo-sequenzen (schwarz/weiss) gegen echo-sequenzen(scharz/weiss/rot/grün) austauscht.

cu icewalker
Zuletzt geändert von icewalker am 15.10.2004 17:46:50, insgesamt 1-mal geändert.

Benutzeravatar
Mossi
Beiträge: 124
Registriert: 10.10.2004 15:24:49
Kontaktdaten:

Beitrag von Mossi » 15.10.2004 18:32:57

Folge einfach dem Link, den TCA gepostet hat. Da findest du genau so ein Script. Sogar in Perl... Funktioniert übrigens sehr gut.

icewalker
Beiträge: 526
Registriert: 17.11.2002 18:03:24
Wohnort: BERLIN
Kontaktdaten:

Beitrag von icewalker » 15.10.2004 19:07:13

Mossi hat geschrieben:Folge einfach dem Link, den TCA gepostet hat. ... Sogar in Perl... Funktioniert übrigens sehr gut.
kühn, wie ich manchmal bin, habe ich sofort das programm ausprobiert.

das ergebnis..., eine fehlermeldung und geänderte init.d/* ohne backup :(

folgende fehlermeldung kommt beim booten:

/bin/okfail: line 11: 60getcols: value too great for base (error token is "60getcols"

hat jemand eine idee, was hier falsch ist? incl. korrektur, bitte!

cu icewalker

Benutzeravatar
Mossi
Beiträge: 124
Registriert: 10.10.2004 15:24:49
Kontaktdaten:

Beitrag von Mossi » 15.10.2004 19:36:29

sieht nach einer seltsamen Einstellung deiner Konsole aus.

Was liegert denn "stty size", wenn du das auf der Konsole (nicht in X) ausführst?

icewalker
Beiträge: 526
Registriert: 17.11.2002 18:03:24
Wohnort: BERLIN
Kontaktdaten:

Beitrag von icewalker » 15.10.2004 20:05:02

stty size sagt

48 128

Benutzeravatar
Incom
Beiträge: 417
Registriert: 09.11.2003 13:35:27
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Incom » 17.10.2004 20:26:33

icewalker hat geschrieben: das ergebnis..., eine fehlermeldung und geänderte init.d/* ohne backup :(

folgende fehlermeldung kommt beim booten:

/bin/okfail: line 11: 60getcols: value too great for base (error token is "60getcols"

hat jemand eine idee, was hier falsch ist? incl. korrektur, bitte!
Hab ähnliche Fehlermeldungen bekommen. Das Problem war, dass ich das Script per Copy&Waste übernommen hatte, und dadruch Einrückungen entstanden sind die eigentlich nicht ins Script sollten. Nachdem ich die entfernt hatte liefs so wies sollte.

MfG
Incom
Du suchst eine Schritt-für-Schritt Anleitung? Dann schau im Wiki nach!

icewalker
Beiträge: 526
Registriert: 17.11.2002 18:03:24
Wohnort: BERLIN
Kontaktdaten:

Beitrag von icewalker » 17.10.2004 22:28:44

welche einrückungen?

poste doch mal deine version hier rein.

Benutzeravatar
Maikel
Beiträge: 1267
Registriert: 13.04.2004 15:39:25
Wohnort: Gelsenkirchen
Kontaktdaten:

Beitrag von Maikel » 17.10.2004 22:43:08

Könnte damit auch mein Problem von hier: http://www.debianforum.de/forum/viewtop ... 671#197671
erledigt werden?
Cheers, Maikel
------------
BGLUG
------------
Linus Torvalds:
"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)"

Benutzeravatar
Incom
Beiträge: 417
Registriert: 09.11.2003 13:35:27
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Incom » 17.10.2004 22:43:37

icewalker hat geschrieben:welche einrückungen?

poste doch mal deine version hier rein.
Das kaputte Script sah so aus:

Code: Alles auswählen

#/bin/sh
# Improve the eyecandy by graphical boot
# . are replaced by [ OK ] and ok is moved to the right
# * is displayed before starting the service
# if not starting or fail ! and !! is displayed, but you cannot rely on it for now
#
# Stefan Schweizer stefan-schweizer@gmx.de
# Licence: GPL
#
#
perl -pi -e 's|"([^*]*)(Not starting)|"\e[1;31m ! \e[0m\2|' /etc/init.d/*
perl -pi -e "s|\'([^*]*)(Not starting)|\'\e[1;31m ! \e[0m\2|" /etc/init.d/*
perl -pi -e 's/"([^*]*)(Starting|Restarting|Loading|Running|Reloading|Restoring|Setting|Stopping|Shutting|Storing|Cleaning|Creating|Continuing|Mounting|Trying)/"\e[1;32m * \e[0m\2/' /etc/init.d/*
perl -pi -e "s/\'([^*]*)(Starting|Restarting|Loading|Running|Reloading|Restoring|Setting|Stopping|Shutting|Storing|Cleaning|Creating|Continuing|Mounting|Trying)/\'\e[1;32m * \e[0m\2/" /etc/init.d/*
perl -pi -e 's/(\s)(echo|printf|msg)([^\.]*(not|fail)[^\.]*)\.+(")([^>]*$)/\1\2\3\5; echo "\x60\x2fbin\x2fokfail fail\x60" \6/' /etc/init.d/*
perl -pi -e "s/(\s)(echo|printf|msg)([^\.]*(not|fail)[^\.]*)\.+(')([^>]*$)/\1\2\3\5; echo '\x60\x2fbin\x2fokfail fail\x60' \6/" /etc/init.d/*
perl -pi -e 's/(\s)(echo|printf|msg)([^\.]*)\.+(")([^>]*$)/\1\2\3\4; echo "\x60\x2fbin\x2fokfail ok\x60" \5/' /etc/init.d/*
perl -pi -e "s/(\s)(echo|printf|msg)([^\.]*)\.+(')([^>]*$)/\1\2\3\4; echo '\x60\x2fbin\x2fokfail ok\x60' \5/" /etc/init.d/*



cat > /bin/okfail << EOF
getcols() {
echo "\$2";
}
if [ "\$1" = "fail" ]; then
        IN="31m!!";
	else
	        IN="32mok";
		        fi
			COLS="60stty size 2> /dev/null60";
			COLS="60getcols \${COLS}60";
			COLS=\$((\${COLS} - 7));
			echo -e "\e[A\e[\${COLS}G\e[1;34m  [ \e[1;\$IN \e[1;34m]\e[0m";
			EOF

			perl -pi -e "s/60/\`/" /bin/okfail
			perl -pi -e "s/60/\`/" /bin/okfail
			chmod +x /bin/okfail
Richtig muss es so aussehen:

Code: Alles auswählen

#/bin/sh
# Improve the eyecandy by graphical boot
# . are replaced by [ OK ] and ok is moved to the right
# * is displayed before starting the service
# if not starting or fail ! and !! is displayed, but you cannot rely on it for now
#
# Stefan Schweizer stefan-schweizer@gmx.de
# Licence: GPL
#
#
perl -pi -e 's|"([^*]*)(Not starting)|"\e[1;31m ! \e[0m\2|' /etc/init.d/*
perl -pi -e "s|\'([^*]*)(Not starting)|\'\e[1;31m ! \e[0m\2|" /etc/init.d/*
perl -pi -e 's/"([^*]*)(Starting|Restarting|Loading|Running|Reloading|Restoring|Setting|Stopping|Shutting|Storing|Cleaning|Creating|Continuing|Mounting|Trying)/"\e[1;32m * \e[0m\2/' /etc/init.d/*
perl -pi -e "s/\'([^*]*)(Starting|Restarting|Loading|Running|Reloading|Restoring|Setting|Stopping|Shutting|Storing|Cleaning|Creating|Continuing|Mounting|Trying)/\'\e[1;32m * \e[0m\2/" /etc/init.d/*
perl -pi -e 's/(\s)(echo|printf|msg)([^\.]*(not|fail)[^\.]*)\.+(")([^>]*$)/\1\2\3\5; echo "\x60\x2fbin\x2fokfail fail\x60" \6/' /etc/init.d/*
perl -pi -e "s/(\s)(echo|printf|msg)([^\.]*(not|fail)[^\.]*)\.+(')([^>]*$)/\1\2\3\5; echo '\x60\x2fbin\x2fokfail fail\x60' \6/" /etc/init.d/*
perl -pi -e 's/(\s)(echo|printf|msg)([^\.]*)\.+(")([^>]*$)/\1\2\3\4; echo "\x60\x2fbin\x2fokfail ok\x60" \5/' /etc/init.d/*
perl -pi -e "s/(\s)(echo|printf|msg)([^\.]*)\.+(')([^>]*$)/\1\2\3\4; echo '\x60\x2fbin\x2fokfail ok\x60' \5/" /etc/init.d/*



cat > /bin/okfail << EOF
getcols() {
echo "\$2";
}
if [ "\$1" = "fail" ]; then
IN="31m!!";
else
IN="32mok";
fi
COLS="60stty size 2> /dev/null60";
COLS="60getcols \${COLS}60";
COLS=\$((\${COLS} - 7));
echo -e "\e[A\e[\${COLS}G\e[1;34m  [ \e[1;\$IN \e[1;34m]\e[0m";
EOF
perl -pi -e "s/60/\`/" /bin/okfail
perl -pi -e "s/60/\`/" /bin/okfail
chmod +x /bin/okfail
Du suchst eine Schritt-für-Schritt Anleitung? Dann schau im Wiki nach!

Benutzeravatar
Incom
Beiträge: 417
Registriert: 09.11.2003 13:35:27
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Paderborn
Kontaktdaten:

Beitrag von Incom » 17.10.2004 22:47:23

Maikel hat geschrieben:Könnte damit auch mein Problem von hier: http://www.debianforum.de/forum/viewtop ... 671#197671
erledigt werden?
Probiers aus! :wink:
Du suchst eine Schritt-für-Schritt Anleitung? Dann schau im Wiki nach!

Benutzeravatar
Maikel
Beiträge: 1267
Registriert: 13.04.2004 15:39:25
Wohnort: Gelsenkirchen
Kontaktdaten:

Beitrag von Maikel » 18.10.2004 21:40:20

Jo. Das hat geklappt!
Cheers, Maikel
------------
BGLUG
------------
Linus Torvalds:
"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;)"

Antworten