2 ポイント 投稿者 GN⁺ 2023-07-14 | 1件のコメント | WhatsAppで共有
  • X Window System が残した古い GUI エコシステムを見渡すリストで、FreeBSD でテストされたツールを中心に、ほかの Unix 系 OS でも動作する可能性を視野に入れている
  • ゲーム、計算機エミュレータ、ファイルマネージャ、システムモニタ、グラフィックデモ、画面装飾まで含み、X11 デスクトップの幅広い用途を示している
  • Silicon Graphics Indy、IRIX、Motif、GTK+ 1.2、Tcl/Tk、X10 ヘッダといった痕跡が残っており、レガシー Unix GUI 文化を眺めるのに適している
  • 一部の項目では、クラッシュの可能性、Unicode 非対応、ROM ファイル未同梱、サウンド非対応、手動ビルドが必要といった現実的な制約もあわせて示されている
  • 単なる思い出リストにとどまらず、X11 がゲーム・科学可視化・計算機・辞書・生産性ツールを抱え込んでいたUnix デスクトップの実験場であったことを示している

リストの性格と実行環境

  • X Window System 向けツールを集めた小さなコレクションで、「より obscure なものもあれば、そうでないものもある」
  • ターミナルツールの一覧としては、Kristof Kovacs の Cool, but obscure Unix tools を参照先として挙げている
  • すべてのアプリケーションは FreeBSD でテストされており、ほかの Unix-like オペレーティングシステムでも実行できる可能性がある
  • 多くの項目には、# pkg install ... 形式の FreeBSD パッケージインストールコマンドが添えられている

ゲームとデスクトップの玩具

  • 3D Pong は X Window System 向けの 3 次元 Pong 実装で、3dpong :0 --computer --sound によりコンピュータと対戦できる
  • Angband は Moria から派生したローグライクゲームで、J. R. R. Tolkien の書籍にゆるく基づいており、X11 モードは angband -mx11 で開始する
  • Battalion は 1994 年に Silicon Graphics Indy UNIX ワークステーション向けに書かれた 3D ゲームで、プレイヤーが怪物を操作して都市を破壊する
    • 1, 2, 3, 4 でカメラを切り替え、マウスで回転と前後移動を行う
    • 視点によっては操作がぎこちなく感じられることがある
    • Linux 版をベースにした FreeBSD port が提供されているが、サウンドはない
  • Micropolis は有名なコンピュータゲーム SimCity のオープンソース版で、GitHub から入手できる
  • XBill は 1994 年のアーケードゲームで、「Bill」というハッカーが複数のマシンに人気のオペレーティングシステムをインストールしようとするのを阻止する設定を採っている
    • インストールされた OS はネットワーク経由で広がり、BSD、Solaris、SGI IRIX など既存のシステムを取り除いてしまう
    • 現代的な派生として XLennart がある
  • XLennart は XBill の派生で、「Lennart」が BSD と Linux システムに init system をインストールしようとする設定を採っている
  • 古典的なアーケード系やパズル系も X11 に移植されている
    • XChomp, XGalaga, XInvaders 3D, XTrojka, XMahjongg, XSol はそれぞれ Pac-Man、Galaga、Space Invaders、Tetris 系、Mahjongg、Klondike 系のゲームを提供する
    • XDigger は 1988 年の東ドイツ製 KC 85/3、KC 85/4 コンピュータ向けゲームに由来する Boulderdash 系ゲームだが、岩が落ちない大きなバグがある
    • XLaby はマウスポインタで直接プレイする X Labyrinth ゲームである
  • XLife は Conway の Game of Life をシミュレートする X11 向けセル・オートマトンである
  • XOJ は O. J. Simpson 追跡劇の場面を X ルートウィンドウ上で再現する

