🌈

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

2021/03/10に公開

はじめに

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

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

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

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

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

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

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

インストール

GitHubリポジトリはこちらです。
https://github.com/KittyKatt/screenFetch

screenfetchコマンドはパッケージマネージャーから簡単にインストールできます。
ここでは多数の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の他にもおなじみのRed Hatやdebian、Arch Linux、Mintなどを指定できます。
ここで指定するディストリビューション名を色々と変えてみることでどのような結果が得られるのかを試すのもおすすめです。

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

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

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


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

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

おわりに

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

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

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

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

GitHubで編集を提案

Discussion