コンピューターのディスプレイがCRTだった時代、スクリーンセーバーは画面の焼き付き防止のために必須のソフトウェアでした。現在では液晶ディスプレイが主流となったため、画面焼き付きの心配はほとんどなくなりましたが、スクリーンセーバーは今でも存在しており、遊び心のあるものから実用的なものまで様々な種類があります。GitHubで公開されている「bash-screensavers」は、Bashスクリプトだけで書かれたスクリーンセーバーのコレクションであり、味気ないシェル環境を視覚的に楽しめる空間に変えてくれます。
GitHub – attogram/bash-screensavers: Turn your idle shell into a visual playground with this collection of Bash screensavers
https://github.com/attogram/bash-screensavers
◆動作環境の構築
bash-screensaversはBash上で動作するので、Linux・macOS・WindowsのWSL(Windows Subsystem for Linux)など、Bashが動作する環境が必要です。ここでは動作環境としてWSL上にUbuntuをインストールし、bash-screensaversを導入して動作させてみます。
まずはMicrosoft StoreよりUbuntuをインストールします。記事作成時点で最新のLTS版であるUbuntu 24.04.1 LTSを選択し、「入手」ボタンをクリックしてインストールします。
インストールが完了すると「入手」ボタンが「開く」ボタンに変わるので、「開く」ボタンをクリックしてUbuntuを起動します。
この時点でWSLがインストールされていない場合はUACプロンプトが表示され、「はい」ボタンをクリックすると続けて以下のウィンドウが表示されるので、任意のキーを押してWSLをインストールします。
WSLのインストールが完了すると一旦Windowsを再起動します。その後Ubuntuを起動すると、初回起動時はユーザー名とパスワードの設定が求められるので、任意のユーザー名とパスワードを入力して設定します。入力後、プロンプトが表示されるようになればWSL上のUbuntuが使える状態になっています。
次に、Ubuntuを最新の状態にしておきます。以下のコマンドを実行してパッケージリストを更新し、アップグレードを行います。なお、sudoコマンドを使用するためパスワードの入力を求められるので、先ほど設定したパスワードを入力します。
sudo apt update
sudo apt upgrade -yGitHubからリポジトリをクローンする必要があるので、以下のコマンドを実行してGitをインストールします。おそらくGitはデフォルトでインストール済みかとは思いますが、二重にインストールするといった問題は発生しないので、念のために実行しておくことにします。
sudo apt install -y gitbash-screensaversのリポジトリをクローンするため、以下のコマンドを実行します。
git clone https://github.com/attogram/bash-screensavers.gitこれでbash-screensaversのスクリプトが全てコピーされたので、以下のコマンドを実行してbash-screensaversを起動します。
cd bash-screensavers
./screensaver.sh正常に起動すると、以下のようにメニュー画面が表示されます。メニューには様々なスクリーンセーバーがリストアップされています。最終行の「Choose your screensaver:」の後ろにカーソルがある状態となっており、1から12までの番号を入力すると番号に対応するスクリーンセーバーが起動します。スクリーンセーバーを終了してメニューに戻るには、CtrlキーとCキーを同時に押します。メニューも終了したい場合は、もう一度CtrlキーとCキーを同時押しすることでプロンプトに戻ります。

◆1. alpha
画面上にカラフルなブロックがランダムに表示されるスクリーンセーバーです。ブロックは徐々に画面中に散らばり、やがて画面全体を埋め尽くして一つのモザイク模様となります。
◆2. bouncing
複数の「O」が画面内を跳ね回るスクリーンセーバーです。跳ね回る「O」は色とりどりで、壁にぶつかると反射して跳ね返ります。説明によると、「往年のDVDスクリーンセーバーへのオマージュ」とのことです。
◆3. cutesaver
キュートなASCIIアートを次々とランダムに切り替えて表示します。表示されるアートは猫・熊・狼といった動物や、鉄腕アトム・プロジェクトA子といったアニメキャラクターなど様々です。
◆4. fireworks
打ち上げ花火が夜空に次々と咲き誇る様子を表現したスクリーンセーバーです。花火はランダムな位置で打ち上げられ、色とりどりの花火が夜空を彩ります。日本人の感覚からすると、花火にはもっと夜空に大輪の花が咲き誇るイメージがほしいところですが、Bashスクリプトだけでここまで表現できるのは驚きともいえます。
◆5. life
いわゆる「ライフゲーム」のスクリーンセーバーです。ライフゲームはセル・オートマトンの一種であり、セルの生死をルールに基づいて決定し、世代を重ねるごとに刻々とパターンが変化していきます。bash-screensaversのlifeでは、初期状態がランダムに生成され、世代が進むごとに様々なパターンが現れます。
◆6. matrix
映画「マトリックス」を彷彿とさせる、緑色の文字が縦に流れるスクリーンセーバーです。文字はランダムに生成され、画面全体に無数の文字列が流れ続けます。
◆7. pipes
カラフルで複雑に折れ曲がったパイプが画面上を進んでいくスクリーンセーバーです。パイプはランダムに生成され、やがて画面全体にパイプの迷路が形成されていきます。
◆8. rain
絶え間なく降り続ける雨を表現したスクリーンセーバーです。雨粒を見ていると癒しの効果がありリラックスできる、とのこと。
◆9. speaky
このスクリーンセーバーはテキスト読み上げ機能を使用しており、画面上に表示されるテキストが音声で読み上げられます。様々な言葉や小粋なフレーズがランダムな位置に次々と表示され、様々な音で読み上げられます。
◆10. stars
無数の星々が満天を埋め尽くしていく様子を表現したスクリーンセーバーです。星はランダムに配置され、明るさも様々で、まるで本物の夜空のような雰囲気を醸し出します。
◆11. tunnel
トンネルを高速で通り抜けているような、3Dっぽい視覚効果を表現したスクリーンセーバーです。
◆12. vibe
「バイブコーディング」のイメージとの事ですが、要はカラフルな「マトリックス」です。
◆結び
以上、「Bashだけで動作するスクリーンセーバー集」であるbash-screensaversの導入方法、および各スクリーンセーバーを実際に起動してみた所感でした。正直、「スクリーンセーバーとは一体なんなのか」という根本的な疑問は残るものの、Bashスクリプトだけでここまで多彩な視覚表現が実現できるのは純粋に驚きであり、Bashの可能性を改めて感じさせられます。無料で公開されており、導入もそれほど難しくはないので、興味がある人はぜひ試してみてください。
この記事のタイトルとURLをコピーする
ソース元はコチラ
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。





