ScreenFetch でターミナルにかっこいいスクリーンアートを表示しよう

commits4 min read

はじめに

今回は小ネタ記事になります。

エンジニアが日常的によく見る画面に Linux や UNIX のターミナル(CLI)があります。
Linux や UNIX には数多くのパッケージが存在しますが、中には CLI の利点をうまく生かした小ネタ的なパッケージも多く存在します。

Ubuntu 系の OS を使っている人がターミナルに以下のようなロゴを表示しているのを見たことがあるという人も多いのではないでしょうか。

Ubuntuのロゴ
有名なUbuntuのスクリーンアート

これは screenfetchコマンド を使って表示している Ubuntu ロゴのスクリーンアートになります。コマンドを実行することでディストリビューションのロゴと、端末の詳細が合わせて表示されます。開発に使用するコマンドではないため、小ネタ的な立ち位置のコマンドにはなりますが、ターミナル上でカラフルなロゴがアスキーアートとして大きく表示されているのはかっこいいですよね。

私がもしエンジニアではなかったとして、カフェで作業している人の PC 画面でこんなスクリーンアートを見たら気になって思わず二度見してしまいそうです笑。

今回は Linux や UNIX の環境で使用しているディストリビューションのロゴをスクリーンアートで表示するコマンド 「screenFetch」 を紹介します。

インストール

GitHub リポジトリはこちらです。

https://github.com/KittyKatt/screenFetch

screenfetchコマンド はパッケージマネージャー(apt や Homebrew)で簡単にインストールできます。
ここでは多数の Debian 系の Linux ディストリビューションにて採用されている apt と長年 Mac ユーザーに親しまれている Homebrew を使ったインストール方法をご紹介します。

その他のパッケージマネージャーを使う場合は、Installing screenFetchに詳しくインストール方法がまとめられているので環境に応じてその都度参照をお願いします。

apt を使う場合は以下のコマンド。

apt
$ apt install screenfetch

Homebrew を使う場合は以下のコマンド。

Homebrew
$ brew install screenfetch

でコマンドをインストールできます。

コマンドの実行

インストールしパスが通った後は以下のコマンドですぐに実行できます。

$ screenfetch

このコマンドを入力することで、ターミナル上に使用しているディストリビューションのロゴと端末の情報が表示されます。このときオプションをつけることで表示するロゴを指定できます。
オプションをつけずに実行した場合は、コマンドを実行しているディストリビューションのロゴがデフォルトで表示されます。

Ubuntu

例えば、Ubuntu-20.04 LTS をインストールしている WSL2 上で実行した場合は。

Ubuntuのロゴを表示している様子

このようにおなじみの Ubuntu のロゴがカラフルに表示されます。
画面の左には、ロゴのアスキーアート。右にはコマンドを実行している端末の詳細情報が表示されます。ユーザー名は隠していますが、端末の詳細についてかなり細かく表示されるのが驚きです。

macOS

macで実行した様子
macOSはUnix系のOSであるということがロゴからもわかりますね

Mac のターミナル上でコマンドを入力したときは Unix の文字列が大きく表示されます。とてもシンプルでかっこいいですね。M1 チップ搭載の MacBook 上で実行しているからなのかわかりませんが、端末情報の表示がうまくいきませんでした。その他エラーが出ていますがコマンドはうまく実行できロゴが表示されました。実行時のエラーは -E オプションを渡すことで非表示にできます。

コマンドを入力するまで Apple のあのロゴがでるのかと予想してましたが、これもいいですね。もしも Apple のロゴが表示できるのならもっとテンション上がりそうです。

Termux(Androidアプリ)

Android OS 上で動作するターミナル環境 Termux にコマンドをインストールして実行しました。

Termuxで実行した様子
端末の機種名やOS、メモリまでしっかりと表示されている

Termux は Android 端末で動作するターミナルエミュレータになります。非 Root な環境でも手軽に Linux のターミナルを触れるということで使っている人も多いアプリです。パッケージマネージャとしてデフォルトで apt が使えるため、 apt コマンドを使って screenfetch のインストールを行いました。コマンドを実行したターミナル上には Android のキャラクターであるドロイド君が表示されています。ちょこんとターミナルに表示されている姿がなんともかわいいですね。

オプションをつけた実行

前述したとおり、screenfetch は現在使っているディストリビューションのロゴだけでなく、他のディストリビューションのロゴもスクリーンアートとして表示できます。

やり方はとても簡単で、screenfetch コマンドにオプションと文字列を渡すことで表示できます。

例として、有名な CentOS のロゴを表示してみます。screenfetch コマンドに -D オプションをつけ引数にディストリビューション名(CentOS)を指定します。

$ screenfetch -D 'CentOS'

CentOSのロゴを表示した様子

オプションを付けたことで Ubuntu が動作する環境でも CentOS のロゴと端末情報を表示できました。
引数のディストリビューション名には CentOS の他にもおなじみの redhatdebianArch LinuxMint などを指定できます。
ここで指定するディストリビューション名を色々と変えてみることでどのような結果が得られるのかを試すのもおすすめです。

ロゴが変わったのは視覚的にわかりますが、注目してほしいのが画面右に表示されている端末情報の OS もオプションへ指定したディストリビューションに変わっているといった点です。その他の情報も指定したディストリビューションに沿ったものへと再現する形で変化しています。

ロゴを変えたまま端末の情報を合わせて表示したい場合また -A オプションを使用できます。こちらは -D オプションに似ていますが、端末情報の OS 部分やその他情報を書き換えることなく指定したディストリビューションのロゴを表示します。ロゴを変えつつ端末の情報をそのまま表示するといったイメージです。一部のディストリビューション、OS は -A オプションを付けないとうまく表示できないため注意が必要です。

Android のロゴ(ドロイド君)は -A オプションを付けないとうまく表示できませんでした。


またコマンド実行時にエラーがでてロゴが見えにくい場合は -D の前に -E オプションでエラーを取り除いて出力できます。
端末情報だけを表示したい場合は -n オプション、単色表示したい場合は -N オプションなど screenfetch コマンドには数多くのオプションがあります。

使用できる全てのオプションは GitHub リポジトリのReadMeにまとめられているので覗いてみてください。

おわりに

今回は「screenfetch」というコマンドをご紹介しました。

小ネタ的なコマンドにはなりますが、画面上にかっこいいスクリーンアートと端末の詳細情報を一度に表示できるのでおすすめです。

豊富なオプションが用意されており、他のディストリビューションでの表示を再現したりとなかなか作り込まれているコマンドだと感じました。
端末の情報を共有する、息抜きに使用するなど、使い方次第ではなかなか使えるコマンドだと感じます。この記事内で紹介した他にも指定できるオプションが存在するのでぜひ、ReadMeを参考にいろいろと試してみてください。

最後まで読んでいただきありがとうございました。