気候予測データの解析環境を構築する。その1-WSL2上にUbuntu-xface4を構築し、GUIで動かす。

はじめに

本研究室では、Windows Subsystem for Linux 2(WSL2)上のLinuxUbuntu)上にPythonの解析環境を構築し、データ処理を行っています。

Linux上でデータ解析を行うメリットは様々ありますが、私が選択する理由は次にあります。

  • 様々なオープンソースソフトウェアを簡単に導入できる。
  • パッケージの管理が簡単。
  • Docker_Desktop(有料化された?)を使わずにDockerコンテナを構築できる。
  • gcc、g++、gfortranなどのGNUコンパイラを簡単に利用できる。
  • Cygwinを使わずにGrADSやwgrib2を使える.

個人的には2つ目が大きく、Ubuntuのパッケージ管理システム、dpkgをつかっていれば、

  apt update
  apt upgrade

の2つのコマンドで、インストールしてあるすべてのソフトを最新の状態に保つことができます。 では、構築していきましょう。

WSL2のインストール

まず、以下のページを参考に、Microsoft Storeから[Windows Subsystem for Linux] インストールします。

qiita.com

Ubuntu22.04のインストール

MicrosoftストアでUbuntu LTS版の最新バージョンである、[Ubuntu 22.04 LTS]を検索し、インストールします。


初期設定

スタートメニューからUbuntu22.04を起動します

ユーザー名とパスワードを設定します

WSL2のコンソールに入ります

リモートデスクトップでアクセスできるようにする

このままコンソールで作業することもできますが、ファイルマネージャなどのGUIも使いたいので、下のページを参考にリモートデスクトップでアクセスできるようにします。

blog.janjan.net

xrdpと xface4のインストール

スタートメニューからUbuntu22.04を起動し、コマンドを入力していきます。

# ubuntuを最新の状態にする
sudo apt update
sudo apt upgrade



# xrdpをインストールする
sudo apt install xrdp

# xface4をインストールする
sudo apt install xfce4

# xrdpを起動
sudo service xrdp restart





xrdpと xface4の設定

設定ファイルを作成or編集します。

# ホームディレクトリに隠しファイル .xsession を作成
echo xfce4-session > ~/.xsession
# startwm.shを編集
sudo nano /etc/xrdp/startwm.sh
# 2行をコメントアウト
# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession 
# 次の行を追加
startxfce4 

”Ctrl-O”で編集内容を保存。
”Ctrl-X”でnanoを終了できます。

# xrdp.iniの編集
sudo nano /etc/xrdp/xrdp.ini
# xrdp待ち受けポート番号を3389 → 23389に変更
#port=3389
port=23389
# xrdpを再起動
sudo service xrdp restart

#.bash_profileを編集
nano ~/.bash_profile
# xrdpを自動で起動するようにする
retval=$(service xrdp status >/dev/null 2>&1; echo $?)
if [ ! $retval == "0" ]; then
echo xrdp server start...
sudo service xrdp start
fi

# dbusを自動で起動するようにする
retval=$(service dbus status >/dev/null 2>&1; echo $?)
if [ ! $retval == "0" ]; then
echo dbug start...
sudo service dbus start
fi
日本語化関係ライブラリのインストール

以下のページを参考に、日本語化する。 shigeo-t.hatenablog.com

# 日本語言語パックをインストール
sudo apt -y install language-pack-ja
sudo apt install fonts-takao
sudo fc-cache -fv
sudo update-locale LANG=ja_JP.UTF8

# mozcライブラリのインストール
sudo apt install fcitx-mozc dbus-x11

# xrdpを再起動しておく
sudo service xrdp restart
日本語関係の設定

設定ファイルを作成or編集します。

# /var/lib/dbusディレクトリに隠しファイルmachine-idを作成
sudo sh -c "dbus-uuidgen > /var/lib/dbus/machine-id"
# /etc/profileを編集
sudo nano /etc/profile
#fcitxを自動で起動できるようにする
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
if [ \$SHLVL = 1 ] ; then
  (fcitx-autostart > /dev/null 2>&1 &)
  xset -r 49  > /dev/null 2>&1
fi
WSL2を再起動

ここでいったん、Windows PowerShellからWSL2本体を再起動しておきます。

wsl.exe --shutdown
WSL2-Ubunutuの起動

スタートメニューからUbuntu22.04を起動します。

xrdp サーバーの起動のにパスワードを入力します。

リモートデスクトップの起動

タスクバーの検索ボックスに「リモートデスクトップ」と入力、検索結果の「リモートデスクトップ接続(アプリ)」を起動します。

コンピューター名に「localhost:23389」と入力して接続します。

Sessionに「Xorg」を選択し、ユーザー名とパスワードを入力してログインします。

Ubuntu22.04-xface4にリモートデスクトップ接続できました。

日本語入力の自動起動設定

「アプリケーション」→「設定」→「セッションと起動」を起動

自動起動アプリケーションにfcitxを追加

  • 名前:fcitx
  • 説明:日本語入力
  • コマンド:fcitx-autostart
  • トリガー:on login

ログアウト

リモートデスクトップの収量は「ログアウト」します。 ※サスペンドやシャットダウンは使えません。

「右上のユーザー名」→「ログアウト」

「ログアウト」を選択します。

最初の接続ウィンドウに戻ります。

 

動きましたか? 今回はここまで。次回はpython環境を構築していきます。