「2023.007|JP」Issuesシリーズ: WSL の Win-KeX で Kali 画面ぼやける
Issue 説明
- WSL(Windows Subsystem for Linux)には、公式のKali WSLディストリビューションが含まれており、Win-KeXを使用してKaliのGUIインターフェースに接続することがサポートされています。
- Win-KeXを使用してKaliのGUIインターフェースに接続するための3つのモードがあります:
- Enhanced Mode(拡張モード)
- Seamless Mode(シームレスモード)
- Windows Mode(ウィンドウモード):デフォルトのモード
- 試行した結果、デフォルトのモードであるWindows Mode(ウィンドウモード)が最良の体験を提供することがわかりました。
- しかし、Windows Mode(ウィンドウモード)を介してKaliのGUIインターフェースに接続する際、表示が非常にぼやけています。このぼやけは、特定のツール(例:BurpSuite)を使用する際に特に顕著であり、インターフェースのテキストを読みづらくしています。Kali内で解像度を調整しようとしても効果がありません。
関連情報
オンライン上で他の人々も同じ問題に遭遇し、問題を提起しています:
- Win-Kex Screen Resolution(Win-Kexの画面解像度):問題の原因を特定し、いくつかの解決策を提供しています。
- Win-KEX Resolution(Win-KEXの解像度):この記事を執筆する時点での公式Kaliフォーラム上のユーザーの質問で、未だに回答が得られていません。
Issue 分析
- Win-Kex Screen Resolution > Answer #1 では、
Settings > Display > Scale & layout > Scale
を100%
に変更することで問題が解決する可能性があると述べられています。これによりKaliのGUIがよりクリアになりますが、ホストシステムの Scale も変更され、一部のユーザーにはネガティブな影響を与える可能性があります。例えば、高解像度モニター(2K以上など)を使用している場合、ウィンドウやテキストが非常に小さく表示され、判別が難しくなる可能性があります。 - Win-Kex Screen Resolution > Answer #2 は、潜在的な解決策のアプローチを提供しています。筆者は、GUIのレンダリングはWindowsホストシステム内の
win-kex-win-x64
exe ファイルによって実現されていると述べています。したがって、この exe ファイルの高DPI設定
を変更することで問題が解決する可能性があります。ただし、筆者は後に、Windowsホストシステム内でwin-kex-win-x64
exe ファイルを見つけることができなかったと報告しており、このファイルはKali WSLディストリビューション内にのみ存在することがわかりました(パス:\\wsl.localhost\kali-linux\usr\lib\win-kex\TigerVNC
)。
Answer #1
と Answer #2
は確定的な解決策を提供していませんが、問題の解決に向けた貴重な洞察を提供しています。
Issue 解決策
Answer #2
で言及されているアプローチを引き続き探求し、"Kali WSL GUIのレンダリングに関連するWindowsホストシステムの exe プログラムを特定し、そのDPI設定を変更する" か、"Kali WSLディストリビューションの起動を担当する exeプログラムを特定し、そのDPI設定を調整する" というアプローチがあります。後者のアプローチで成功しました。
WSLのドキュメンテーションによれば、Windowsホストシステムの CMD / PowerShell でkali
を実行することでKali WSLディストリビューションを起動できます。ここでのkali
は、CMD / PowerShell 内のkali.exe
の省略形です。実際には、kali.exe
はシステム環境変数 Path
内のいくつかのパスのうちの1つにある exe ファイルに対応しています。以下にその例を示します:
![Start Kali in PowerShell](/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/start-kali-in-powershell.png)
次に、コマンドGet-Command -ShowCommandInfo kali
を使用して、kali.exe
のパスを見つけます。
![Get kali.exe absolute path](/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/get-kali-exe-absolute-path.png)
その後、Windows Explorerでkali.exe
があるフォルダを開き、次の手順で設定を行います:
kali.exe
を右クリックし、コンテキストメニューからProperties
を選択します。Compatibility
タブに移動し、Change high DPI settings
をクリックします。- 表示されるサブウィンドウで、
Use this setting to fix scaling problems for this program instead of the one in settings
を選択します。
以下に示すように:
![](/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/kali-exe-properties-menu.png)
![](/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/kali-exe-properties-menu-compatibility.png)
![](/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/kali-exe-properties-menu-compatibility-high-dpi-settings.png)
注意深い読者は、上記の画像で
kali.exe
のファイルサイズが0 bytes
と表示されていることに気付くかもしれません。これは、この解決策の実行可能性に影響を与える問題ではありません。
次に、Kali WSLディストリビューション内でkex --wtstart
を実行して、kex Windows Modeを開始します。これにより、自由にKali GUIウィンドウのサイズを調整できるクリアなKali GUIが提供されます(デフォルトでは全画面モードで開始され、F8を押してアクセスできるメニューで全画面モードを終了できます)。表示解像度もウィンドウサイズの変更に適応されます(他の2つのkexモードとは異なります)。
![Clear Kali GUI](/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/clear-kali-gui.png)