Własny ekran powitalny – neofetch
Sporo istotnych tematów za nami, pora na coś luźniejszego. Przy każdym logowaniu na powitanie otrzymujemy wiadomość od systemu. Domyślnie w Ubuntu Mate składa się ona z „Welcome to Ubuntu 20.04 bla bla bla…”, linków odsyłających do dokumentacji Ubuntu, informacji o dostępnych aktualizacjach oraz informacji o ostatnim logowaniu do serwera. Tę wiadomość można zmienić zgodnie ze swoją wizją. Dzisiaj omówię jak dokonać tych zmian, aby przy każdym logowaniu czuć się jak przy wchodzeniu do domu, którego stylistykę zaprojektowaliśmy po swojemu.
Fabryczny ekran powitalny
Ubuntu Mate fabrycznie wyświetla taką wiadomość powitalną:Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 4.9.277-83 aarch64)
- Documentation: https://help.ubuntu.com
- Management: https://landscape.canonical.com
- Support: https://ubuntu.com/advantage
0 updates can be applied immediately.
Last login: [data_ostatniego_logowania] from [ip_ostatniego_logowania]
Skrypty odpowiedzialne za wyświetlanie tych informacji znajdziemy w folderze:$ ls -l /etc/update-motd.d/
total 52
-rwxr-xr-x 1 root root 1220 Apr 9 2018 00-header
-rwxr-xr-x 1 root root 1157 Apr 9 2018 10-help-text
-rwxr-xr-x 1 root root 5023 Aug 17 2020 50-motd-news
-rwxr-xr-x 1 root root 84 Feb 21 04:06 85-fwupd
-rwxr-xr-x 1 root root 106 Jul 27 2021 88-esm-announce
-rwxr-xr-x 1 root root 218 Apr 2 2020 90-updates-available
-rwxr-xr-x 1 root root 112 Jul 27 2021 91-contract-ua-esm-status
-rwxr-xr-x 1 root root 374 Jul 17 2020 91-release-upgrade
-rwxr-xr-x 1 root root 165 Feb 17 2020 92-unattended-upgrades
-rwxr-xr-x 1 root root 129 Apr 2 2020 95-hwe-eol
-rwxr-xr-x 1 root root 142 Apr 2 2020 98-fsck-at-reboot
-rwxr-xr-x 1 root root 144 Apr 2 2020 98-reboot-required
Warto na wstępie wspomnieć, że nazwy plików nie przypadkowo rozpoczynają się od dwóch cyfr. W ten sposób jesteśmy w stanie określić kolejność wykonywania skryptów.
Dokonajmy czyszczenia. Mam taką zasadę, że nie usuwam skryptów, a jedynie odbieram im możliwość uruchamiania się. W ten sposób w przyszłości mogę sobie podejrzeć ich zawartość, a nawet włączyć ich wykonywalność w każdym momencie. W mojej ocenie warto „wyłączyć” następujące skrypty:sudo chmod 600 00-header 10-help-text 50-motd-news 85-fwupd 88-esm-announce 91-contract-ua-esm-status
Uznałem, że nie potrzebujemy informacji o dystrybucji i jądrze systemu (w dalszych krokach pokażemy sobie je inaczej), informacji z odnośnikami do dokumentacji Ubuntu oraz innych skryptów, które w zasadzie nic nie robią pożytecznego. Zostawiłem natomiast komunikaty o dostępnych aktualizacjach i konieczności wykonania restartu systemu (np. po większej aktualizacji).
Wprowadzamy swoje komponenty do wiadomości powitalnej
Moim celem jest pokazać, że do wiadomości powitalnej możemy wrzucić praktycznie wszystko. Pokażę to na przykładzie programu neofetch, który w ciekawej formie obrazuje wszystkie niezbędne informacje o serwerze i zainstalowanym na nim systemie. W pierwszej kolejności musimy zainstalować to narzędzie:sudo apt install neofetch
Po zakończeniu instalacji wyświetlmy sobie co neofetch ma nam do wyświetlenia przy domyślnej konfiguracji:neofetch
Wygląda to następująco:

Oczywiście można konfigurować co ma zostać wyświetlone, a co nie. Znajdźmy zatem plik konfiguracyjny i zedytujmy go:nano ~/.config/neofetch/config.conf
Moja standardowa konfiguracja wygląda tak (interesuje nas tylko początek skryptu, a dokładnie zawartość funkcji „print_info() {…}”:print_info() {
info title
info underline
info "OS" distro
info "Host" model
info "Kernel" kernel
info "Uptime" uptime
info "Packages" packages
info "Shell" shell
# info "Resolution" resolution
# info "DE" de
# info "WM" wm
# info "WM Theme" wm_theme
# info "Theme" theme
# info "Icons" icons
# info "Terminal" term
# info "Terminal Font" term_font
info "CPU" cpu
info "GPU" gpu
info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only
info "CPU Usage" cpu_usage
info "Disk" disk
# info "Battery" battery
# info "Font" font
# info "Song" song
# [[ "$player" ]] && prin "Music Player" "$player"
info "Local IP" local_ip
info "Public IP" public_ip
# info "Users" users
# info "Locale" locale # This only works on glibc systems.
# info cols
}
Jest wiele sposobów na automatyczne wywoływanie swoich skryptów podczas logowania. Można np. zedytować plik „~/.bashrc” i dopisać na jego końcu interesujące nas polecenia. Ja jednak wolę swoje skrypty wrzucać do:cd /etc/profile.d/
Realizuje się to poprzez utworzenie pliku:sudo nano /etc/profile.d/99-mymotd.sh
Nazwa pliku jest w zasadzie dowolna, natomiast dobrą praktyką jest rozpocząć ją od „99-„. Aby wywołać wyświetlenie danych z neofetch przy każdym logowaniu należy w tym pliku wpisać następujące dane:#!/bin/bash
Plik zapisujemy i wychodzimy z niego. Trzeba oczywiście jeszcze dać mu odpowiednie uprawnienia:
echo ""
neofetch
echo ""sudo chmod +x /etc/profile.d/99-mymotd.sh
Teraz po przelogowaniu zobaczymy najpierw skrypty z „/etc/update-motd.d/”, a następnie wynik naszego skryptu „99-mymotd.sh”. W ten sposób stworzyliśmy naszą własną wiadomość powitalną. Można tam wrzucić wiele innych rzeczy, jak np. informacje o pogodzie. Należy jednak pamiętać, że im więcej poleceń będziemy wykonywać za każdym razem tym dłużej będzie trwało logowanie do serwera, a to czasem warto optymalizować.
Jeżeli materiał zawarty w tym wpisie jest dla Ciebie wartościowy i masz ochotę wesprzeć moją pracę to zapraszam na mój profil na >Patronite<. Zachęcam także do odwiedzenia mojej strony >tomaszdunia.pl<. Możesz także zagadać do mnie na Twitterze >@theto3k<.
Poprzedni wpis:
DWService – zdalny pulpit przez przeglądarkę
Następny wpis:
Obsługa pamięci przenośnych USB (pendrive/dyski)
Kategorie: Dla początkujących,Poradniki,Usługi - @ 2022-06-10 19:00
Tagi: motd, neofetch, ODROID, profile.d, RaspberryPi, ubuntu
Super artykuł, tylko mam pewne ale…
Mianowicie w pliku „99-” masz błąd w składni skryptu jest „!/bin/bash” a powinno być „#!/bin/bash” 🙂
Dzięki, że zauważyłeś! Już poprawione.