LinuxをWindowsに変えよう
(philipbohun.com)> 「LinuxディストリビューションをWindowsのようにしなければなりません。」
- この記事は、既存のLinuxの移植性と配布方式の問題を解決するために、基本的にWineを通じてWindows実行ファイルを動かせるLinuxディストリビューションを作ろうという提案である
- これにより、Windowsユーザーはほとんど訓練なしでLinuxへ簡単に移行でき、Linuxの長年の互換性問題もあわせて解決できる
Linux環境の不安定性
- Windowsでは20年前の
.exeファイルも実行できる一方、Linuxでは1年前のバイナリですら動かないことがある - これは、Linuxのライブラリのバージョン差異や更新によって、同じ実行ファイルがさまざまなディストリビューションで動作しなくなるためである
- Linuxのシステムコールは安定しているが、その上に載るCライブラリ(
libc)は不安定であり、ユーザー空間の大半がこれに依存している
Linuxにおけるバイナリ配布の問題
- Linuxでは実行ファイルを配布する主な方法が実に4種類も存在し、それぞれ問題を抱えている
- 生バイナリ: ほとんどの環境で動作しない
- AppImage: すべての依存関係を含むが、完全な保存性は未知数
- Flatpak: アプリごとにサンドボックスを提供する
- Snap: 別のサンドボックス型パッケージマネージャー
- これらはすべて、インストール、更新、削除の方式が互いに異なり、同時に共存も可能である
- 長期的なアプリ保存と再実行には大半が適しておらず、20年後に実行できる可能性はほとんどない
Win32が解決策である理由
- Windowsの
Win32 APIは、Linux上で唯一安定したABI(Application Binary Interface)だと評価される - Windowsは直接システムコールを行わず、動的ライブラリを通じて呼び出すことでAPIの安定性を維持している
- この構造のおかげで、Microsoftは内部的にカーネルを変更しながらも、ユーザーには同じインターフェースを提供できる
- 一方Linuxはシステムコールを直接呼び出し、ライブラリも不安定なため、互換性の問題が続いている
- WineはこのWin32構造を実装しており、1990年代のWindows 95時代のアプリまで実行可能にしている
- 特にWin32ベースのアプリだけを使うなら、WineとWindowsの間の互換性の差はほとんどない
新しいLinuxディストリビューション構想
- Windowsに似たデスクトップ環境を持つLinuxディストリビューションを作ろうという提案
- このディストリビューションには標準でWineがインストールされており、小さなカーネルパッチによってWindows実行ファイルを自動認識して実行できるようにする
- ユーザーごとにWine環境(prefix)を設定し、WindowsスタイルのファイルシステムとGUIを提供する
- 従来のLinux環境もバックグラウンドに維持され、上級ユーザーはそれにアクセスできる
真のマルチプラットフォーム対応
- WineはLinuxだけでなく、FreeBSD、macOS、AndroidなどさまざまなOSで動作する
- すべてのアプリをWin32アプリとしてのみ配布すれば、別途ポーティングせずに複数のプラットフォームで実行できる
- 1つのアプリで複数のOS互換性を確保できる構造である
将来の脅威
- macOSとWindowsはますます閉鎖的な方向へ進んでおり、ユーザーの統制権を奪っている
- Windowsは自動スクリーンショットとAI分析機能を追加しつつある
- macOSはGatekeeperを通じて、承認されたアプリだけが実行できるよう制限している
- 両OSともユーザーの活動を監視し、違法ファイルの探索や通報機能まで準備している
- MicrosoftはオンラインアカウントなしでWindowsを使うことをますます難しくしている
- その結果、アカウント停止時にはコンピューター自体を使えなくなる状況が起こりうる
> この流れは悪意というより、経済的・政治的圧力によって生じる問題だと解釈している
LinuxをWindowsとして包む理由
- 新しいLinuxディストリビューションは移植性の問題を解決し、Windowsユーザーに親しみやすい移行環境を提供する
- Windows 11へのアップグレードが強制される時点で、簡単に移行できる代替案を提供できる
- 今こそ、ユーザー主権を回復できるLinuxディストリビューションを構想する絶好の時期だという主張である
10件のコメント
20年持ちこたえるエコシステムにはうなずかされますが、その行き着く先がなぜ
wineなのか…。macOSはもう使えなさそう
批判的に見たいわけではないのですが、いくつかのOSを使ってきた者としては、あまり共感できません。今はたいていのGUIツールはWebで使えますし、優れたデスクトップが必要ならUIの美しいWindowsでやるほうがよいでしょうし、ドライバーの対応もWindowsのほうがはるかに良いですから。
Steamになるべきなのにね…。
https://www.codeweavers.com/crossover
Tmax Window... Lindows/Linspire... ReactOS... うっ、頭が...
Valve の Proton は本当に大きな仕事をしている気がしますね
なかなか斬新な提案ですね
普通にTop-tierなゲーム/ソフトウェアがちゃんと動くように調整してくれるほうがいいんじゃないか
…と思っちゃいけないんでしょうね?(笑)
Windows 11以降のPCがなくてもゲームができる時代が来るといいですね(泣)
Hacker Newsの意見
Linuxディストリビューションで、デフォルトでWindowsバイナリを実行するWineを使うディストリビューションを作ろうという意見がある
sudo apt install wine-binfmtコマンドで簡単にインストール可能Windowsでは20年前のexeファイルも依然として実行可能だが、Linuxでは1年前のバイナリでもアップデートによって実行できなくなることがある
新しいディストリビューションが必要だとは思わない
Zorin OSは.exeファイルに対するWineサポートをほぼ標準で提供しており、Steam OS/Protonには新しいゲームのLinuxポートを作るのではなくProton向けに最適化せよという公式ガイドラインがある
Linuxディストリビューションは一般的に実行ファイルを動的リンクし、旧バージョンのライブラリを保持しない
Linuxのシステムコールは非常に安定しているが、その上のCライブラリはそうではない
Lindows/Linspireを求めている人のように聞こえる
Windows ABIが非常に安定しているなら、なぜWin95やNTを使うコンピュータが特定のソフトウェアが動かなくなるのを恐れて誰にも触られないのか不思議だ
exeファイル実行のためにカーネルパッチは不要で、binfmt_miscがこれを処理できる