Debian Linux Logo für virtuelle Konsolen …


und remote Shells ….

Wenn man auf Rechnern heimisch ist an denen man sogut wie nie physikalisch sitzt, sind manchmal Spielereien wie das Linuxlogo erfreuliche Erkennungsmerkmale auf welchem Rechner man sich gerade eingeloggt hat.
Ausserdem gibt es die Möglichkeit sich uptime, load average und weitere Informationen anzeigen zu lassen, die ggf. interessant sein können.

Bei dieser Kurzanleitung wurde ich inspiriert, von der englischen Anleitung von Dan „OverrideX“ McCombs die früher mal auf
linuxorbit.com erschienen ist. Eine ähnliche Vorgehensweise , die ich hier kurz vorstellen will hatte ich bei einigen Projekten auch gewählt.
Im Prinzip fängt alles damit an, das LinuxLogo installiert werden muss, dazu genügt es unter Debian (ein soweit konfiguriertes apt vorausgesetzt)
apt-get install linuxlogo einzugeben.
Die Quellen zu LinuxlLogo bekommt man unter:

http://www.deater.net/

(Falls jemand das Paket übersetzen will)

Um nun auf den Virtuellen Konsolen vom LinuxLogo begrüßt zu werden muss als erstes die inittab (/etc/inittab) geändert werden.

Die Orginalzeilen für getty :


1:2345:respawn:/sbin/getty 38400 tty1

müssen so abgändert werden das bei den entsprechenden Virtuellen Konsolen /etc/issue.linuxlogo oder /etc/issue.linuxlogo.ascii ausgegeben wird.
Das kann dann so aussehen:


1:2345:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty1

Hinterher sieht dann der Teil der inittab für 6 virtuelle Konsolen in etwa so aus:


1:2345:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty1

2:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty2

3:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty3

4:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty4

5:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty5

6:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty6

 

Jetzt init neu starten (reboot oder kill -HUP 1)
und schon bekommt man das gewünschte LinuxLogo auf der entsprechenden Konsole.

Dan McCombs beschreibt als nächstes in seiner Anleitung wie man das Linuxlogo als MOTD (message of the day) nach dem Remotelogin anzeigen kann. Ich habe eine andere Methode zu diesem Zweck angewand, werde aber auch die Methode von Dan kurz vorstellen.

Als erstes wird auf dem entsprechenden Rechner, ich nenne ihn mal Server die Datei motd geändert.

Zu diesem Zweck werden folgende Kommandos ausgeführt:


mv /etc/motd /etc/motd.old

/usr/bin/linux_logo > /etc/motd

 

Nun steht die Ausgabe von LinuxLogo in motd.

Als nächstes wird /etc/init.d/bootmisc.sh verändert:

Folgende Zeilen müssen geändert werden:


uname -a > /etc/motd.tmp

sed 1d /etc/motd >> /etc/motd.tmp

mv /etc/motd.tmp /etc/motd


Zu:


# uname -a > /etc/motd.tmp

# sed 1d /etc/motd >> /etc/motd.tmp

/usr/bin/linux_logo > /etc/motd.tmp

sed 1,18d /etc/motd >> /etc/motd.tmp

mv /etc/motd.tmp /etc/motd


Danach wird /etc/init.d/bootmisc.sh einmal kurz aufgerufen und man sollte LinuxLogo als Login sehen.
Man kann auch noch einen Text hinzufügen in dem man einfach eine Zeile zu motd hinzufügt in /etc/init.d/bootmisc.sh .

Auf der nächsten Seite habe ich eine weitere Möglichkeit im Zusammenhang mit sshd und die von mir eingesetzte Variante beschrieben.

SSH

Um das LinuxLogo beim einloggen mittels SSH auf einem entfernten Rechner anzuzeigen genügt es (bei Debian, und OpenSSH) in der Konfigurationsdatei /etc/ssh/sshd_config
die auskommentierte Banneroption :

von

#Banner /etc/issue.net

auf:

Banner /etc/issue.linuxlogo

zu ändern.

Diese vorgestellen Methoden sind eigentlich völlig ausreichend und gut, daher stellt sich die Frage warum noch eine andere Methode?

Ich wollte gerne immer aktuell sowohl uptime wie auch load_average mit dem LinuxLogo angezeigt bekommen.
Um das umzusetzen muss LinuxLogo allerdings Zeitnah aufgerufen werden.

Eine Variante wäre LinuxLogo mit entsrechenden Parametern von einem CRON-JOB aufzurufen und /etc/issue.linuxlogo regelmäßig neu zu generieren.

Die andere Variante, die ich bevorzuge, ist LinuxLogo einfach von der Loginshell aufrufen zu lassen bei Login auf dem entfernten Rechner.

Um der Loginshell mitzuteilen das LinuxLogo aufgerufen werden soll genügt es folgenden Eintrage in der .bash_profile
zu erzeugen:


linux_logo -uya

 

Dabei gehe ich von bash als Loginshell aus (bei anderen Shells müsste der Eintrag entprechend in anderen Dateien eingetragen werden).

Die Optionen -uya stehen für uptime (u), load average (y) und monochrome ascii (a). Weitere oder andere Optionen lassen sich über das Manual man linux_logo herausfinden.

Aussehen tut das ganze dann ungefähr so :

Linux Logo

Linux Logo

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.