たれながし.info

とあるITエンジニアの備忘録

WSL2でWin-KeX(Kali LinuxのGUI環境)を使ってみた

Kali Linuxに、Win-KeXという機能が実装されたので試してみました。

Win-KeXとは

WSL2でKali LinuxGUIが使用できる機能です。
Kali Linux 2020.3で実装されました(2020年8月リリース)。

導入手順

WSL2の導入

事前にWSL2を導入しておきます。

Kali Linuxのインストール

MicrosoftストアからKali Linuxをインストールする
f:id:tarenagashi_info:20201123043945p:plain:h240

Kali Linuxの起動

インストールが完了したら、「起動」をクリックする
f:id:tarenagashi_info:20201123044035p:plain:h240

コンソールが開くので、ユーザを作成する
f:id:tarenagashi_info:20201123044133p:plain

OSアップグレード

sudo apt update
sudo apt upgrade

dbus-x11のインストール

sudo apt -y install dbus-x11

KeXのインストール

sudo apt -y install kali-win-kex 


インストール中にキーボード設定画面が開くので、「Japanese(OADG 109A)」を選択する
f:id:tarenagashi_info:20201123034712p:plain:w240f:id:tarenagashi_info:20201123034727p:plain:w240

KeXの起動

初回起動時はVNCのパスワードを設定します。「view-only password」は設定しなくても問題ないです。

$ kex -m
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

Winモード(Windowsモード)

起動したKeXにtigervncで接続します。

kex -m
kex --win -m

「--win」オプションを省略すると、Winモードで起動する
「-m」を省略した場合、全画面表示になる
f:id:tarenagashi_info:20201123043628p:plain:h240

SLモード(シームレスモード)

KeXがシームレスに起動します。Kali Linuxツールバーが画面上部に表示されます。

kex --sl

f:id:tarenagashi_info:20201123043731p:plain:h240

Enhanced Sessionモード

起動したKeXにRDPで接続します。

kex --esm

f:id:tarenagashi_info:20201123043716p:plain:h240

音声サポート

「-s」を付けると音声がサポートされます。

kex -m -s
kex --sl -s
kex --esm -s

KeXの終了

「kex --stop」「kex--kill」で終了します。
KeXサーバが起動しているときに「kex --stop」で終了できます。KeXサーバが起動しているかは「kex --status」で確認します。

「kex --stop」で終了

$ kex --status

Win-KeX server sessions:

X DISPLAY #     RFB PORT #      PROCESS ID
:1              5901            1108

You can use the Win-KeX client to connect to any of these displays.

$ kex --stop
Killing Win-KeX process ID 1108... success!

「kex --kill」で終了

$ kex --status

Error connecting to the KeX server.
Please try "kex start" to start the service.
If the server fails to start, please try "kex kill" or restart your WSL2 session and try again.

$ kex --kill

VNCパスワード変更

「kex --passwd」で変更できます。

kex --passwd

ハマりポイント

KeXのインストールと起動で私がハマったポイントと解決方法になります。

「Unable to contract settings server」と表示され接続できない。

f:id:tarenagashi_info:20201123035638p:plain:h180

Unable to contract settings server 
Failed to execute child process "dbus-launch" (No such file or directory)

dbus-x11」をインストールして、KeXを再起動します。

$ sudo apt -y install dbus-x11
$ kex --kill
$ kex -m -s

SLモードが起動しない。

以下のように表示され、SLモードが起動しない状態です。

$ kex --sl
        Checking /home/test/.cache/sessions/xfce4-session-192.168.206.1:0
        Enabling SL mode
        Desktop started after 1 seconds, enabling transparency now
Unable to init server: Could not connect: Connection refused
Failed to parse arguments: Cannot open display:
...

$ kex --sl
        Checking /home/test/.cache/sessions/xfce4-session-192.168.206.1:0
        Enabling SL mode
        Waited 100 seconds for desktop, giving up
        Saving Win-KeX SL session
        Started Win-KeX SL

Windows Defenderファイアウォールで「vcxsrv.exe」の「パブリックネットワーク」を許可します。
f:id:tarenagashi_info:20201123040458p:plain:h180 f:id:tarenagashi_info:20201123035214p:plain:h180

WinモードでKali Linuxツールバーが表示されない

Winモード&全画面&マルチディスプレイだと表示されない時があります。マルチディスプレイを解除すると表示されます(HDMIケーブルを抜く)。

KeXからログアウトすると画面が真っ暗になる

Winモード&全画面の時発生します。Ctrl+Alt+Delから「tigervnc」を終了します。