気候予測データの解析環境を構築する。その1-WSL2上にUbuntu-xface4を構築し、GUIで動かす。
はじめに
本研究室では、Windows Subsystem for Linux 2(WSL2)上のLinux(Ubuntu)上に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] インストールします。
Ubuntu22.04のインストール
MicrosoftストアでUbuntu LTS版の最新バージョンである、[Ubuntu 22.04 LTS]を検索し、インストールします。
初期設定
ユーザー名とパスワードを設定します
WSL2のコンソールに入ります
リモートデスクトップでアクセスできるようにする
このままコンソールで作業することもできますが、ファイルマネージャなどのGUIも使いたいので、下のページを参考にリモートデスクトップでアクセスできるようにします。
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の起動
リモートデスクトップの起動
タスクバーの検索ボックスに「リモートデスクトップ」と入力、検索結果の「リモートデスクトップ接続(アプリ)」を起動します。
コンピューター名に「localhost:23389」と入力して接続します。
Sessionに「Xorg」を選択し、ユーザー名とパスワードを入力してログインします。
Ubuntu22.04-xface4にリモートデスクトップ接続できました。
日本語入力の自動起動設定
自動起動アプリケーションにfcitxを追加
- 名前:fcitx
- 説明:日本語入力
- コマンド:fcitx-autostart
- トリガー:on login
ログアウト
リモートデスクトップの収量は「ログアウト」します。 ※サスペンドやシャットダウンは使えません。
「右上のユーザー名」→「ログアウト」
「ログアウト」を選択します。
最初の接続ウィンドウに戻ります。
動きましたか? 今回はここまで。次回はpython環境を構築していきます。