
2026/03/29 1:49
**Undroidwish** – 複数プラットフォーム向けにバッテリー込みのシングルファイルTcl/Tk実行ファイル
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
undroidwish は、Windows、Linux、macOS、Haiku、Android(Termux)およびさまざまな Unix ライクシステム全体で最大限のポータビリティを実現する単一ファイルの Tcl/Tk バイナリです。
- Windows:
はレジストリに触れない携帯可能アプリで、潜在的なリスクについてユーザーへ警告します。undroidwish.exe - ビルドとプラットフォーム:32 ビットおよび 64 ビット Windows、Intel Linux 用のバイナリが提供されており、Debian ARM(Raspberry Pi、Beaglebone)で構築可能です。プロジェクトには Wayland 用ビルドスクリプトも含まれており、Fedora 26–29、Debian 9「Stretch」、CentOS 7.5 で KMSDRM SDL2 ドライバを用いてディスプレイマネージャなしのコンソール操作がテストされています。FreeBSD‑11(x86)、OpenBSD‑6.2(amd64)、OpenIndiana Hipster、macOS El Capitan 10.11 および High Sierra 10.13、SDL2 ビデオドライバを使用した実験的 Haiku への部分サポートもあります。
- Android:Termux は非 root 環境で undroidwish を実行できるようにし、Raspberry Pi では RPI SDL2 ドライバを用いてフレームバッファモードで動作します。
- Web 出力:jsmpeg SDL ビデオドライバにより、「Eppur si muove」以降のリリースから Firefox、Safari、Chrome のウェブブラウザへ出力できます。
- 同梱拡張機能とスクリプト:実行ファイルには tkpath、tktreectrl、tkimg、Canvas3D、tcllib、tksqlite、bwidgets などの多数の Batteries‑Included Tcl/Tk 拡張機能がバンドルされており、
構文でアクセスできるデモスクリプトコレクションも含まれています。例としてはウィジェットデモ、tksqlite フロントエンド、tkpath tiger デモ、Canvas3D デモなどがあり、完全なスクリプトカタログにリストされています。builtin:<path> - 将来の計画:次期リリースでは特に Wayland でのプラットフォームサポートを拡大し、ビルドスクリプトを改良し、組み込みスクリプトを追加または更新して、デスクトップ、組み込みデバイス、およびモバイル環境全体で完全なポータビリティを維持することを目指します。
この概要はすべての主要ポイントを網羅し、根拠のない推測を避けつつ読者に明確かつ簡潔な概観を提供しています。
本文
実験版
これは Windows(32 bit、64 bit オプション)と Linux 用の単一ファイル Tcl/Tk バイナリであり、AndroWish ソースツリーから ZIP 仮想ファイルシステムや SDL/AGG/freetype ベースの X11 エミュレーション(描画用)を取り込んだものです。現在は概念実証段階ですが、将来的には「フルーティ」スマートフォンプラットフォームでも動作できるよう拡張できます。
Windows・Linux など各環境向けのシェルスクリプトを実行してビルドします。32 bit と 64 bit Windows、および Intel Linux の既製バイナリはダウンロードページに掲載されています。また、Debian 系 ARM プラットフォーム(Raspberry Pi、Beaglebone 等)でも構築可能です。
警告 –
undroidwish.exe はレジストリを書き込んだりシステムを変更したりしない Windows 32‑bit バイナリですが、実行は自己責任でお願いします。これは「計画外の余暇用クリック&ラン・エグゼクティブル」(CAREFUL) アプリです。Tk の X11 サーバーに見えますが、AGG/SDL2/freetype によるアンチエイリアス描画(線・円・フォント)が利用できます。ルートウィンドウはマウスホイール+Ctrl で滑らかにズームできます。
プラットフォーム対応
| プラットフォーム | 備考 |
|---|---|
| Wayland | SDL2 Wayland ビデオドライバをサポート。Fedora 26‑29、Debian 9 “Stretch”、CentOS 7.5 でテスト済み。2018‑02‑16 バリアントはコンソール専用 KMSDRM ドライバ使用。 |
| FreeBSD / OpenBSD | Linux と同様。FreeBSD‑11(x86)と OpenBSD‑6.2(amd64)を部分的にテスト済み。 |
| OpenIndiana Hipster | illumos/SunOS 5.11 ベース。FreeBSD 同様で、32‑bit 環境で部分的にテスト。 |
| macOS | 2017‑09‑01 以降のアルファ版が利用可能。macOS 10.11(El Capitan)と 10.13(High Sierra)で部分的にテスト済み。 |
| Haiku | SDL2 ビデオドライバによる実験的サポート。 |
| Termux | Android ターミナルエミュレータで X11 サーバーを提供し、スマホやタブレット上で Tcl と undroidwish を root なしで動作させます。 |
| Raspberry Pi | SDL2 の RPI ドライバをフレームバッファモードで使用。最近の Debian 9(Raspbian)でビルド時にデフォルト有効化。 |
| jsmpeg Video Driver | undroidwish の表示を Web ページ(Firefox、Safari、Chrome)へ送る。2019‑06‑22 発表の “Eppur si muove” リリースからほぼ全 Linux・Windows・macOS バリアントで利用可能。 |
すべてのバリアントに、Batteries Included の高度な Tcl/Tk 拡張(
tkpath、tktreectrl、tkimg、Canvas3D(OpenGL 2.x ドライバ必須))が含まれます。また、Tcl‑only 拡張として tcllib、tksqlite、bwidgets も同梱です。
SDL コマンドラインオプション(Beyond AndroWish で説明)は Tk ルートウィンドウのサイズやリサイズ可否を制御します。ランタイムコントロールは
sdltk コマンドで行います。
ビルトインスクリプトの実行
ビルトインスクリプトは ZIP ファイルシステムに格納されています。コマンドラインでスクリプトパスを指定します:
undroidwish.exe builtin:sdl2tk8.6/demos/widget undroidwish.exe builtin:tksqlite0.5.13/tksqlite.tcl undroidwish.exe builtin:tkpath0.3.3/demos/tiger.tcl undroidwish.exe builtin:Canvas3d1.2.4/demo/threads.tcl undroidwish.exe builtin:Canvas3d1.2.4/demo/vr_chick.tcl
ショートカットが用意されています(下表参照)。POSIX 系では
builtin: 部分を名前にしたシンボリックリンクを作り、/ を - に置き換えることで単一のシェルコマンドとして短縮できます。例:ln -s … vanillawish で builtin:TDK/xref が実行可能です。
ビルトインスクリプト表
| スクリプト URL | 説明 |
|---|---|
| ウィジェットデモ |
| SQLite データベースのグラフィカルフロントエンド |
| サポートされる画像フォーマット |
| TkPath デモ |
| Canvas3D デモ |
| Tk コンソール |
| ツリーヘッダーウィジェットデモ |
| テーブルウィジェットデモ |
| Tk_Bugz(Tcl'ers Wiki)をゲームパッドで操作可 |
| TkChat インスタントメッセージングアプリ |
| ZINT バーコードジェネレータデモ |
| SDX ユーティリティ |
| tcl‑augeas を用いた ブラウザ(読み取り専用) |
| tkvnc を使ったシンプル VNC ビューア |
| Will Duquette の Notebook アプリ |
| Tcl'ers Wiki からの Midnight Commander クローン |
| Tkzinc デモ |
| 他の実行中 Tk アプリを検査するツール |
| 小規模 XML ブラウザ/エディタ |
| tkhtml ベースのヘルプファイルビューア |
| mpexpr に基づく電卓 |
| tix ウィジェットデモ |
| 別の tix ウィジェットデモ |
| vanillawish 専用:Tcl Dev Kit チェッカー |
| vanillawish 専用:Tcl Dev Kit コンパイラ |
| vanillawish 専用:Tcl Dev Kit デバッガ |
| vanillawish 専用:Tcl Dev Kit インスペクタ |
| vanillawish 専用:Tcl Dev Kit テープ |
| vanillawish 専用:Tcl Dev Kit tclapp |
| vanillawish 専用:Tcl Dev Kit tclsvc |
| vanillawish 専用:Tcl Dev Kit vfse |
| vanillawish 専用:Tcl Dev Kit xref |
| vanillawish 専用(純 Tcl readline) |
| vanillawish 専用(Linux/Windows):ASED Tcl/Tk IDE |
| vanillawish 専用(Linux/Windows):Visual Tcl |
| vanillatclsh 専用:Curses‑like Tk wish |
| vanillawish 専用(Windows):vanillatclsh の抽出 |
| vanillawish (Linux):クリトクの簡易版 |
| vanillatclsh 専用:テキストモード OPC/UA サーバ/ブラウザ |
| vanillatclsh 専用:テキストモード TDBC フロントエンド |
| vanillawish:LUCK ビルドシステム |
| vanillatclsh 専用:テキストモード LUCK ビルドシステム/フロントエンド |
| vanillatclsh 専用:テキストモードエディタ |
| vanillawish:Taygete Scrap Book(Tcl'ers Wiki 参照) |
| バイナリの ZIP 内容を FUSE マウントでエクスポート |
| vanillawish 専用:静的構文チェッカー |
| vanillatclsh 専用:ドキュメントプロセッサ |
| vanillatclsh 専用:tclodbc を使用した tdbcsh 類似 |
| Andy Goth の電卓 |
| vanillawish 専用:ソケットスパイ |
| vanillawish 専用:TclPro からのデバッガコンポーネント |
| vanillawish 専用:SQLite を使った D. Bohdan の awk 類似プログラム |
| vanillawish (Linux):SNMP サポート付きネットワーク管理 |
| vanillawish (Linux):Scotty の Tk フロントエンド |
| vanillawish (Linux):GDB フロントエンド |
| PostgreSQL フロントエンド |