Windows 11のWSL(Windows Subsystem for Linux)でGUIアプリを起動しようとしても、うんともすんとも言わず画面に何も表示されない、といった問題でお困りではありませんか?せっかく便利な機能なのに、使えないと困ってしまいますよね。
この記事では、その原因と具体的な解決策を、初心者の方にも分かりやすく解説します。この記事を読めば、きっとあなたの問題を解決できるはずです。
主な原因は、WSL自体のバージョンが古いか、あるいはグラフィックドライバーに問題がある可能性が高いです。さっそく、それぞれの対策を詳しく見ていきましょう。
原因1: WSLのバージョンが古い、またはコンポーネントが不足している
WSLでGUIアプリを動かす機能(WSLg)は、比較的新しいバージョンのWSLで利用できます。 そのため、お使いのWSLのバージョンが古いと、GUIアプリが起動しないことがあります。
また、WSLgはWSL2でのみサポートされています。 バージョンがWSL1のままになっている場合も、GUIアプリは表示されません。
具体的な解決手順:
-
PowerShellを管理者として実行する
- スタートメニューを右クリックし、「ターミナル(管理者)」または「Windows PowerShell(管理者)」を選択します。
-
WSLをアップデートする
- 開いたウィンドウで以下のコマンドを入力し、Enterキーを押します。これにより、WSLが必要なコンポーネントを含めて最新バージョンに更新されます。
wsl --update
-
WSLを再起動する
- アップデートが完了したら、以下のコマンドでWSLを完全に再起動します。
wsl --shutdown
-
ディストリビューションのバージョンを確認・変更する
- お使いのLinuxディストリビューションがWSL2で動作しているか確認します。以下のコマンドを実行してください。
wsl -l -v
VERSION
の列が1
になっている場合は、次のコマンドで2
に変更します。(Ubuntu
の部分はご自身のディストリビューション名に置き換えてください)
wsl --set-version Ubuntu 2
これで再度GUIアプリの起動を試してみてください。
原因2: グラフィックドライバーが最新ではない
WSLgは、Windows側のグラフィックドライバーを利用してGUIアプリを表示します。 このドライバーが古い、または正しくインストールされていないと、アプリが正常に表示されない原因となります。
具体的な解決手順:
お使いのパソコンに搭載されているグラフィックボード(GPU)のメーカー公式サイトから、最新のドライバーをダウンロードしてインストールしてください。
- NVIDIA製GPUの場合: NVIDIA ドライバーダウンロード
- AMD製GPUの場合: AMD ドライバー&サポート
- Intel製GPUの場合: インテル ドライバー & サポート・アシスタント
ご自身のPCにどのメーカーのGPUが搭載されているか分からない場合は、タスクマネージャーの「パフォーマンス」タブで確認できます。ドライバーをインストールした後は、念のためパソコンを再起動しましょう。
原因3: DISPLAY変数が手動で設定されている
過去に、WSLでGUIアプリを使うために DISPLAY
という環境変数を手動で設定した経験はありませんか? WSLgでは、この DISPLAY
変数は自動的に適切な値に設定されます。 もし、.bashrc
などの設定ファイルに古い手動設定が残っていると、それが原因でGUIアプリが表示されなくなることがあります。
具体的な解決手順:
- WSLのターミナルを開きます。
- お使いのシェルの設定ファイル(例:
~/.bashrc
,~/.zshrc
など)をテキストエディタで開きます。nano ~/.bashrc
- ファイル内に
export DISPLAY=
で始まる行がないか確認します。もしあれば、その行の先頭に#
をつけてコメントアウトするか、行ごと削除してください。 - ファイルを保存し、設定を反映させるためにターミナルを再起動するか、以下のコマンドを実行します。
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ライフをお送りください!
コメント