Linux上でOfficeを動かす、これがより良い方法だ
Linuxユーザーが長年待ち望んでいたプロジェクトがここにある。GitHubでは既に15,000以上のスターを獲得している。多くの人がLinuxをメインOSとして使っているが、それはWindowsが使えないからではなく、単にWindowsに戻りたくないからだ。しかし、避けて通れないソフトウェアがある。Office、Adobeシリーズ、そしてWindows専用の専門ツールだ。これがジレンマを生む。これらを使うには、デュアルブートを維持するか、常に仮想マシンを起動しておくしかなかった。

何年ものこうした煩わしさの末、WinAppsがより洗練された解決策を提示した。Wineを使ってWindowsプログラムをエミュレートするのではなく、実物のWindows環境を動かし、そのアプリケーションウィンドウをLinuxデスクトップにシームレスに統合するのだ。これらがまるでLinuxネイティブのアプリのように見え、感じられる。実際のWindowsインスタンスを動かすため、互換性はWineよりはるかに信頼性が高い。理論上、どんなWindowsアプリケーションも動作するはずだ。コミュニティは30もの主要アプリをテストし、大きな問題は報告されていない。

しかし、単なる互換性は当たり前。真価は細部に表れる:
- アプリの自動検出と統合: WinAppsはWindows環境をスキャンし、インストール済みのアプリを検出して、そのアイコンをLinuxのアプリケーションメニューに直接追加する。さらにMIMEタイプの関連付けも設定でき、ファイルマネージャーがWindowsアプリで開くべきファイルを認識できる。例えば、Nautilusで
.docxファイルを右クリックすれば、Microsoft Wordで直接開くことができる。 - 双方向ファイルシステムアクセス: Windows側からLinuxの
/homeディレクトリに、\tsclient\homeというパス経由でアクセスできる。システム間でのファイルのドラッグ&ドロップやクリップボードの共有も問題なく、プリンターも両環境で共有される。 - WinAppsランチャーとシステムトレイ: トレイアイコンからアプリの起動、Windows VM/コンテナの管理、ステータスの確認が可能。日常的な作業にターミナルを開く必要はもうない。
- AUTOPAUSE(自動一時停止): Windows環境がアイドル状態になると、WinAppsが自動的に一時停止させる。VMがバックグラウンドでこっそりRAMを食い潰す心配をしなくて済む。
- マルチモニターとHiDPIサポート: 複数モニター環境でも正しく動作し、100%、140%、180%といったHiDPIスケーリング係数にも対応している。
始め方

選ぶ方法に関わらず、最初のステップは共通だ。
1. 依存関係のインストール
FreeRDP(リモート接続用)に加え、curl、dialog、gitが必要だ。
- Ubuntu/Debian:
sudo apt install freerdp2-x11 curl dialog git - Fedora/CentOS:
aptをdnfに置き換えれば良い。パッケージ名はほぼ同じ。
2. プロジェクトのクローン
bashbashgit clone https://github.com/winapps-org/winapps.git
cd winapps
ルートを選ぶ
WinAppsはWindowsを実行する3つの方法をサポートしている。自分の状況に合ったものを選ぼう。
ルート1:Dockerコンテナ(最も簡単、初心者推奨)
これが最も手間のかからない選択肢だ。スクリプトが全て自動化してくれる。
インストーラーを実行:
bashbash./setup.sh
いくつか質問されるので、Dockerをバックエンドに選び、Windowsイメージの保存場所やユーザー名、パスワードを入力する。後は待つだけ。スクリプトが自動的にWindowsイメージを取得し、ネットワークを設定し、VirtIOドライバーをインストールする。Windowsのインストール画面に触れる必要すらない。面倒を避けたい人に理想的だ。(前提条件:sudo apt install docker.ioでDockerをインストールしておくこと)。
ルート2:Podmanコンテナ(Dockerに似ているがより安全)
手順はDockerとほぼ同じ。./setup.shを実行し、Podmanを選択するだけ。主な違いは:Podmanには常駐デーモンがなく、コンテナがユーザーの権限の下で直接実行されるため、セキュリティが重視される環境に適している。こちらも完全に自動化されている。
ルート3:Libvirt/KVM仮想化(手間がかかるが最高のパフォーマンス)
3Dアプリケーションや高いパフォーマンスが必要な人(グラフィック負荷の高いアプリなど)に推奨される。KVMはハードウェア仮想化を利用するため、コンテナ方式よりもずっと滑らかで、特にGPU処理において顕著な差が出る。ただし、その分手動での作業が必要だ:Windows VMを自分で作成し、OSをインストールし、VirtIOドライバーを設定しなければならない。詳細な手順はWinAppsリポジトリのlibvirtドキュメントを参照。Linuxの仮想化に慣れた上級者向けだ。
注意点
- X11のみ対応: 現時点ではX11のみサポートされている。Waylandのシングルアプリモードはまだ動作しない。Waylandデスクトップを使用している場合は、X11セッションに切り替えるか、今後のアップデートを待つ必要がある。
- GPUパススルーがないと3Dは厳しい: GPUパススルーを設定しない場合、3Dアプリケーションやゲームは厳しい。Windowsのデスクトップウィンドウマネージャーはソフトウェアレンダリングにフォールバックし、フレームレートが低下する。
最後に
結局のところ、WinAppsが解決するのは非常に特定的な問題だ。誰にでも必要なものではない。主にWindowsユーザーなら、これはほぼ意味をなさない。純粋なLinuxユーザーで、オープンソースソフトで全てのニーズが満たせるなら、やはり必要ないだろう。
このツールの本当の価値は、Linuxエコシステムに深く組み込まれた人たちのためのものだ:サーバーはLinux、開発ツールチェーンもLinux、普段の使い方も全てLinuxだ。しかし現実はそう甘くない。時には.docxを開かなければならない、Windows版しか存在しない社内ツールを使わざるを得ない、クライアントのためにVisioのフロー図を編集しなければならない──そんな場面が必ずある。
そのような人たちは少数派かもしれないが、確実に存在する。皆はどう思うだろうか?
このプロジェクトはオープンソースライセンスの下で完全に公開されている。興味があれば、GitHubリポジトリでソースコードやドキュメントを確認してほしい。
オープンソースアドレス: https://github.com/winapps-org/winapps