一日一技 | 如何让你的终端欢迎语好看又有趣

栏目: IT技术 · 发布时间: 6年前

内容简介:Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。文章代表作者个人观点,少数派仅对标题和排版略作修改。在我们登入 macOS 的终端后,终端往往会弹出一段欢迎信息,显示登录主机、主机供应商提示等信息。但每次看到的都是同样的信息难免有些厌倦。

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 的登录欢迎语里……放“图片”!

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

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov / O'Reilly Media, Inc. / 2010-09-21 / USD 29.99

What's the best approach for developing an application with JavaScript? This book helps you answer that question with numerous JavaScript coding patterns and best practices. If you're an experienced d......一起来看看 《JavaScript Patterns》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具