メインコンテンツへスキップ

90年代を彷彿とさせるUnixライクなレトロ風OS、SerenityOSを試してみた

··2013 文字·5 分·
ソフトウェア SerenityOS OS レトロ Unix
著者
Admin
目次

SerenityOSとは
#

SerenityOSは、90年代のGUIと2000年後半のパワーユーザー向けの*nixのcliによる利便性をマインドに開発されたOSだ。

公式サイトはこちら: 🔗https://serenityos.org/

OSというワードで検索すると

  • 🔗Debian
  • 🔗Ubuntu
  • 🔗Manjaro
  • 🔗Fedora などがヒットして色々なOSがあると思うかもしれないが、これらはLinuxカーネルというOSの核の役割を果たすソフトウェアを利用してその上に🔗KDE, 🔗GNOME, 🔗LxQt,🔗Xfceなどのデスクトップ環境(window managerや基本的なソフト等がまとめられたもの)を利用した上で目的に応じてカスタマイズしたものだ。

それらはLinuxディストロと呼ばれ、数多くのLinuxディストロが存在する(🔗https://distrowatch.com/)。

対して、SerenityOSではカーネルが独自にイチから開発されている。

作者はスウェーデン在住で、2018年の秋、3ヶ月のドラッグのリハビリテーションを終えたあとに暇になりすぎて、SerenityOSの開発を開始したとのこと。

その前はAppleで🔗Webkit(Safariブラウザなどのエンジン)の開発をする仕事に就いていたりしたそうなのでヤク中と聞いて想像するようなタイプの人間ではなかったのだろう。

暇つぶしに低レイヤで遊ぶためにELF実行ファイルパーサーやファイルシステム、GUIなどを書いているうちにSerenityOSのアイデアが浮かんできたらしい。

🔗I quit my job to focus on SerenityOS full time

SerenityOSをビルド&起動する
#

導入方法は🔗SerenityOS build instructionsで解説されている。

aptが使える環境であれば、aptで足りないパッケージをインストールしてビルドして起動するだけだった。

ビルドは30分ほどで終わるはず。

起動するとこんな感じ。

SerenityOSで遊ぶ
#

Coreutils
#

まず起動時に開かれていたターミナルでlsを試してみたら実行されたのでwhich lsでバイナリのディレクトリを探すと

/bin内に他のバイナリもあることが予想できるので、ls /bin > binaries.txtbinaries.txtに一覧を書き込む。

結果344行で基本的なものは揃っているようだ。

ソースをcoreutilsでgrepしたらSerenityOSにポートされたソフト一覧のリンクを発見した。

🔗https://ports.serenityos.net/

GNU core utilities, LLVM, vim, lynx web browser(CUIのWebブラウザ), GCC, Clang, CMake, Makeなどの開発に必要な基本的なツール以外にも色々なソフトウェアを利用できるようだ。

ポートされたソフトはSerenityのソースコード内のPortsディレクトリ内に一覧がある。

インストール方法は、基本的にインストールしたいソフトのディレクトリ内に移動して./package.shすれば良い。

package.shが実行されるとソフトウェアのビルドが始まる。

ビルド後にBuild/x86_64/Root/bin内にバイナリが配置され、QEMU内で/bin内から利用できる仕組みになっている。

🔗ReactOSは確かパッケージマネージャのようなものが実装されていた気がするのでこちらにも欲しいところだが実装、ホストのコストが高そうだ。

デフォルトでインストールされている色々なソフト
#

Hex Editor, Snake, Minesweeper, テキストエディタ, カレンダー, スプレッドシート, マップ, 電卓などのソフトを利用できる。

クリックで拡大

🔗OpenStreetMapの精度が思ったより良いものだったので驚いた。

piano
#

pianoという音を打ち込んでwavに書き出せるソフトが実装されていたので試してみた。

33秒から音割れ注意。

書き出しと再生の音が違ったり、途中でフリーズしたりした。

原曲はあえて伏せておこう。

vim & gccで開発
#

vimとgccをビルドして配置したので試してみる。
gccのビルドが思ったよりなげえ。

./package.sh > /dev/nullしたほうが良かったか。

テストがてらstd::putsstd::ofstreamを適当に使うプログラムをvimで書いて、gccでコンパイルして実行してみた。

クリックで拡大

きちんと動作しているようだ。

Hack Studio
#

pianoで遊んでいた際に何度かクラッシュした。

クラッシュすると、

クリックで拡大

のようなコールスタックなどの情報が表示される。

ここで左下のDebug in Hack Studioボタンを押すと、Hack Studioという付属のIDEが起動される。

クリックで拡大

パット見で原因は特定できなかった。

おわり
#

レトロ好きにはたまらないGUIデザインだ。

単なるディストロではなく、独立したOSであるのも面白い。

レトロ好きや昔のデスクトップの雰囲気思い出したい方は試してみてはいかがだろうか。

Related

VirtualBoxでDirectDrawアプリケーションが動作しなくなった
··358 文字·1 分
ソフトウェア VirtualBox DirectDraw
VirtualBoxのゲストWindowsマシンのドライブを拡張する方法
··329 文字·1 分
ソフトウェア VirtualBox
ゲストWindowsマシンのCドライブが満タンになったので拡張した。
チャット環境をセルフホストする際の選択肢の比較
··4077 文字·9 分
ソフトウェア プライバシー チャット Mattermost Discord Slack Matrix XMPP IRC RocketChat Mumble Revolt セルフホスト
チャット環境を自前で用意したい方向けに各選択肢をまとめておきました。