Login-Screen anpassen Linux

Zuletzt aktualisiert am 6. Januar 2026 von Lars

Update Betriebssystem

$ sudo apt update
$ sudo apt upgrade

Danach muss oft der Rechner neu gestartet werden.

LOGIN–Screen anpassen

$ sudo vim /etc/motd

ASCII Font Generator, z. B. https://patorjk.com/software/taag/#p=display&h=3&v=2&f=Big%20Money-ne&t=%0A

Gut lesbar sind zum Beispiel die Fonts

  • Big
  • Doom

Login-Screen löschen vor dem Anzeigen der motd-Datei?

Ergänze

^[[2J^[[H

an den Anfang. Das klappt oft nicht so wie gewünscht. Um das zu ändern, führe das folgende aus:

$ echo -e \\e[2J\\e[\;H > motd2 && cat /etc/motd>>motd2

Das erzeugt eine motd2 im aktuellen Verzeichnis mit den nötigen Einträgen für das Löschen des Bildschirms mit den bereits vorhandenen.

Mit...

$ sudo mv motd2 /etc/motd

...kannst du die Originale damit überschreiben.

Schicker mit Skript /etc/profile.d/sysinfo.sh

Schicker geht es mit einem Skript. Beim Raspberry Pi muss ist das die Datei

/etc/profile.d/sysinfo.sh

Darin kannst du ein Bash-Script ablegen, das bestimmte Funktionen ausführt und zum Beispiel so was anzeigt:

Das dahinterliegende Script sieht so aus:

#!/bin/bash
# -------------------------------------------------
#  Custom MOTD für Raspberry Pi
# -------------------------------------------------

clear

# Header
echo "========================================================================="
echo "Welcome to $(lsb_release -ds)"
echo -e "\033[0;32m   .~~.   .~~.    \033[0m"
echo -e "\033[0;32m  '. \\ ' ' / .'  \033[0m"
echo -e "\033[0;31m   .~ .~~~..~.    \033[0m"
echo -e "\033[0;31m  : .~.'~'.~. :   \033[0m"
echo -e "\033[0;31m ~ (   ) (   ) ~  \033[0m"
echo -e "\033[0;31m( : '~'.~.'~' : ) \033[0m"
echo -e "\033[0;31m ~ .~ (   ) ~. ~  \033[0m"
echo -e "\033[0;31m  (  : '~' :  )   \033[0m"
echo -e "\033[0;31m   '~ .~~~. ~'    \033[0m"
echo -e "\033[0;31m       '~'        \033[0m"

if command -v figlet &> /dev/null; then
    figlet "$(hostname)"  
else
    echo "=== $(hostname) ==="
fi


echo ""
echo "System information as of $(date)"
echo ""

# System Load
LOAD=$(cat /proc/loadavg | awk '{print $1}')
echo "  System load:  $LOAD"

# CPU Anzahl
CPU_COUNT=$(nproc)
echo "  CPU cores:    $CPU_COUNT"

# RAM Total
RAM_TOTAL=$(free -h | awk 'NR==2{print $2}')
echo "  Total RAM:    $RAM_TOTAL"

# Memory Usage
MEM_TOTAL=$(free -m | awk 'NR==2{print $2}')
MEM_USED=$(free -m | awk 'NR==2{print $3}')
MEM_PERCENT=$(awk "BEGIN {printf \"%.1f\", ($MEM_USED/$MEM_TOTAL)*100}")
echo "  Memory usage: ${MEM_PERCENT}%"

# Logged in users
USERS=$(who | wc -l)
echo "  Local users:  $USERS"

# Swap Usage
SWAP_TOTAL=$(free -m | awk 'NR==3{print $2}')
if [ "$SWAP_TOTAL" -gt 0 ]; then
    SWAP_USED=$(free -m | awk 'NR==3{print $3}')
    SWAP_PERCENT=$(awk "BEGIN {printf \"%.1f\", ($SWAP_USED/$SWAP_TOTAL)*100}")
else
    SWAP_PERCENT="0.0"
fi
echo "  Swap usage:   ${SWAP_PERCENT}%"

echo ""
# Filesystem
df -h / | awk 'NR>1 {printf "  %-20s %5s %5s %5s %4s %s\n", $1, $2, $3, $4, $5, $6}'
echo ""
echo "========================================================================="
echo ""

Für mich neu ist das Tool figlet, das mittels ASCII-Art immer den richtigen Hostnamen ausgibt.

Installation von figlet

$ sudo apt install figlet

So fehlen allerdings noch die schönen Fonts. Diese kann man unter https://github.com/xero/figlet-fonts/ herunterladen.

Die Fonts müssen unter /usr/share/figlet/ abgelegt werden.

Zeit gespart? Dann unterstütze doch it-zeugs.de

Wenn dieser Tipp dir geholfen hat, Zeit zu sparen, überlege bitte, eine kleine Spende zu hinterlassen. Dein Beitrag hilft mir, weiterhin wertvolle Inhalte zu erstellen. Du kannst unter diesem Linke spenden: Spende it-zeugs.de

Falld du nicht spenden willst oder kannst, dann wäre es toll, wenn du deinen nächsten Amazon Einkauf mit diesem Link beginnen würdest: Amazon Link. Für dich wird es nicht teurer, ich bekomme aber einen kleinen Beitrag.

Vielen herzlichen Dank ❤️

Schreibe einen Kommentar