Jak w dowolnym momencie zobaczyć szczegóły, które Ubuntu pokazuje podczas logowania?

27

Kiedy loguję się do mojego systemu Ubuntu, pokazuje mi ten komunikat: Jak mogę go zobaczyć w dowolnym momencie? Próbowałem biec, . .bashrcale to nie zadziałało.

Welcome to Ubuntu 12.10 LTS (GNU/Linux 3.2.0-24-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sat Jul 13 06:16:35 UTC 2013

  System load:  0.55              Processes:           96
  Usage of /:   8.1% of 68.74GB   Users logged in:     0
  Memory usage: 55%               IP address for eth0: 198.xx.xxx.xxx
  Swap usage:   0%                IP address for eth1: xxx.1x0.xx.xxx

  => There is 1 zombie process.

  Graph this data and manage this system at https://landscape.canonical.com/

223 packages can be updated.
134 updates are security updates.

Last login: Mon Jul  8 17:47:05 2013 
iCyborg
źródło
Tak smutne, że tak naprawdę nie ma standardowego polecenia, aby to osiągnąć, a metody zmieniają się tak często, że zaakceptowana odpowiedź i jej zastąpienie zostały już przestarzałe!
nealmcb

Odpowiedzi:

16

Można pokazać w każdej chwili kiedy chcesz tę wiadomość - m essage o f t on d ay - używając następne polecenie w terminalu:

cat /etc/motd

albo lepiej:

for i in /etc/update-motd.d/*; do if [ "$i" != "/etc/update-motd.d/98-fsck-at-reboot" ]; then $i; fi; done

Jeśli chcesz widzieć ten komunikat za każdym razem, gdy otwierasz terminal, po prostu wstaw jedną z powyższych linii na końcu ~/.bashrcpliku (możesz go otworzyć za pomocą gedit ~/.bashrcpolecenia).

/ Etc / motd plik jest na uniksowych systemach, które zawiera „wiadomość dnia”, używany do wysyłania wspólnego wiadomość do wszystkich użytkowników, w sposób bardziej efektywny niż wysyłając im wszystkie wiadomości e-mail.

Więcej informacji: http://en.wikipedia.org/wiki/Motd_(Unix)

Powiązane: Jak aktualizowany jest plik / etc / motd?

Radu Rădeanu
źródło
Te same, ale krótsze komunikaty o błędach podczas rozładowywania (od czasu do czasu zmienia się zawartość fo /etc/update-motd.d): dla i w /etc/update-motd.d/*; do $ i 2> / dev / null; gotowe
luis_js,
Nie możesz już cat /etc/motdniestety, jak zauważyli inni. Od tego czasu zmieniło się dwukrotnie. (Dlaczego nie ma standardowego polecenia, aby to zrobić? Westchnienie)
nealmcb
32

Wygląda na to, że się zmieniło. W Ubuntu 16.04 nie ma, /etc/motdale możesz cat /var/run/motd.dynamiczamiast tego.

Shlublu
źródło
1
Musiałem użyć tej metody w Ubuntu 14.04.
J Smith
9
Pamiętaj, że /var/run/motd.dynamicjest to buforowane wyjście statyczne ostatniego uruchomienia po zalogowaniu. Aby ponownie zobaczyć dane wyjściowe na żywo, musisz uruchomić skrypty, które je generują, które są w /etc/update-motd.d(w tym tekście na Ubuntu 16.04.4 LTS)
Aaron Wallentine
Od wersji Ubuntu 19.04 jest terazcat /var/run/motd.dynamic.new
Adam Erickson
7

Ubuntu uruchamia to przy logowaniu:

/usr/bin/landscape-sysinfo

Możesz po prostu uruchomić go za pomocą terminala, używając następującego polecenia:

landscape-sysinfo
znak
źródło
Ciekawy. Ale to tylko jedna część pełnego motd.
nealmcb
3

Jak widzę, nie włączyłeś jeszcze trybu wyciszenia . Jeśli włączysz logowanie w trybie cichym, odpowiedzi z poprzednich rozwiązań nie będą działać.

Można zobaczyć motdwiadomość na jeden /var/run/motd.dynamici /run/motd.dynamicże została wygenerowana po raz ostatni użytkownik zalogowany w trybie non-wyciszono . Oba pliki wskazują ten sam i-węzeł, co oznacza, że ​​są to twarde łącza.

Informacje są statyczne po zalogowaniu, jeśli nie zalogujesz się w trybie wyciszenia . Plik nie jest generowany, jeśli jesteś pierwszym użytkownikiem, który loguje się do systemu i jeśli masz .hushloginplik. Jeśli masz użytkownika, który nie miał tego .hushloginpliku, zobaczysz nieaktualną zawartość, gdy spróbujesz uzyskać do niego dostęp.

Najlepszym sposobem, jaki mogę wymyślić, jest stworzenie .hushloginpo prostu przez działanie touch ~/.hushlogin.

Edytuj .bashrcplik i dodaj zawartość, jak wskazał @Radu Rădeanu:

for i in /etc/update-motd.d/*; do if [ "$i" != "/etc/update-motd.d/98-fsck-at-reboot" ]; then $i; fi; done

Kiedykolwiek uruchomisz . .bashrc, zobaczysz nową wiadomość zamiast wiadomości statycznej.

Uwaga: .bashrcjest wykonywany dla wszystkich interaktywnych powłok niezalogowanych i dlatego zobaczysz te komunikaty po otwarciu interaktywnej powłoki przez wpisanie bash.

randominstanceOfLivingThing
źródło
2

Podejrzewam, że jest to zarządzane przez PAM, przez /etc/pam.d/login, poszukaj motd(wiadomość dnia).

Możesz stworzyć statyczną część tego komunikatu za pomocą cat /etc/motd. Nie mam części dynamicznej, którą pokazujesz, więc nie mogę w tym pomóc.

enzotib
źródło
2

Jak wspomniano kilka razy, skrypty poniżej /etc/update-motd.dzapewniają typowe dane wyjściowe wyświetlane po zalogowaniu; zob update-motd(5). Ale nie ma potrzeby lub wcale nie ma potrzeby wymyślania tego na nowo, pisząc to wspólnie. run-parts(8)Zamiast tego użyj , który jest przeznaczony tylko do tego celu:

sudo run-parts /etc/update-motd.d

Tak właśnie działa pam_motd(8)moduł PAM, działający jako root, po uwierzytelnieniu użytkownika i tuż przed otwarciem powłoki logowania użytkownika. Jeden lub więcej skryptów zwykle musi być uruchamianych jako root, więc nie pomijaj sudo, bo prawdopodobnie zobaczysz błędy.

RichieD
źródło
1

Możesz uruchomić landscape-sysinfo, aby uzyskać informacje o systemie i

/usr/lib/update-notifier/update-motd-updates-available

po informacje o pakietach.

użytkownik401247
źródło
oczywiście działa to tylko wtedy, gdy masz zainstalowany krajobraz. Jest to narzędzie komercyjne (nie darmowe) (dla tych, którzy o nim nie wiedzą).
dniu
Dostaję: find: ‘/var/lib/apt/lists/partial’: Permission deniedimktemp: failed to create file via template ‘/var/lib/update-notifier/tmp.XXXXXXXXXX’: Permission denied
nealmcb
1

Wygląda na to, że dane wyjściowe są generowane przez skrypty znajdujące się w folderze /etc/update-motd.d;
Jeśli przejdziesz do tego katalogu, możesz uruchomić poszczególne skrypty dla różnych bitów informacji; Można też spojrzeć na źródła skryptów, aby zobaczyć polecenia to faktycznie uruchomione, aby uzyskać te informacje, które zmieniają się z wersjami (z użyciem catlub edytorze tekstu, takim jak nano, pico, emacs, vim, itd.).

Przykład:

$ ll /etc/update-motd.d/
total 44
drwxrwxr-x   2 root root 4096 Feb 25 21:27 ./
drwxr-xr-x 110 root root 4096 Feb 25 21:33 ../
-rwxr-xr-x   1 root root 1220 Oct 22  2015 00-header*
-rwxr-xr-x   1 root root 1157 Jun 14  2016 10-help-text*
-rwxr-xr-x   1 root root  334 Jan 12 14:30 51-cloudguest*
-rwxr-xr-x   1 root root   97 May 24  2016 90-updates-available*
-rwxr-xr-x   1 root root  299 Jul 22  2016 91-release-upgrade*
-rwxr-xr-x   1 root root  111 May 11  2017 97-overlayroot*
-rwxr-xr-x   1 root root  142 May 24  2016 98-fsck-at-reboot*
-rwxr-xr-x   1 root root  144 May 24  2016 98-reboot-required*
-rwxrwxr-x   1 root root 1204 Jan 15 19:11 99-one-click*

Ta informacja jest aktualna w chwili pisania tego tekstu i Ubuntu 16.04.4 LTS.

Aaron Wallentine
źródło
1

Odpowiedź Aarona Wallentona doprowadziła mnie do mojego rozwiązania. „Wygląda na to, że dane wyjściowe są generowane przez skrypty znajdujące się w folderze /etc/update-motd.d. Jeśli przejdziesz do tego katalogu, możesz uruchomić poszczególne skrypty dla różnych bitów informacji”.

Wydaje /etc/update-motd.dmi się, że każdy skrypt w folderze jest uruchamiany w kolejności, w jakiej występują w nazwach podczas logowania. Jako przykład moje były:

10-header 30-sysinfo  32-site  35-motd  98-autoreboot-warn

Możesz uruchomić każdy z osobna, aby wyświetlić ich dane. na przykład:

cd /etc/update-motd.d
sudo ./10-header  or  sudo ./30-sysinfo**

Możesz uruchomić je wszystkie razem w ten sposób:

sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; ... za pomocą ;symbolu (średnika) do łączenia poleceń.

ale kto chce to wszystko wpisać, skończyłem z przekształcaniem tego długiego łańcucha poleceń w skrypt powłoki.

Przejdź do katalogu bin:

cd /bin

utwórz plik, nazwałem mój „clr”, ponieważ używam go również do czyszczenia ekranu, nazywaj swój cokolwiek:

sudo touch clr

Ustaw swój skrypt jako wykonywalny:

sudo chmod +x clr

Użyłem nano do edycji mojego, użyj swojego ulubionego:

sudo nano clr

Następnie dodaj do pliku ten długi ciąg poleceń, pamiętaj, aby używać plików motd, a nie moich, ponieważ będą one różne:

clear ; sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; sudo /etc/update-motd.d/ ; sudo /etc/update-motd.d/32-site ; sudo /etc/update-motd.d/35-motd ; sudo /etc/update-motd.d/98-autoreboot-warn

Zapisz go i uruchamiaj za każdym razem, gdy zobaczysz świeżo zaktualizowany motd, zwróć uwagę, że dodałem go clear ;do mojego, więc po wpisaniu clrwyczyści mój ekran i wyświetli zaktualizowane statystyki.

Myślę, że to wszystko, co mam, mam nadzieję, że to komuś pomoże.

Ryan Vaught
źródło