Deprecated: Windows10/11におけるLinux環境 (GUI編)

2024.4.25 本ページの情報は古い情報であるが,有益な内容もあるため残している.

1.はじめに

Windows上でLinux用のGUIアプリケーションを実行できる環境を構築する. 本ページでは,Windows や Ubuntu on WSL2 にインストールすべきソフトウェアについて説明する.

WindowsにおけるLinux環境の構築 は済んでいる前提で,以降の説明を進める.

なお,ダウンロードデータ量やインストール後のディスク利用容量は, CLI環境の場合よりも大きくなるため,注意すること.

必要な作業は,主に2つある.

X Server とは,Linux の GUI に用いられる X Window を表示するための常駐ソフトウェアである.

参考:Linux GUI アプリを実行する ※Windows11ユーザ限定

2. GWSL

GWSLは,無料でも利用できるソフトウェア( Donationware )です. 有料のソフトウェアに匹敵する機能を持っており,普段使いには十分すぎるでしょう.

※注意:Microsoft Store からインストールする際は,類似名のマルウェアをインストールしないよう,注意すること.※

※注意:2024年4月25日現在,無料ではなく,有料ソフトウェアになっているようです.※

2.1 インストール

Microsoft Store で探し出して,インストールするだけです.

  • Window のスタートメニューから,「Microsoft Store」を起動

  • インストール中のポイント

    • 下図のような英語のメッセージの後で,Windows Firewall から「GWSL_vcxsrv.exe」と「pulseaudio.exe」に 関するメッセージが出ている場合は,「通信を許可」するように.

      ../_images/gwsl_1.png

2.2 初期設定

  • スタートメニューに GWSL というアイコンがあれば,それを実行する.

    • ダイアログは,基本的に変更せずに「次へ」を押し続けて,最後に完了を押せばよい.

  • 実行できると,右下のタスクアイコンに常駐する.

    ../_images/gwsl_2.png
  • タスクアイコンをクリックし,ダッシュボードを開く.

    • GWSL Distro Tool を選択する

      • Display/Audio Auto-Exporting を選択する

      • 以上の操作により,WSL 環境の設定ファイル (~/.bashrc, ~/.profile) に 以下のような設定が追記される.

        export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0.0 #GWSL
        export PULSE_SERVER=tcp:$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}') #GWSL
        
  • 高解像度ディスプレイで,Windowsデスクトップの拡大縮小設定を利用している場合は,後のFAQも参照してほしい.

2.3 使い方

スタートメニューに GWSL というアイコンがあれば,それを実行する.

利用中は GWSL を常駐させておく.

  • Linux App から,Emacs (GUI) が起動できる

  • Linux Files から,WindowsのExplorerでWSLのルートディレクトリ / が起動できる

  • Linux Shell から,Linuxコンソールが起動できる

3. 日本語入力

2通りの方法を説明する. Emacsのみで日本語入力できればよいのか,その他のLinux GUIでも利用したいか,で入れるべきソフトウェアが異なる.

3.1 方法1 uim + uim-mozc の導入

Ubuntu on WSL2 環境内のGUIで,日本語を利用したい場合は,以下のソフトウェアをインストールすればよい.

3.1.1 インストール

$ sudo apt install uim uim-mozc

追加で120MBほどのストレージが必要になる.

3.1.2 設定

キーバインドを変更する.

$ uim-pref-qt5
  • Global settingsでInput method switchingを <Shift><Control>space に設定

設定を変えたら,一度 WSL 環境からログアウトして,再起動する.

3.1.3 利用方法

  • X application を何でも良いので(例えば gnome-terminal を)起動する

  • <Shift><Control>space で入力メソッドをMozcに切り替え

  • 半角/全角キーで日本語入力モードにすれば入力可能

3.2 方法2 emacs-mozc の導入

3.2.1 インストール

$ sudo apt install emacs-mozc

3.2.2 設定

Emacsの設定ファイル(通常,~/.emacs.d/init.el)に,以下を追記する.

;; Mozcの設定
;; Emacs内の入力メソッド切り替えは C-\ (toggle-input-method)
(load-file "/usr/share/emacs/site-lisp/emacs-mozc/mozc.el")
(require 'mozc)
(setq default-input-method "japanese-mozc")
(setq mozc-candidate-style 'echo-area)

以下のプロンプト($)以降を,コピペで Linux 端末上で実行してもよい.

$ cat <<EOF >> .emacs.d/init.el
;; Mozcの設定
;; Emacs内の入力メソッド切り替えは C-\ (toggle-input-method)
(load-f> (load-file "/usr/share/emacs/site-lisp/emacs-mozc/mozc.el")
(require 'mozc)
(setq default-input-method "japanese-mozc")
(setq mozc-candidate-style 'echo-area)
EOF

3.2.3 利用方法

  • Emacs 内で,C-\ で漢字入力のon/off が切り替わる(切り替わる動作をトグルと呼ぶ).

  • Emacsモードラインの左下に [Mozc] と表示されているときが,漢字入力モードである.

4. 普段の作業

以上がインストールされていれば,およそ毎日の自習作業は以下のような手順になるだろう.

  • GWSL を起動し,常駐させておく

  • Windows Terminal か GWSL の Linux Shell を実行して,ターミナル環境を作成し,作業する

  • GWSL の Linux Apps から,Emacs (GUI) を実行して,エディタ上での作業をする

5. FAQ

►Q. GWSL でアプリが起動しない.どうすればよいか?

A. Firewallの設定を確認してください. Trend Micro Apex One(旧名 ウィルスバスター)をインストールしている場合は, 同ソフトウェアの設定から,ファイアウォールの設定を探し,以下のポートに対する 受信許可を出すようにしてください.

►Q. GWSL で Emacs を起動したが,メニューがめっちゃ小さい!どうすればよいか?

A. 高解像度用の追加設定をしてください.

  • タスクバーのGWSLアイコンをクリックして,ダッシュボードを開く

  • GWSL Distro Tool を選択する

    • Set GTK To: HIGH-DPI を選択する

    • Set QT To: HIGH-DPI を選択する

  • 上記の操作で,それぞれの項目が HIGH-DPI --> LOW-DPI になっているはず

    • WSL内の設定ファイル(~/.bashrc~/.profile)に,以下が追加されているはず

      export QT_SCALE_FACTOR=2 #GWSL
      export GDK_SCALE=2 #GWSL
      
  • GWSLやWSL2上で作業中のファイルが無いことを確認してから,GWSL Distro Tool 内の Reboot Ubuntu を選択