给你的终端加点料 —— 自定义欢迎语

前言

Default-Motd
默认提示

在我们登入终端后,会弹出一段欢迎信息,上面会显示登录主机的信息、主机供应商的提示等信息。每次看到的都是同样的信息,未免有些厌倦。通过修改 Motd 文件,我们可以给 SSH 加点料,让它更加好看和有♂趣(划掉划掉


原理

在类 Unix 系统中,/etc/motd 是一个包含“今日消息”(Message of the day)的文件。比起电子邮件,使用 Motd 给所有用户发送消息显得更有效率。其它操作系统中也可能有这一功能,比如 Multics 中的 Motd 信息分段。/etc/motd 内容的会在用户成功登录后由 Unix 登录命令显示,整个过程发生在 Shell 登录之前。较新的类 Unix 系统可以生成动态消息。Motd 也被运用在其它领域,比如 IRC 服务器、半条命系列游戏等。
来源:维基百科

Linux 系统通过 /etc/issue/etc/issue.net/etc/motd 以及 /run/motd.dynamic 来显示本地或者是远程登录后的提示信息,通常用于向用户提示系统版本、硬件信息等,/etc/issue/etc/issue.net 通常在未登录终端前显示,/etc/motd/run/motd.dynamic 则是在成功登录终端后显示。 此外还有 /etc/profile/etc/profile.d/ ,在登录后会运行其中的脚本。


哪里有好康的提示信息?

AsciiWorld

AsciiWorld
AsciiWorld

AsciiWorld 中提供了现成的图案,不过 ASCiiWorld 历史悠久,上面的字符画稍显陈旧,不太符合我的审美,哈哈哈

通过图片转换

Bakaya-Motd
图片转Linux Shell彩色文本

V 友 Kokodayo 基于 Img2Motd 开发了网页版的 图片转Linux Shell彩色文本。我尝试了一下,挺好玩的,不过对图片和终端的要求有点高。图片的长宽尽量控制在 100 * 100 以内,同时尽量过于复杂的图案。

文字特效

Patorjk-Motd
Patorjk

Patorjk 可以根据自己输入的文字,并选择对应的字体来生成字符画,字体种类比较丰富(老板:每天给我换 150 种,但遗憾的是生成语言仅支持英文,如果有中文生成需要的,可以考虑使用 ASCii 字符画生成器来实现。

Neofetch

Neofetch
Neofetch

当然,除了静态的字符画,我们还可以选择使用一些工具来动态显示欢迎信息。

Neofetch 是一款用于显示系统信息的脚本,同类的工具还有 ScreenFetchLinux_Logo。Neofetch 除了可以显示 ASCii 字符画,还可以通过 w3m-img 等运行库在终端中显示全彩图片(不过我还没折腾出来,没搞懂是终端的原因还是其它什么原因。

安装方法

  • Debian / Ubuntu
 apt update && apt upgrade -y
 apt install neofetch -y
  • CentOS / Fedora / RHEL(未实验)
 yum update && yum upgrade -y
 yum install dnf-plugins-core -y
 dnf copr enable konimex/neofetch
 dnf install neofetch
  • macOS
 brew install neofetch

更多 Neofetch 的玩法可以参考 Neofetch-Wiki,比如说通过 w3m-img 展示全彩图片、显示桌面截图、修改显示信息的类型、显示主机的扩展信息等等,在此不做过多阐述。


更改方法

静态 Motd:如果是从图片转换的,那么将新 Motd 更名为 motd 上传至 /etc 目录中,重新登录终端即可生效。

动态 Motd:在 Ubuntu 16.04 (其它系统同理)后,启用了动态 Motd,此时我们需要将生成的 motd 文件写入至 /etc/update-motd.d/30-banner 中的对应位置。

Neofetch:在 /etc/profile.d/ 创建一个名为 neofetch.sh 的脚本,填入以下内容,保存后重新登入 SSH 即可生效。

 #/bin/sh
 echo 
 echo 
 neofetch
 echo

最终效果

Patorjk-Result
Patorjk
Neofetch-Result
Neofetch
Neofetch-Result-macOS
Neofetch in macOS

结语

有人也许会认为修改 Motd 纯属是「徒增功耗、方向错了」,但我个人觉得,除了能够让你的终端更加有趣,还能够在你登录终端前显示主机的重要信息,避免在生产环境中「rm -rf /*」(大草

如果你有更多有趣、新奇的玩法,不妨在讨论区中和大家一起分享。喜欢这篇文章的话,不要忘记点赞、分享和关注哦。


相关引用

展示评论