如何自定义Ubuntu的每日消息
当用户在终端上登录时,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。