「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 分析

  1. Win-Kex Screen Resolution > Answer #1 では、Settings > Display > Scale & layout > Scale100% に変更することで問題が解決する可能性があると述べられています。これによりKaliのGUIがよりクリアになりますが、ホストシステムの Scale も変更され、一部のユーザーにはネガティブな影響を与える可能性があります。例えば、高解像度モニター(2K以上など)を使用している場合、ウィンドウやテキストが非常に小さく表示され、判別が難しくなる可能性があります。
  2. 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 #1Answer #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 ファイルに対応しています。以下にその例を示します:

次に、コマンドGet-Command -ShowCommandInfo kaliを使用して、kali.exeのパスを見つけます。

その後、Windows Explorerでkali.exeがあるフォルダを開き、次の手順で設定を行います:

  1. kali.exeを右クリックし、コンテキストメニューからPropertiesを選択します。
  2. Compatibilityタブに移動し、Change high DPI settingsをクリックします。
  3. 表示されるサブウィンドウで、Use this setting to fix scaling problems for this program instead of the one in settings を選択します。

以下に示すように:

注意深い読者は、上記の画像でkali.exeのファイルサイズが0 bytesと表示されていることに気付くかもしれません。これは、この解決策の実行可能性に影響を与える問題ではありません。

次に、Kali WSLディストリビューション内でkex --wtstartを実行して、kex Windows Modeを開始します。これにより、自由にKali GUIウィンドウのサイズを調整できるクリアなKali GUIが提供されます(デフォルトでは全画面モードで開始され、F8を押してアクセスできるメニューで全画面モードを終了できます)。表示解像度もウィンドウサイズの変更に適応されます(他の2つのkexモードとは異なります)。