Windows 11でWSLのGUIアプリが表示されない?原因と解決策を分かりやすく解説

Windows 11のWSL(Windows Subsystem for Linux)でGUIアプリを起動しようとしても、うんともすんとも言わず画面に何も表示されない、といった問題でお困りではありませんか?せっかく便利な機能なのに、使えないと困ってしまいますよね。

この記事では、その原因と具体的な解決策を、初心者の方にも分かりやすく解説します。この記事を読めば、きっとあなたの問題を解決できるはずです。

主な原因は、WSL自体のバージョンが古いか、あるいはグラフィックドライバーに問題がある可能性が高いです。さっそく、それぞれの対策を詳しく見ていきましょう。

原因1: WSLのバージョンが古い、またはコンポーネントが不足している

WSLでGUIアプリを動かす機能(WSLg)は、比較的新しいバージョンのWSLで利用できます。 そのため、お使いのWSLのバージョンが古いと、GUIアプリが起動しないことがあります。

また、WSLgはWSL2でのみサポートされています。 バージョンがWSL1のままになっている場合も、GUIアプリは表示されません。

具体的な解決手順:

  1. PowerShellを管理者として実行する

    • スタートメニューを右クリックし、「ターミナル(管理者)」または「Windows PowerShell(管理者)」を選択します。
  2. WSLをアップデートする

    • 開いたウィンドウで以下のコマンドを入力し、Enterキーを押します。これにより、WSLが必要なコンポーネントを含めて最新バージョンに更新されます。
    wsl --update
    
  3. WSLを再起動する

    • アップデートが完了したら、以下のコマンドでWSLを完全に再起動します。
    wsl --shutdown
    
  4. ディストリビューションのバージョンを確認・変更する

    • お使いのLinuxディストリビューションがWSL2で動作しているか確認します。以下のコマンドを実行してください。
    wsl -l -v
    
    • VERSION の列が 1 になっている場合は、次のコマンドで 2 に変更します。(Ubuntu の部分はご自身のディストリビューション名に置き換えてください)
    wsl --set-version Ubuntu 2
    

これで再度GUIアプリの起動を試してみてください。

原因2: グラフィックドライバーが最新ではない

WSLgは、Windows側のグラフィックドライバーを利用してGUIアプリを表示します。 このドライバーが古い、または正しくインストールされていないと、アプリが正常に表示されない原因となります。

具体的な解決手順:

お使いのパソコンに搭載されているグラフィックボード(GPU)のメーカー公式サイトから、最新のドライバーをダウンロードしてインストールしてください。

ご自身のPCにどのメーカーのGPUが搭載されているか分からない場合は、タスクマネージャーの「パフォーマンス」タブで確認できます。ドライバーをインストールした後は、念のためパソコンを再起動しましょう。

原因3: DISPLAY変数が手動で設定されている

過去に、WSLでGUIアプリを使うために DISPLAY という環境変数を手動で設定した経験はありませんか? WSLgでは、この DISPLAY 変数は自動的に適切な値に設定されます。 もし、.bashrc などの設定ファイルに古い手動設定が残っていると、それが原因でGUIアプリが表示されなくなることがあります。

具体的な解決手順:

  1. WSLのターミナルを開きます。
  2. お使いのシェルの設定ファイル(例: ~/.bashrc, ~/.zshrcなど)をテキストエディタで開きます。
    nano ~/.bashrc
    
  3. ファイル内に export DISPLAY= で始まる行がないか確認します。もしあれば、その行の先頭に # をつけてコメントアウトするか、行ごと削除してください。
  4. ファイルを保存し、設定を反映させるためにターミナルを再起動するか、以下のコマンドを実行します。
    source ~/.bashrc
    

それでも解決しない場合に試すこと

上記の基本的な対策で問題が解決しない場合は、以下の方法を試してみてください。

  • Linuxディストリビューション内のパッケージを更新する:
    WSL自体のアップデートとは別に、インストールしているLinux(Ubuntuなど)の中のソフトウェアも最新の状態に保つことが重要です。

    sudo apt update
    sudo apt full-upgrade
    
  • .wslconfigファイルを確認する:
    ユーザーフォルダ(C:\Users\あなたのユーザー名)にある .wslconfig ファイルで、GUIアプリが無効化されている可能性があります。 ファイルを開き、[wsl2] のセクションに guiApplications=false という記述があれば、true に変更するか、その行を削除してください。 変更後は wsl --shutdown でWSLの再起動が必要です。

  • Windowsの機能を確認する:
    WSLが動作するためには、「仮想マシン プラットフォーム」と「Linux 用 Windows サブシステム」が有効になっている必要があります。「コントロールパネル」から「プログラムと機能」→「Windows の機能の有効化または無効化」を開き、これらの項目にチェックが入っているか確認してください。

まとめ

最後に、この記事の要点をまとめます。

  • WSLのバージョンを確認し、wsl --update コマンドで最新の状態に保ちましょう。
  • お使いのPCのグラフィックドライバーを、メーカー公式サイトからダウンロードして最新版に更新しましょう。
  • .bashrc などに古い DISPLAY 変数の設定が残っていないか確認しましょう。

この記事が、あなたの問題解決の一助となれば幸いです。快適なWSLライフをお送りください!

コメント