1. 首页
  2. 科技数码

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

前言

默认提示默认提示

  在我们登入终端后,会弹出一段欢迎信息,上面会显示登录主机的信息、主机供应商的提示等信息。每次看到的都是同样的信息,未免有些厌倦。通过修改 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

ASCiiWorldASCiiWorld

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

通过图片转换

图片转Linux Shell彩色文本图片转Linux Shell彩色文本

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

文字特效

PatorjkPatorjk

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

Neofetch

NeofetchNeofetch

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

  Neofetch 是一款用于显示系统信息的脚本,同类的工具还有 ScreenFetch 和 Linux_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

neofetch

最终效果

PatorjkPatorjk

NeofetchNeofetch

Neofetch in macOSNeofetch in macOS

结语

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

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

相关引用

  • Kokodayo:在 Linux Shell 的登录欢迎语里……放“图片”!

  • 旷世的忧伤:Linux 服务器维护简易指南

  • Linux 公社:bash的登录与欢迎信息: /etc/issue,/etc/motd

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/48090.html