如何随时查看Ubuntu在登录时显示的详细信息?


27

当我登录到ubuntu系统时,它向我显示此消息,如何随时查看?我试图跑步,. .bashrc但没有成功。

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 

令人遗憾的是,实际上并没有标准的命令来完成它,而且方法变化如此频繁,以至于可接受的答案及其替换都已被淘汰!
nealmcb

Answers:


16

当你希望这个消息可以随时随地展示- essage Ø ˚F 牛逼ð着y -在终端使用下一个命令:

cat /etc/motd

或更好:

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

如果您想在每次打开终端时都看到此消息,只需在~/.bashrc文件末尾插入以上行之一(可以使用gedit ~/.bashrc命令将其打开)。

在/ etc / motd的是一个文件类Unix包含“每日消息”,用来发送一个共同的信息给所有用户,以更有效的方式不是把他们所有的电子邮件系统。

有关更多信息:http : //en.wikipedia.org/wiki/Motd_(Unix)

相关:/ etc / motd如何更新?


相同但较短的排出错误消息(如不时更改/etc/update-motd.d的内容):对于/etc/update-motd.d/*中的i;做$ i 2> / dev / null; 完成
luis_js

cat /etc/motd不幸的是,您不能再像其他人指出的那样。从那以后,它已经改变了两次。(为什么没有标准命令来执行此操作?叹气)
nealmcb

32

看起来好像变了。使用Ubuntu 16.04,没有,/etc/motd但是可以cat /var/run/motd.dynamic代替。


1
我必须在Ubuntu 14.04中使用此方法。
J史密斯,

9
请注意,这/var/run/motd.dynamic只是上次登录时运行时缓存的静态输出。要真正再次看到实时输出,您必须运行生成它的脚本,这些脚本位于/etc/update-motd.d(在撰写本文时,在Ubuntu 16.04.4 LTS上)
Aaron Wallentine

从Ubuntu 19.04开始,现在是cat /var/run/motd.dynamic.new
Adam Erickson

7

Ubuntu在登录时运行此命令:

/usr/bin/landscape-sysinfo

您可以使用以下命令通过终端简单地运行它:

landscape-sysinfo

有趣。但这只是全部模式的一部分。
nealmcb

3

如我所见,您尚未启用静音模式。如果启用静音模式登录,则先前解决方案中的答案将不起作用。

你可以看到motd在任一消息/var/run/motd.dynamic,并/run/motd.dynamic已生成的最后一次用户已登录非秘而不宣模式。这两个文件都指向同一个索引节点,这意味着它们是硬链接。

如果您未以静默方式登录,则登录后该信息是静态的。如果您是第一个登录系统的用户并且拥有.hushlogin文件,则不会生成该文件。如果您的用户没有该.hushlogin文件,则在尝试访问该文件时将看到陈旧的内容。

我能想到的最好的方法是通过.hushlogin简单地做事touch ~/.hushlogin

编辑您的.bashrc文件并按照@RaduRădeanu指出的内容添加内容:

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

因此,无论何时运行. .bashrc,您都会看到新消息,而不是静态消息。

注意:.bashrc对所有非登录交互式外壳程序都执行,因此,通过键入打开交互式外壳程序时,您将看到此消息bash


2

我想这是由PAM管理,通过/etc/pam.d/login,查找motd(每日消息)。

您可以使用生成该消息的静态部分cat /etc/motd。我没有您展示的动态部分,所以我对此无能为力。


2

如前所述,下面的脚本/etc/update-motd.d提供了登录后显示的典型输出;见update-motd(5)。但是,通过自己编写脚本,几乎不需要重塑轮子。run-parts(8)改为使用,仅出于此目的而提供:

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

这是pam_motd(8)PAM模块的工作,它在用户身份验证之后以及在打开用户登录外壳之前以root身份运行。通常需要以root用户身份运行一个或多个脚本,因此不要忽略sudo,否则您可能会看到错误。


1

您可以运行landscape-sysinfo获取系统信息,并

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

有关数据包的信息。


显然,这仅在您安装了景观时才有效。它是一种商业工具(不是免费的)(适用于不了解该工具的人)。
aenw

我得到:find: ‘/var/lib/apt/lists/partial’: Permission deniedmktemp: failed to create file via template ‘/var/lib/update-notifier/tmp.XXXXXXXXXX’: Permission denied
nealmcb

1

看起来输出是由文件夹中的脚本生成的/etc/update-motd.d
如果进入该目录,则可以针对不同的信息位运行单独的脚本。或者你可以看看脚本的源代码,看看它的实际运行,以获得这些信息的命令,这似乎改变从发行版(使用cat,或文本编辑器,例如nanopicoemacsvim,等)。

例:

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

该信息在撰写本文时和Ubuntu 16.04.4 LTS为止是最新的。


1

亚伦·瓦伦丁的回答使我想到了解决方案。“看起来输出是由位于该文件夹中的脚本生成的/etc/update-motd.d。如果进入该目录,则可以针对各个信息位运行各个脚本。”

/etc/update-motd.d我相信,该文件夹中的每个脚本都按照登录时名称中的编号顺序运行。例如,我的是:

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

您可以分别运行每个显示它们的数据。例如:

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

您可以像这样一起运行它们:

sudo /etc/update-motd.d/10-header ; sudo /etc/update-motd.d/30-sysinfo ; ... 使用;(分号)符号链接命令。

但是谁想要输入所有内容,我最终将那条长链接的命令字符串转换为Shell脚本。

转到bin目录:

cd /bin

创建一个文件,我将其命名为“ clr”,因为我也使用它来清除屏幕,无论如何都可以调用您的文件:

sudo touch clr

使脚本可执行:

sudo chmod +x clr

我用nano编辑我的,使用您最喜欢的:

sudo nano clr

然后,将之前的长命令字符串添加到文件中,请记住使用motd文件而不是我的文件,因为它们会有所不同:

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

保存它,并运行它以查看您的motd新近更新,请注意我clear ;在我的代码中添加 了,因此当我键入clr它时,它会清除屏幕并显示更新的统计信息。

我想这就是我所拥有的,希望它能对某人有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.