🖥️

Windows+WSL2+Ubuntu+xrdpでtwmを立ち上げる

2024/09/01に公開

WSL2のUbuntuを使っているとき、
なんとなくtwmを起動して作業したいなと思う場面があるかもしれません。
そんなとき、RDP経由でWSL2のUbuntuにアクセスするようにすると、RDP経由でtwmを利用することができます。
この記事ではその手順を示します。

前提

前提として次の条件を満たしている必要があります。
また、Windows、Ubuntuのバージョンは、それぞれWindows11、Ubuntu 24.04で検証しているため、
それ以前のバージョンでも可能かについてはすみません、未検証です。

  1. WSL2がインストールされている
  2. Ubuntu 24.04以降のUbuntuが入っている
  3. Systemdが有効になっている
  4. 各種パッケージが最新になっている

1、2については次のコマンドでセットアップがされていれば大丈夫です。

wsl --install -d Ubuntu-24.04

3についてはUbuntu24.04であればデフォルトで有効になっています。
ただ、WSL2のバージョンが古めだと有効にならないので、Windows UpdateでWindowsを最新にする必要があります。
Windows UpdateでWindowsを最新にできたら次のコマンドを実行してWSL2のバージョンを上げます。

wsl --update

4については次のコマンドを実行してパッケージを最新にしてあれば大丈夫です。

sudo apt update -y
sudo apt upgrade -y

手順

サーバー側セットアップ手順

Ubuntu内で次の順にコマンドを実行していきます。

sudo apt install -y twm xfonts-75dpi xterm xdm xrdp
sudoedit /etc/xrdp/xrdp.ini
sudoedit /etc/xrdp/sesman.ini
sudo systemctl restart xrdp
sudo systemctl restart xrdp-sesman

それぞれについて、
次のコマンドでtwm本体、twmが参照するフォントとしてxfonts-75dpi、ターミナルとしてxterm、ディスプレイマネージャーとしてxdm、RDPサーバーとしてxrdpをインストールします。

sudo apt install -y twm xfonts-75dpi xterm xdm xrdp

次に、次のコマンドで次のようにxrdp、xrdp-sesmanの設定ファイルを編集します。
/etc/xrdp/xrdp.iniについては、ポート待ち受けポート番号を変更します。
3389ポートはクライアント側も利用する関係で3389ポートで待つとポートが重複するため、13389ポートなど任意のポートに変更します。
/etc/xrdp/sesman.iniについては、xrdp-sesmanが作るディレクトリを変更します。
必須の変更ではないですが、デフォルトだとホームディレクトリ直下にディレクトリができるため、別の場所に変更します。

sudoedit /etc/xrdp/xrdp.ini
sudoedit /etc/xrdp/sesman.ini
port=3389
↓
port=13389
FuseMountName=thinclient_drives
↓
FuseMountName=.local/thinclient_drives

そして、xrdp、xrdp-sesmanをサービス再起動します。
これでサーバー側のセットアップは完了です。

sudo systemctl restart xrdp
sudo systemctl restart xrdp-sesman

クライアント側セットアップ手順

リモート デスクトップ接続を起動し、
オプションを表示から詳細設定を表示、
全般タブのコンピューターにlocalhost:13389を、ユーザー名にUbuntuでのログインユーザー名を、資格情報を保存できるようにするにチェックを入れ、
画面タブの画面の設定のスライダーを最大まで伸ばし全画面表示にします。



そして接続をクリックします。
接続時に警告が出ますが、このコンピュータへの接続については今後確認しないにチェックを入れ、はいをクリックします。

資格情報の入力が求められるので、
その他をクリックし、展開されるオプションから別のアカウントを使用するをクリック、
そして表示される入力欄から、ユーザー名にUbuntuでのログインユーザー名、パスワードにUbuntuでのパスワードを入力し、OKをクリックします。



真っ黒な画面が表示され、左クリック、中クリックが反応すれば成功です!
抜けるときは左クリックのExit→Yes, really quitから抜けられます。
また、画面上部にカーソルをホバーするとRDPクライアントのメニューが表示されるため、メニューの×から抜けることもできます。


インストール後の調整

twmのデフォルト設定

twmのデフォルト設定はUbuntu向けにカスタムされたものになっています。
そのため、もしかしたらイメージしていたデフォルト設定と異なるかもしれません。
その場合、~/.twmrcを作成し、twmの公式リポジトリのsrc/system.twmrcの設定を書くと、公式のデフォルト設定を利用できます。
src/system.twmrcは詳細ページの右上側のメニューのそのまま開く、またはダウンロードからダウンロードできます。
このsystem.twmrcを~/.twmrcに保存し、xrdpを再起動します。画像のようなメニューになっていれば成功です。
コマンドにすると次のようになります。

vim ~/.twmrc
sudo systemctl restart xrdp

https://gitlab.freedesktop.org/xorg/app/twm
https://gitlab.freedesktop.org/xorg/app/twm/-/blob/master/src/system.twmrc?ref_type=heads

xtermの背景色

xtermを起動したとき、黒背景であることが気になるかもしれません。
その場合、~/.Xresourcesを作成し、次のように設定します。xrdpの再起動は不要です。xtermを立ち上げて次のような表示になれば成功です。
コマンドにすると次のようになります。

vim ~/.Xresources
XTerm*VT100*Foreground: black
XTerm*VT100*Background: white

まとめ

ここまで設定すると、この感じの見た目のtwmを利用できます。
普段使いではデスクトップ環境はあまり立ち上げないかもしれませんが、
ときどき立ち上げて作業してみると気分転換になります。
よければお試しください。

Discussion