WinAppsを使ってLinux上でWindowsアプリケーションを簡単に実行する方法

LinuxでWinAppsをスムーズに実行する方法

Microsoft 365 や Adob​​e Creative Cloud などの Windows アプリを Linux で直接実行しようとすると、エミュレーター、回避策、使いにくい VM が延々と続くなど、少々面倒です。WinApps は、Windows アプリをネイティブ Linux アプリのように動作させることで、この方法を容易にすると約束しています。しかし、正直に言うと、セットアップはワンクリックで完了する奇跡ではありません。Windows VM の構成、依存関係の解決、構成ファイルの微調整などが必要になります。しかし、いったん実行すれば、面倒な手続きなしで Linux アプリと Windows アプリを切り替えることができるようになります。ここでの目標は? シームレスなワークフローで、両方の世界が Linux デスクトップに組み込まれているかのように並行して動作します。最初は少しイライラするかもしれませんが (もちろん、Windows が物事を複雑にする必要があるため)、粘り強く続ければ、アプリが実際にスムーズに起動した瞬間、「わあ!」という感動を味わえるでしょう。どのように? では、一緒にやってみましょう。価値はあります。少なくとも、そう願っています。

WinAppsの使用時によくある問題を解決する方法

Windows VM を快適に動作させる

  • WinApps が Windows VM に接続できない場合や、奇妙なエラーが発生する場合は、VM の設定をもう一度確認してください。重要なのは、VM が実行中で、設定ファイルに指定した IP アドレスでアクセスできることです。当たり前のことのように聞こえますが、設定後に VM を起動し忘れる人がいます。Linux でKVMを使用している場合は、以下を確認してください。
     virsh list --all 

    VMがアクティブかどうかを確認します。アクティブでない場合は、次のコマンドで起動します。

     virsh start your-vm-name 

    さらに、ネットワーク設定も確認してください。VMのIPアドレスは、windows.confに設定したIPアドレスと一致している必要があります。VMがDHCPで異なるIPアドレスを取得する場合もあるので、 VM内またはルーターのip a コマンドで確認することをお勧めします。設定によっては、VMまたはホストマシンを再起動することで接続の不具合が解消されることがあります。ただし、マシンによっては、最初は失敗しても、再起動後に復旧する場合もあります。

  • FreeRDP が証明書に関するエラーを報告したり接続を拒否したりする場合は、 rdp コマンドに/cert:ignoreを追加するか、VM のデスクトップ解像度と RDP ポートが正しく設定されていることを確認してください。接続をテストするための主要なコマンドは次のとおりです。
     xfreerdp /u:"YourUser" /p:"YourPassword" /v:192.168.122.2 /cert:ignore 

依存関係やインストールの問題の修正

  • ディストリビューションによっては、依存関係が欠落していたり​​、古くなっている場合があります。Debianベースのディストリビューションの場合は、必要なツールがすべてインストールされていることを確認してください。
     sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd 

    Debian 12では、最新のfreerdp3-x11を入手するにはバックポートを有効にする必要があるかもしれません。 こちらをご確認ください。インストール前にパッケージリストを更新してください。

     sudo apt update 
  • Fedora または RHEL を使用している場合、コマンドは次のようになります。
     sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncat 
  • Arch Linux ユーザーは以下を実行できます:
     sudo pacman -Syu --needed curl dialog freerdp git iproute2 libnotify openbsd-netcat 
  • openSUSE の場合:
     sudo zypper install -y curl dialog freerdp git iproute2 libnotify-tools netcat-openbsd 
  • そして Gentoo:
     sudo emerge --ask=n net-misc/curl dev-util/dialog net-misc/freerdp:3 sys-apps/iproute2 x11-libs/libnotify net-analyzer/openbsd-netcat 
  • 基本的に、すべての依存関係がインストールされ、最新であることを確認してください。パッケージが不足していたり​​、少し古くなっていると、接続やパフォーマンスに問題が発生することがあります。Linuxディストリビューションはパッケージのバージョンに関して不安定な場合があることにご注意ください。

WinApps の設定と情報の保護

  • ~/.config/winapps/winapps.confを編集する際は、Windows のユーザー名、パスワード、RDP IP アドレスが正しいことを確認してください。Windows は毎回認証情報を確認する必要があるためです。ここに秘密が隠されています。安全を確保するため、アクセスを制限してください。
    chmod 600 ~/.config/winapps/winapps.conf

    認証エラーが発生した場合は、ユーザー名とパスワードを再確認するか、次のコマンドを使用して RDP に手動でログインしてみてください。

    xfreerdp /u:"YourUser" /p:"YourPass" /v:192.168.122.2 /cert:ignore

    接続がうまくいかない場合は、別のユーザー アカウントを使用したり、パスワードをリセットしたりすると解決することがあります。

接続が機能するかどうかのテストと確認

  • 完全なセットアップを実行する前に、上記のコマンドを使用してRDP接続を個別にテストしてください。接続できれば成功です。インストーラーを実行してください。接続できない場合は、ネットワーク/ファイアウォールの問題、またはVMのアクセスに関する問題を解決してください。ファイアウォールがポート3389をブロックしている場合や、VMのネットワークが正しく設定されていない場合があります。セットアップによっては、ファイアウォールを一時的に無効化または再設定することで問題が明らかになる場合があります。

インストーラを問題なく実行する

  • 最後に、セットアップ スクリプトを実行します。
     bash <(curl -s https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh) 

    コマンド不足に関するエラーが発生していないことを確認してください。すべて問題なければ、WinApps がインストールされ、すべての設定が自動的に行われるはずです。スクリプトがハングしたり、一部が失敗したりする場合があります。その場合は、スクリプトを再実行するか、ログを確認して何が問題だったかを確認してください。

高度な修正とヒント

  • カスタムアプリを追加したり、リストにない実行ファイルを実行したりしたいですか?設定を編集するか、次のコマンドを使用してください。
     winapps manual "C:\path\to\app.exe" 
  • より詳細な制御には、オプションのWinApps Launcherトレイウィジェットをご利用ください。VMを管理し、アプリを直接起動できます。クリック操作を好む方でも簡単に設定できます。
  • 一部のセットアップ、Nix または NixOS では、WinApps をパッケージ マネージャー経由で簡単にインストールできます。

WinAppsを使う理由とは?クイズ

  • デュアルブートや VBox の悪夢なしで、Linux デスクトップに Windows のような快適な操作性を実現したい場合。
  • ワークフローを中断したり、VM にフルタイムで移行したりすることなく、Office または Adob​​e アプリにアクセスできます。
  • 開発者、デザイナー、または何度も再起動することにうんざりしている人に最適です。

結局のところ、WinAppsを使えば、LinuxアプリとWindowsアプリを、まるで最初からそこにあったかのように並べて使えるので、両方のメリットを享受できます。なぜうまくいかない時もあるのですが、様々な設定でうまくいきます。多少の不具合はありますが、一度設定すれば全体的にはかなり安定しています。