計算機、科学、辞書、生産性ツール

  • HP と TI 系の計算機エミュレータがいくつも含まれている
    • Free42 は HP-42S 科学計算機と HP-82240 プリンタのシミュレーションである
    • HP-15C は Tcl/Tk で書かれた HP-15C プログラマブル計算機エミュレータで、ソースコードは 公式ウェブサイト で提供されている
    • X48 は HP 48GX グラフ電卓エミュレータで、ROM イメージが同梱されている
    • TiEmu は Texas Instruments TI-89/TI-92 Plus/Voyage 200 グラフィック電卓エミュレータで、ROM ファイルは同梱されていない
    • GCC ベースの C コンパイラである TIGCC も FreeBSD port として提供されている
  • XAbacus は X Window System 向けのそろばんである
  • WordNet は辞書とシソーラスの側面を人間の語彙記憶に関する心理言語学理論と結びつけた語彙参照システムで、Princeton University Cognitive Science Laboratory が開発した
    • グラフィカルブラウザ wnb は Tcl/Tk に依存する
  • 科学・数学ツールは可視化や計算のフロントエンドを担う
    • XCrySDen は結晶および分子構造の可視化プログラムで、結晶構造の上に重ねて表示できる isosurface や contour の表示を目的としている
    • XMaxima は Common Lisp で書かれたコンピュータ代数システム Maxima の Tcl/Tk フロントエンドである
    • XmGrace は X Window System と Motif 向けの WYSIWYG 2D プロットツールで、polynomial regression、splines、running averages、DFT/FFT、cross/auto-correlation をサポートする
    • XTide は X 向けの調和潮汐時計および潮汐予測ツールである
  • XSpreadmath/sc ベースのシンプルなスプレッドシートで、-X パラメータを使えば X11 なしで起動できる

エディタ、文書、ファイル、メッセージツール

  • X11 向けエディタはシンプルなテキストから RTF、IDE まで幅広い
    • GVIM は vi エディタの改良版で、グラフィカルフロントエンドは X11、Motif、Xaw、GTK+ 2/3 のいずれかでコンパイルできる
    • NEdit はプログラムおよび一般テキストファイル向けの X11/Motif GUI テキストエディタである
    • Ted は X11 向けのシンプルな RTF エディタで、Motif または GTK+ 2 でコンパイルできる
    • 実行ファイル名は大文字で始まる Ted であり、Motif フロントエンドではクラッシュする可能性がある
    • XEdit は X 向けのシンプルなテキストエディタで、~/.Xdefaultsxedit*enableBackups: off を追加すると自動バックアップを無効にできる
    • XWPE は Borland に似た統合開発環境である
  • 文書やアーカイブを扱うツールも別途含まれている
    • XArchivertar, zip, 7z など複数のアーカイブツール向け GTK+ 2 フロントエンドである
    • XTar は圧縮された tar アーカイブを表示・操作する Motif ベースのツールである
    • XCHM は Unix 向け Microsoft Windows help file ビューアである
    • XMan はシステムの man page を表示する
    • XMore は X 向け moreXLess は X 向け less である
  • デスクトップメッセージやクリップボードユーティリティは小さな X クライアントとして提供される
    • XClipboard は X のクリップボード管理クライアントである
    • XMessage は任意のテキストメッセージを表示する
    • XMOTD は message of the day を表示し、xmotd -always /etc/motd で実行できる
  • XmBibTeX は BibTeX ファイル形式ベースの Motif 参考文献管理ツールである
    • 参考文献の追加、削除、編集が可能である
    • BibTeX ファイル形式で保存することも、LaTeX ファイルへ直接書き込むこともできる
    • Unicode には対応していない
  • メール関連ツールも X11 クライアントの形で残っている
    • XMHMH Message Handling System のグラフィカル UI である
    • XBiff は受信箱に新着メールが届くと旗が立つ小さな郵便箱を表示する
    • XBiff は指定したファイルサイズを監視する方式で動作し、~/.Xdefaults で pixmap を変更できる

システム診断とグラフィックデモ

  • X11 環境を観察または制御する基本ユーティリティが多数含まれている
    • AppRes はアプリケーションが見るリソースを出力し、特定プログラムがどのリソースを読み込むか確認するのに使える
    • Xev は X イベントの内容をターミナルに出力する
    • XKill は X アプリケーションを終了するコマンドラインツールである
    • XLoad は現在の CPU 負荷を表示する
    • XOSView は X11 向けのビジュアルシステムモニタである
    • XConsole はシステムコンソールメッセージを表示する
  • フォント、色、グラフィック機能を調べるツールもある
    • XFontSel はインストール済みフォントと利用可能なフォントオプションを一覧表示する
    • XColorSel は X ウィンドウの色を取得する
    • Xgc は X グラフィック primitive のさまざまな機能を実演する X11 プログラムである
    • GLXGears はグラフィックアダプタをテストするシンプルな OpenGL ツールである
  • シンプルなデモや表示ツールは X11 特有の視覚的実験を示している
    • Ico はワイヤーフレームの回転多面体を表示する
    • MxIco は X 向けのシンプルなデモで、ウィンドウ内で多面体を回転させる
    • XLogo は X Window System のロゴを描画し、背景色と前景色は ~/.Xdefaults で変更できる
    • XTerm は X Window System 向けのターミナルエミュレータで、Sixel と Tektronix pseudo-graphics をサポートする
    • XZoom は X 画面の一部を拡大、回転、反転するツールである

