Wie kann ich die Details sehen, die Ubuntu zum Zeitpunkt der Anmeldung anzeigt?


27

Wenn ich mich bei meinem Ubuntu-System anmelde, wird mir diese Meldung angezeigt. Wie kann ich sie jederzeit anzeigen? Ich habe versucht zu rennen, . .bashrcaber es hat nicht funktioniert.

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 

So traurig, dass es eigentlich keinen Standardbefehl gibt, um dies zu vervollständigen, und dass sich die Methoden so häufig ändern, dass die akzeptierte Antwort und ihre Ersetzung bereits veraltet sind!
Nealmcb

Antworten:


16

Sie können jederzeit zeigen , wenn Sie diese Meldung wünschen - m Nachricht o f t er d ay - nächsten Befehl im Terminal:

cat /etc/motd

oder besser:

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

Wenn Sie diese Meldung jedes Mal sehen möchten, wenn Sie ein Terminal öffnen, fügen Sie einfach eine der obigen Zeilen am Ende der ~/.bashrcDatei ein (Sie können sie mit dem gedit ~/.bashrcBefehl öffnen ).

Die Datei / etc / motd ist eine Datei auf Unix-ähnlichen Systemen, die eine "Nachricht des Tages" enthält, mit der eine gemeinsame Nachricht an alle Benutzer auf effizientere Weise gesendet wird, als wenn alle Benutzer eine E-Mail-Nachricht senden.

Weitere Informationen zu : http://en.wikipedia.org/wiki/Motd_(Unix)

Verwandte Themen : Wie wird / etc / motd aktualisiert?


