在我們登入 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 曆史悠久,上面的字元畫稍顯陳舊,不太符合我的審美,哈哈哈。
Pictures of Ascii A...
Pictures of Ascii Art : Disco...
asciiworld.com
通過圖檔轉換
V 友 Kokodayo 基于 Img2Motd 開發了網頁版的 圖檔轉Linux Shell彩色文本。試了一下還挺好玩的亞子,不過對圖檔和終端的要求有點高。圖檔的長寬盡量控制在 100 * 100 以内,同時盡量避免使用過于複雜的圖案。
bakayaro projects
bakaya.ro
文字特效
Patorjk 可以根據自己輸入的文字,并選擇對應的字型來生成字元畫,字型種類比較豐富(老闆:每天給我換 150 種,但遺憾的是生成語言僅支援英文,如果有中文生成需要的,可以考慮使用 ASCii 字元畫生成器來實作。
Text to ASCII Art G...
patorjk.com
Neofetch
當然,除了靜态的字元畫,我們還可以選擇使用一些工具來動态顯示歡迎資訊。
Neofetch 是一款用于顯示系統資訊的腳本,同類的工具還有 ScreenFetch 和 Linux_Logo。Neofetch 除了可以顯示 ASCii 字元畫,還可以通過 w3m-img 等運作庫在終端中顯示全彩圖檔(不過我還沒折騰出來,沒搞懂是終端的原因還是其它什麼原因。
dylanaraps/neofetch
️ A command-line system in...
github.com
安裝方法
- 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
最終效果
結語
有人也許會認為修改 Motd 純屬是「徒增功耗、方向錯了」,但我個人覺得,除了能夠讓你的終端更加有趣,還能夠在你登入終端前顯示主機的重要資訊,避免在生産環境中「rm -rf /*」(大草
如果你有更多有趣、新奇的玩法,不妨在讨論區中和大家一起分享。喜歡這篇文章的話,不要忘記點贊、分享和關注哦。