視覚効果、背景、スクリーンセーバー

  • 地球と時刻の表示ツールは背景装飾と情報表示を兼ねる
    • XEarth は地球を 3D でルートウィンドウにレンダリングし、アニメーション背景にする
    • ウィンドウ内に表示したい場合は、-noroot などのオプションを付けて実行できる
    • 類似ツールとして XWorld、XGlobe、XPlanet があり、地球テクスチャも扱う
    • XWorld は太陽の方向から見た地球を表示する
    • Sunclock は X Window System 向けの時計で、法定時、太陽時、日の出、日の入り、各種地理データを point-and-click インターフェイスで提供する
  • 時計やロックツールは古いデスクトップ構成要素を示している
    • XClock は X 向けのアナログおよびデジタル時計である
    • XClock/Cat Clock は 1990 年の Motif ベース MIT xclock 派生で、「cat」モードを備え、GitHub から入手できる
    • ASClock は一部の言語拡張を備えた AfterStep 時計である
    • XScreenSaverJamie Zawinski による有名な X 向けスクリーンセーバーである
    • XLock は画面をロックし、必要に応じてスクリーンセーバーを表示する
    • XAutoLock と組み合わせることで、ユーザーが設定した非アクティブ時間の後に有効化できる
    • XTransparentLock はよりシンプルなアプローチを採る
    • Jamie Zawinski は XLock ではなく XScreenSaver を使うべき理由 をまとめている
  • ルートウィンドウや画面上を動き回る装飾プログラムも多い
    • XMountains は山岳風景をルートウィンドウにレンダリングし、XScreenSaver モジュールとしても提供される
    • XSnow はデスクトップに雪片、木、サンタを表示する
    • XFishtank は画面背景で魚を泳がせ、CPU サイクルを浪費する
    • XFishtank には Linux 版を手動パッチして FreeBSD で動かす tarball が提供されている
    • XRoach はルートウィンドウにゴキブリを表示し、ウィンドウの下に隠れ、ウィンドウを動かしたりアイコン化したりするとまた潜り込む
    • XAntfarm は X11 ルートウィンドウ上でアリの巣をシミュレートする
    • XNeko はマウスカーソルを追いかける猫である
    • BSD と Linux 向けの派生として Oneko があり、games/oneko-sakura port には tora-neko、Sakura Kinomoto、Tomoyo Daidouji、BSD daemon、dog など別キャラクターもある
    • XEyes はマウスカーソルを追いかける目を表示する
    • XMascot は X11 画面に動くマスコットを表示し、会話、アラーム設定、メール確認ができる
  • その他のデモ的ツールは画面効果そのものが目的に近い
    • XOdometer はポインティングデバイスの総移動距離を追跡し、1996 年 1 月版ソースが GitHub にある
    • XStarRoll は文字や pixmap が遠くへ飛んでいく X11 デモプログラムで、ルートウィンドウ上でも実行できる
    • Xtacy は色循環の玩具で、bouncing quadrilaterals、plasma clouds、phased sine waves のようなグラフィック効果やフラクタルを表示する
    • Xtacy は現代のコンピュータでは速すぎる動作になることがある

古いネットワークと特殊インターフェイス

  • GopherVR は 1995 年に最初に公開された Internet Gopher 向け 3D 空間ユーザーインターフェイスである
    • gophervr <host> <port> のようにホストとポートをコマンドライン引数として渡す
    • GitHub から入手できる
  • XMosaic は X 向け NCSA Mosaic で、初期のグラフィカルウェブブラウザの一つである
    • バージョン 2.7b のソースコードが GitHub にある
  • X026IBM 026 キーパンチのエミュレータである
    • FORTRAN コードを Hollerith パンチカードに書き込む状況や、過去のデータ入力の苦労を理解するのに適している
    • 既定のエンコーディングは BCD-H である
  • XASCII は ASCII テーブルを 16 進数、10 進数、8 進数で表示する
  • Xvkbd は X アプリケーション向けの仮想キーボードである

ファイルマネージャ、ミキサー、予定表ツール

  • ファイルやアーカイブを扱う古い GUI ユーティリティには安定性の制約も付いて回る
    • FSV2 は SGI IRIX の fsn のような 3D ファイルシステム可視化ツールで、クラッシュしやすく、UTF-8 問題が原因かもしれない
    • Xplore は Motif ベースのファイルマネージャで、クラッシュする可能性があり、エンコーディング問題が原因の可能性がある
  • オーディオミキサーもツールキットごとに分かれている
    • GMixer は X11 向けオーディオミキサーで、すでに使われなくなった GTK+ 1.2 ベースである
    • XMixer は X11 向けオーディオミキサーである
    • XmMix は X11 向け Motif ベースのオーディオミキサーである
  • 予定やメモのツールは当時のデスクトップ生産性ツールの小さな断面を見せる
    • Plan は X/Motif ベースのスケジュールプランナーである
    • XCalendar は統合ノートブック付きカレンダーである
    • XDiary は会議や約束を追跡し、時間計画を助ける
    • XPostIt は地球上で最も醜いメモアプリとして紹介されている
    • Xv はさまざまな形式を表示する画像ビューアである