Gleiche, aber kürzere Fehlermeldungen beim Entladen (da sich der Inhalt von /etc/update-motd.d von Zeit zu Zeit ändert): für i in /etc/update-motd.d/*; do $ i 2> / dev / null; done
luis_js

Das kannst du cat /etc/motdleider nicht mehr , wie andere angemerkt haben. Und es hat sich seitdem zweimal geändert. (Warum gibt es keinen Standardbefehl, um dies zu tun?
Seufz

32

Sieht aus wie es geändert hat. Mit Ubuntu 16.04 gibt es keine, /etc/motdaber Sie können cat /var/run/motd.dynamicstattdessen.


1
Ich musste diese Methode in Ubuntu 14.04 verwenden.
J Smith

9
Beachten Sie, dass /var/run/motd.dynamices sich lediglich um eine zwischengespeicherte statische Ausgabe handelt, die bei der Anmeldung zum letzten Mal ausgeführt wurde. Um zu sehen , tatsächlich wieder Live - Ausgabe, müssen Sie die Skripte ausführen , die sie erzeugen, die in sind /etc/update-motd.d(als dies geschrieben wurde , auf Ubuntu 16.04.4 LTS)
Aaron Wallentine

Ab Ubuntu 19.04 ist es jetztcat /var/run/motd.dynamic.new
Adam Erickson

7

Ubuntu führt dies bei der Anmeldung aus:

/usr/bin/landscape-sysinfo

Sie können es einfach mit dem folgenden Befehl über das Terminal ausführen:

landscape-sysinfo

Interessant. Aber das ist nur ein Teil des gesamten Motivs.
Nealmcb

3

Sie haben noch nicht aktiviert totgeschwiegen Modus wie ich sehe. Wenn Sie die Anmeldung im vertraulichen Modus aktivieren, funktionieren die Antworten in den vorherigen Lösungen nicht.

Sie können die motdNachricht entweder in sehen /var/run/motd.dynamicund /run/motd.dynamicdiese wurde generiert, als sich ein Benutzer das letzte Mal im nicht vertraulichen Modus angemeldet hat . Beide Dateien verweisen auf den gleichen Inode, was bedeutet, dass es sich um feste Links handelt.

Die Informationen sind statisch, sobald Sie sich anmelden, wenn Sie sich nicht im vertraulichen Modus anmelden . Die Datei wird nicht generiert, wenn Sie der erste Benutzer sind, der sich am System anmeldet, und wenn Sie über eine .hushloginDatei verfügen . Wenn Sie einen Benutzer haben, der die .hushloginDatei nicht hatte, sehen Sie den veralteten Inhalt, wenn Sie versuchen, darauf zuzugreifen.

Der beste Weg, den ich mir vorstellen kann, ist, ein .hushlogineinfaches Tun zu kreieren touch ~/.hushlogin.

Bearbeiten Sie .bashrcIhre Datei und fügen Sie den Inhalt hinzu, wie @Radu Rădeanu gezeigt hat:

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

Wenn Sie also ausführen . .bashrc, wird anstelle der statischen Nachricht eine neue Nachricht angezeigt.

Hinweis: .bashrcWird für alle nicht angemeldeten interaktiven Shells ausgeführt. Daher werden diese Meldungen angezeigt, wenn Sie eine interaktive Shell durch Eingabe öffnen bash.


2

Ich nehme an, das wird von PAM verwaltet, über /etc/pam.d/login, suche motd(Nachricht des Tages).

Sie können den statischen Teil dieser Nachricht mit erzeugen cat /etc/motd. Ich habe nicht den dynamischen Teil, den du zeigst, also kann ich nicht helfen.


1

Sie könnten landscape-sysinfo für Systeminformationen und ausführen

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

Informationen zu Paketen.


Das funktioniert natürlich nur, wenn Sie Landscape installiert haben. Es ist ein kommerzielles (nicht kostenloses) Tool (für diejenigen, die nichts davon wissen).
6.

Ich bekomme: find: ‘/var/lib/apt/lists/partial’: Permission deniedundmktemp: failed to create file via template ‘/var/lib/update-notifier/tmp.XXXXXXXXXX’: Permission denied
Nealmcb

1

Die Ausgabe wird anscheinend von den Skripten im Ordner generiert /etc/update-motd.d.
Wenn Sie in dieses Verzeichnis gehen, können Sie die einzelnen Skripte für die verschiedenen Informationen ausführen. oder Sie können an der Quelle der Skripte schauen , um die Befehle sehen es tatsächlich ausgeführt wird, dass die Informationen zu erhalten, die von Release zu Release zu ändern scheint (mit catoder einem Texteditor, wie nano, pico, emacs, vim, etc.).

Beispiel:

$ 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*

Diese Informationen sind zum Zeitpunkt des Schreibens und Ubuntu 16.04.4 LTS aktuell.


1

Wie bereits einige Male erwähnt, /etc/update-motd.dliefern die Skripte unter die typische Ausgabe, die beim Anmelden angezeigt wird. sehen update-motd(5). Aber es gibt wenig oder gar keine Notwendigkeit, das Rad neu zu erfinden, indem Sie es selbst zusammenstellen. Verwenden Sie run-parts(8)stattdessen das, was nur für diesen Zweck vorgesehen ist:

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

Dies ist die pam_motd(8)Aufgabe des PAM-Moduls, das nach der Benutzerauthentifizierung und unmittelbar vor dem Öffnen einer Benutzeranmeldeshell als Root ausgeführt wird. Mindestens eines der Skripte musste normalerweise als root ausgeführt werden. Lassen Sie das Skript also nicht aus sudo, da sonst wahrscheinlich Fehler auftreten.


1

Die Antwort von Aaron Wallentine führte mich zu meiner Lösung. "Sieht so aus, als ob die Ausgabe von den Skripten im Ordner generiert wird /etc/update-motd.d. Wenn Sie in dieses Verzeichnis wechseln, können Sie die einzelnen Skripten für die verschiedenen Informationen ausführen."

/etc/update-motd.dIch glaube, jedes der Skripte im Ordner wird in der Reihenfolge ausgeführt, in der sie bei der Anmeldung im Namen enthalten sind. Als Beispiel dienten mir:

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

Sie können sie einzeln ausführen, um ihre Daten anzuzeigen. z.B:

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

Sie könnten sie alle so zusammen ausführen:

sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; ... Verwenden des ;(Semikolons) zum Verknüpfen von Befehlen.

Aber wer das alles ausgeben will, der hat diese lange verknüpfte Befehlszeichenfolge in ein Shell-Skript umgewandelt.

Wechseln Sie in das bin-Verzeichnis:

cd /bin

erstelle eine Datei, ich habe meine "clr" genannt, weil ich sie benutze, um meinen Bildschirm zu löschen, rufe deine auf, wie auch immer:

sudo touch clr

Machen Sie Ihr Skript ausführbar:

sudo chmod +x clr

Ich habe meins mit nano bearbeitet, benutze deinen Favoriten:

sudo nano clr

Fügen Sie dann diese lange Befehlszeichenfolge von zuvor zu Ihrer Datei hinzu. Denken Sie daran, Ihre motd-Dateien zu verwenden, nicht meine, da sie unterschiedlich sein werden:

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

Speichere es und führe es aus, wann immer dein Motiv aktualisiert wird. Beachte clear ;, dass ich clres in meinem hinzugefügt habe. Wenn ich es tippe, wird mein Bildschirm gelöscht und aktualisierte Statistiken werden angezeigt.

Ich denke das ist alles was ich habe, hoffe es hilft jemandem.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.