User Tools

Site Tools


Sidebar

windows_subsystem_for_linux:wsl2:デスクトップ環境の設定

概要

  • UbuntuをGUI環境で使います
  • 動作が重いのであまり実用的でないかもしれません
  • Virtual Boxを使うか、次の大型アップデートを待ちましょう(参考:https://japan.zdnet.com/article/35160162/

手順

準備

事前に次のソフトをwindowsにインストールしてください

Ubuntu Desktopの導入

  1. Ubuntu Desktopをインストールします。時間がかなりかかります
    $ sudo apt install ubuntu-desktop
  2. キャッシュディレクトリの権限を変更します
    $ sudo chmod 777 -R ~/.cache/
  3. (GUIでパッケージのアップデートやインストールを行いたい場合)PolicyKitの設定をします
    $ sudo su
    # vi /etc/polkit-1/localauthority/50-local.d/99-all.pkla
    99-all.pkla
    [Allow all]
    Identity=unix-user:*
    Action=*
    ResultAny=yes
    ResultInactive=yes
    ResultActive=yes
  4. いったん終了して、再起動します
    $ exit

使い方

VcXsrvの起動

スタートメニューからXLaunchというソフトを起動して、画面の指示にしたがって設定します

  1. Select Display setting でお好みの表示方法を選んでください。Display numberは変更しません
    • Multiple windows … Ubuntuで開いたウィンドウを、Windowsで開いたウィンドウと同じように扱えます。ウィンドウをどちらのOSで開いたかややこしくなるので推奨できません
    • Fullscreen … 画面いっぱいにUbuntuを表示します。キーボードのwindowsキーを押すと、Windowsのタスクバーが表示されます。
    • One large window … ウィンドウを開いて、その中にUbuntuのデスクトップ画面を表示します
    • One window without titleber … Windowsのタスクバーだけを残して、残りの画面全体にUbuntuのデスクトップ画面を表示します。
  2. Select how to start clients はそのままにします
  3. Extra setting は “Disable access control” にチェックを入れて、他はそのままにします

コマンドラインからもVcXsrvを起動することができます

$ /mnt/c/Program\ Files/VcXsrv/vcxsrv.exe :0 -ac -keyhook &
  • フラグ-acは “Disable access control” にチェックを入れるのに相当します
  • フラグ-keyhookは、Windowsキーを含む各種キーを押したときVcXsrvだけが応答するようになります

VcXsrvを起動するとキーボードが日本語配列から英語配列に変更されてしまうという不具合が報告されています。 Windowsキーを押しながらスペースキーを押すことで、日本語配列に戻ります。

Ubuntu desktopの表示

次の順にコマンドを入力していきます

$ sudo sh -c 'dbus-uuidgen > /var/lib/dbus/machine-id'                          # UUIDを更新
$ sudo service dbus restart                                                     # DBusを再起動
$ export DISPLAY="$(cat /etc/resolv.conf|grep nameserver|awk '{print $2}'):0"   # DISPLAY環境変数を設定
$ XDG_CURRENT_DESKTOP=ubuntu:GNOME XDG_SESSION_TYPE=x11 gnome-session           # デスクトップ環境を起動

終了する場合は XLaunch のウィンドウを閉じてください。

シェルスクリプト

毎回入力するのは大変なので、ホーム・ディレクトリにシェルスクリプトを作成しておくと便利です

start.sh
#!/bin/bash
 
sudo sh -c 'dbus-uuidgen > /var/lib/dbus/machine-id'
sudo service dbus restart
export DISPLAY="$(cat /etc/resolv.conf|grep nameserver|awk '{print $2}'):0"
/mnt/c/Program\ Files/VcXsrv/vcxsrv.exe :0 -ac -keyhook &
XDG_CURRENT_DESKTOP=ubuntu:GNOME XDG_SESSION_TYPE=x11 gnome-session
  • (2021年2月追記)上のスクリプトでは起動できなくなったので、次のように書き換えてください
    start.sh
    #!/bin/bash
     
    sudo sh -c 'dbus-uuidgen > /var/lib/dbus/machine-id'
    sudo service dbus restart
    export DISPLAY="$(cat /etc/resolv.conf|grep nameserver|awk '{print $2}'):0"
    /mnt/c/Program\ Files/VcXsrv/vcxsrv.exe :0 -ac -keyhook &
    XDG_CURRENT_DESKTOP=ubuntu:GNOME XDG_SESSION_TYPE=x11 gnome-session
    /mnt/c/Windows/System32/taskkill.exe /IM vcxsrv.exe /T /F

シェルスクリプトができたら実行権限を付与します。

$ chmod u+x start.sh

このシェルスクリプトは

$ ./start.sh

で実行できます。

初回設定

ターミナルはCtrlキーとAltキーを押しながら t を押すと開きます

Dockの表示

  1. GNOME Tweak Toolをインストールします。
    $ sudo apt install gnome-tweak-tool
  2. キーボードのWindowsキーを押してDashメニューを表示してください
  3. tweaksで検索して起動してください
  4. Extentions(拡張機能)から Ubuntu appindicators と Ubuntu dock をオンにしてください

日本語環境

  1. 日本語環境に必要なパッケージを入れます
    $ sudo apt install language-pack-ja-base language-pack-ja ibus-mozc
  2. 画面右上の設定ボタンから「地域と言語」を選びます
  3. 入力ソースの下にある + と書かれたボタンをクリックし、[日本語]→[日本語(Mozc)]を選びます
  4. 入力ソースに日本語(Mozc)が現れるので、それを一番上にします。

参考

windows_subsystem_for_linux/wsl2/デスクトップ環境の設定.txt · Last modified: 2021/06/27 22:04 (external edit)