如何自定义Ubuntu的每日消息

时间:2020-01-09 10:39:05  来源:igfitidea点击:

当用户在终端上登录时,Ubuntu将显示信息性消息,即当日消息。 MOTD是完全可定制的,我们可以添加自己的文本和其他动态数据。

当用户登录时,pam_motd进程将执行/etc/update-motd.d目录中的脚本,并动态创建当天的消息。我们可以通过修改脚本,删除脚本或者编写自己的脚本来自定义MOTD。

每日默认消息

仅当我们以文本模式而非图形模式登录Ubuntu时,才会显示当天的消息。如果我们使用图形桌面,则可以使用Ctrl-Alt-F1快捷方式访问虚拟终端,请使用Ctrl-Alt-F7快捷方式返回到图形桌面(也称为X服务器)。 Ctrl-Alt-F2到Ctrl-Alt-F6会将我们带到其他虚拟终端。

这是Ubuntu的标准MOTD。它显示了长期使用Linux的用户会熟悉的典型系统版本号。它还显示有关可用更新的动态生成信息以及有关Ubuntu许可证的静态消息。

添加自定义消息

假设我们要添加自定义消息,用户登录到Ubuntu系统时将看到这些消息。 Ubuntus MOTD是在我们登录时由脚本生成的,因此我们不能仅将其添加到/ etc / motd文件中。放置自己的静态消息的位置是/etc/motd.tail。此文件的内容在生成时会添加到MOTD的末尾。

让我们使用Nano文本编辑器通过以下命令打开/etc/motd.tail文件:(Linux终端向导可以使用Vi或者Emacs,但是Nano对于新手来说更容易)

sudo nano /etc/motd.tail

默认情况下,此文件完全为空。只需在此处输入我们想随意用黑白ASCII艺术发疯的任何消息即可。完成后,使用Ctrl + O保存文件并按Enter,然后使用Ctrl + X退出Nano。

下次任何用户登录时,他们都会看到自定义消息。如果要立即检出,请使用exit命令注销终端并重新登录。

删除信息

现在假设我们要删除一些默认信息。不仅仅是编辑单个文件,每个部分都是从/etc/update-motd.d目录中的脚本自动生成的。

通过在终端上键入/etc/update-motd.d并按Tab,可以获取此目录中文件的完整列表。

脚本以数字顺序运行,这就是为什么要给它们加上数字前缀的原因。如果愿意,可以重命名脚本文件并更改编号以重新排列MOTD中不同部分的顺序。

要从MOTD中删除脚本信息,我们只需要阻止其运行即可。我们可以通过使用chmod -x命令删除其执行权限来实现。

如果要删除MOTD中的文档文本,请运行以下命令:

sudo chmod -x /etc/update-motd.d/10-help-text

下次用户登录时,他们将看不到文档行。

添加动态信息

我们可以编写自己的脚本,将我们喜欢的任何动态信息添加到MOTD。例如,让我们尝试使用weather-util包创建一个脚本,该脚本将当前的本地天气添加到MOTD。

默认情况下未安装它,因此,请使用以下命令进行安装:

sudo apt-get install weather-util

我们需要本地的国际民航组织代码,可以从该网站获得。这是在代码中使用weather-util的方法:

weather -i CODE

现在,让我们使用以下命令在适当的位置创建脚本并使用Nano打开它:

sudo nano /etc/update-motd.d/98-weather

Nano打开后,输入以下代码,将CODE替换为我们当地的天气代码:

#!/bin/sh
echo

weather -i CODE

echo

按Ctrl-O和Enter进行保存,然后按Ctrl-X退出。

使用chmod + x使脚本可执行,否则它将无法运行:

sudo chmod +x /etc/update-motd.d/98-weather

现在,用户登录时将看到本地天气预报。weather-util没什么特别的,我们可以使用任何将文本打印到终端的命令。

仅当用户本地登录时才显示MOTD。使用SSH或者Telnet远程登录的所有用户还将看到我们自定义的MOTD。