前段时间在VM VirtualBox上安装的ubuntu server上发现一个特殊的地方,在ssh登陆时有“System information” 出现,每次连接到服务器时就会出现这些信息。笔者知道/etc/motd文件里面可以设置登陆显示的信息,但是进入/etc目录没有回到这个文件,怀着好奇心,笔者针对登陆信息写这篇文章,做个阐述。

笔者进入树莓派的/etc目录发现有这个motd文件,里面是一些文本信息。于是乎,笔者在ubuntu server新建/etc/motd文件,里面写入一些文本信息,就用以前云服务器上的lion图像,再次登陆ubuntu server时会出现/etc/motd文件里面的这些信息。

/etc/motd文件里面是静态信息,而提示System information明显是动态信息,每次登陆都不一样,于是乎,定位到/etc/update-motd.d文件,里面有一些脚本。登陆时就是执行里面的脚本,并且按照开头的数字顺序来执行的。上面的“System information”就是执行了50-landscape-sysinfo这个脚本。

这个脚本内容如下,查看这个脚本,最重要的命令-/usr/bin/landscape-sysinfo,这是一个命令是一个python脚本,需要通过landscape-common软件来安装。

在根据这个脚本,笔者在树莓派上来测试一番。但是笔者不使用landscape-sysinfo命令,而是自己通过常用的命令来代替,如下显示uptime、free、温度文件、磁盘空间。

修改之后如下,用上面的四个命令替换/usr/bin/landscape-sysinfo。这个脚本笔者运行有点问题,使用shellcheck检查后,没有bc这个工具,安装后正常。这个脚本里面有必要说明一下,threshold="${cores:-1}.0"涉及到shell参数扩展,如果cores为null或者未设置,整个参数替换表达式值为1.

可以直接运行这个脚本,或者登陆验证。为了不重新登陆,并显示全部的的登陆信息,笔者使用run-parts执行文件夹下面的全部脚本这个命令。

网友评论