1件のコメント

 
GN⁺ 2023-07-14
Hacker Newsのコメント
  • GLXGearsは、グラフィックドライバがインストールされているか確認するときによく使っていたコマンドだった。
    ちゃんとインストールできていれば滑らかに回転し、そうでなければカクついて壊れたように見えた。今ではAPUや汎用ドライバがあまりにも優秀なので、何でも滑らかに動いてしまい、昔のようには使いにくくなった

    • GLXInfoをxtermウィンドウで開いて、グラフィックドライバの導入が正しいか確認していたのを覚えている。
      "Direct Rendering: Yes"と表示されれば成功で、本当に良い時代だった
    • glxgears -info | less
  • 最終更新は2022年となっているが、この一覧は本当に1997年の一覧のように読める。
    それでもありがたく見たし、サイトを眺めていたらこちらのコレクションのほうが気に入った。
    https://cyber.dabamos.de/88x31/index3.html
    テーマ別でだいたいアルファベット順のようだが、それだけでもかなりすごい

    • そう思わせる手がかりがある。

      Dock app that simply counts down the days, hours, minutes, and seconds left until 00:00 January 1, 2000.
      https://cyber.dabamos.de/unix/x11/#wmy2k

    • 2022年の時点ですでに珍しくなっていたものの一覧なら、自然と古びて忘れられたソフトウェア寄りになるのは避けられない。
      一覧にxtermが入っているのは意外だが、たいていの人はもっとモダンなターミナルを使うか、レトロ趣味ならurxvtを使っているようだ
    • 今から20年ほど前にLinuxを初めて触り始めたころ、いくつかは覚えている。
      ある基準では遅いほうかもしれないが、それでもかなり昔だ
    • そのうちのひとつのスクリーンショットには2002年と書かれていた
  • そこまで珍しくないものもかなりある。
    X11時代の一般的なアプリ一覧のように見える。XEyes、XBiff、XClock、XEdit、Xev、XKill、Xv、XMosaicのようなものを誰が忘れられるだろう。
    もちろんFSV2のように知らなかったものもいくつかあった。良いコレクションだし、今では実際に動かさなくてもいいのはありがたい。当時役に立たなかったという意味ではない

    • 今でもxevはよく使うし、xkillはほぼ毎日使っている。
      xclipも毎日使うし、xdotoolは自動化フローに使い、glxgearsもGPUドライバが突然死んだか確認するときにかなりよく使う
    • XEyesは、どのアプリがWayland上で動いていて、どれがXWayland上で動いているのか確認するときにいつも使う
    • 画像はいまだにxvで見ているし、GLの問題はGLXGearsでデバッグし、妙なキー配置の問題はxevで確認する。
      xtermは、コンソール出力の監視のような用途で視覚的に区別しやすいターミナルとして使っている
    • xtermが珍しいって?
      ただしXMosaicは、今の基準では珍しいと言ってよさそうだ。今では古くて珍しいWebサイトでしかまともに動かないから ;-)
    • xbiffはBack to the Futureのキャラクター名から来ているとずっと思っていたが、実はキャンパスにいた犬の名前だった :)
  • XLennartの説明が笑える。
    XBillを改変したアーケードゲームで、「Lennart」という邪悪で不人気なハッカーが複数のBSDやLinuxシステムに悪意あるinitシステムをインストールしようとし、プレイヤーが彼を叩いて感染したマシンを修復しなければならないという内容だ。それでもPoetteringは少しかわいそうで、本当にかなり嫌われているようだ

    • Lennartへの憎悪は本当に気の毒だ。
      systemdのおかげでデーモン管理やセキュリティ設定は簡単になったと思う。たとえば Before=, After=, CPUQuota=, ProtectSystem=, ReadWritePaths= のようなものだ
    • XLennartを見てここに来て、Ctrl+fで他の人も言及しているか探した。
      systemd嫌いの度合いを見るとかなり驚くし、Lennartがユーモアとして受け止めてくれることを願う。自分ならそうすると思う。自分をあまり深刻に受け止めすぎないほうがいい
  • xnekoは懐かしさを呼び起こす。
    大学1年のとき、複数台がひとまとまりで入ってきたX端末を使っていて、そのまとまりの中では互いにX権限があった。
    すぐに、他人の画面にxnekoを大量に表示させて完全にフリーズさせられることを皆が学んだ

    • 誰かがXeyesのウィンドウ1つで私にそれをやった。
      そのとき寮の部屋には自分しかいなかったのに
    • クラシックmacOS向けのAfter Darkスクリーンセーバーにも、実質的にxnekoの移植版であるモードがあり、名前は「Neko Neko」だった
  • Hans EckeのXPlanet Resourcesページは本当に素晴らしい。
    http://hans.ecke.ws/xplanet/
    1〜3年ほど、この設定をLinuxの壁紙として使っていた。私たちのチームがEuropean Southern Observatory https://www.eso.org/public/ の同僚たちと仕事をしたあと米国へ戻る途中、客室乗務員が私のコンピュータの地球・月・太陽の画像を見て、宇宙探査に興味があるのか、あるいは関連する仕事をしているのかと尋ねてきた。
    私たちは地上から星を見ているが、かなり遠くまで見えると答えたところ、彼は身を乗り出して「操縦士たちがたった今無線で聞いたところによると、Space Shuttleで爆発があった」とささやいた。
    2003年、グリーンランド上空のどこかだった。とにかくXPlanetは最高だ。
    https://xplanet.sourceforge.net/maps.php

  • この一覧のおかげでxsunclockを知ったが、すぐに自分がコンピューティングで好きなものすべての代表例になった。
    明らかに愛情の産物であり、人類が知るどんなUIガイドラインにも従っていない。こういうプログラムを個人的にはR'lyehデザイン学派と呼んでいる。
    かろうじて使える程度だが、時刻表示のオプションだけは比類なく豊富で、かなり素晴らしい

    • xsunclockはSunのOpen Lookツールキットのルック・アンド・フィールを使っている。
      Open LookはMotifなどに先行するプログラミングツールキットで、他のGUIツールキットとは見た目がかなりはっきり違っていた
  • 確かに過去に戻ったような感じがする
    この10年ほどLinuxデスクトップはほとんど使っていないが、特に90年代後半の大学時代には、こういうアプリをよく使ったり試したりしていた記憶がある
    XBiff のようなものは、ほとんど誰もがデスクトップを設定するときに標準で立ち上げるツールで、たいていは FVWM を使っていたが、実際には自分の環境を自分で作る必要があった
    学校のコンピューターは Sun、IBM RS6000、SGI が混在していて、IT部門が非常によく整備していたので、どのマシンにログインしても自分のデスクトップとファイルがそのまま現れ、異なる Unix バージョン同士なのに、いつも同じコンピューターを使っているかのように透過的に動作していた
    プログラミング以外の作業は普通にこなせて、コンピューターサイエンスの課題は、その時接続しているアーキテクチャ向けに再コンパイルすればよかった
    Gnome と KDE が出てきたのは3年生くらいの頃で、学校のマシンでは自分でビルドして環境を設定しない限り使えなかった気がする。だから、こういう古い X11 プログラムをたくさん使っていた
    当時はテレビやゲーム機を買うお金がなかったので、アマチュアっぽい X11 ゲームでも楽しんでいた。長く遊べるほど良いものは多くなかったが、試してみるものはたくさんあり、Netrek のようなものは当時としては本当に素晴らしかった。グラフィックは大したことがなかったが、マルチプレイヤーのゲームプレイは時代をはるかに先取りしていた

    • Gnome、たしか v1 をコンパイルしてちゃんと動かせるようにしていた苦しい記憶がよみがえる
      あれって “the Gnu Network Object Model Environment” みたいな名前じゃなかったっけ?
  • FSV2 の話が出たので思い出したが、インターンのときに SGI Irix 上で fsn を偶然見つけて、Jurassic Park に出てきたあの格好いい 3D ファイルブラウザだと気づいたことがある
    映画用の特撮小道具だと思っていたのに、実際に動くアプリケーションだったので驚いた

  • 私にとっては xfishtank がリストの一番上だ。今でもたまに使っている
    Xblast も素晴らしかった。マウスポインターを照準に変えて、クリックするとウィンドウに穴を撃ち込み、その向こう側が実際に見えた。xauth が導入される前は、新入生をからかうのに本当に楽しかった
    もちろん Xeyes も --geometry でフルスクリーンサイズまで拡大して使っていた。一度、巨大なビデオウォールでそうしたことがあり、ほとんどクビになりかけたが、インターンだったので大丈夫だった。それだけの価値はあった