Matrix 精选

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


在我们登入 macOS 的终端后,终端往往会弹出一段欢迎信息,显示登录主机、主机供应商提示等信息。但每次看到的都是同样的信息难免有些厌倦。

通过修改 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/,在登录后会运行其中的脚本。

哪里 Get 到好康的提示信息?

ASCiiWorld

AsciiWorld 中提供了现成的图案,左侧可按照分类来搜寻自己需要的字符画。不过 ASCiiWorld 历史悠久,上面的字符画稍显陈旧,不太符合我的审美,哈哈哈。

ASCiiWorld

通过图片转换

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

Bakaya-Motd

文字特效

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

Patorjk

Neofetch

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

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

Neofetch

安装方法

  • 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
neofetch

最终效果

Patorjk
Neofetch
Neofetch in macOS

结语

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

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

本文同步发布于 鸟之言语

参考链接

  1. Linux 公社:bash的登录与欢迎信息: /etc/issue,/etc/motd
  2. 旷世的忧伤:Linux 服务器维护简易指南
  3. Kokodayo:在 Linux Shell 的登录欢迎语里……放“图片”!

> 下载少数派 客户端、关注 少数派公众号 ,发现更多有趣的终端玩法 🎮

> 特惠、好用的硬件产品,尽在 少数派sspai官方店铺 🛒