公開日時:2020-07-17 Fri. 20:39:23 JST
最終更新日時:2024-08-24 Sat. 05:32:17 JST
Ubuntu MATE 24.04/22.04/20.04 LTS
by kiyozzy
Ubuntu MATE 24.04, 22.04, 20.04 を、他のUbuntuやWindowsからリモートデスクトップで接続し操作するためにxrdpを使います。
操作される側の準備の説明です。
sudo apt install xrdp
sudo gpasswd -a xrdp ssl-cert
接続するとログインダイアログが表示されます。以下の説明で"Xorg","Xvnc","console"とあるのは、このSession項目の事です。"Xorg"でリモート接続するにはそのままでよく、"Xvnc"するには tigervnc が必要。
sudo apt install tigervnc-standalone-server
設定は不要。"Xorg"より"Xvnc"の方がレスポンスがよいかも。
MATEの場合、この時点でリモート接続すると dbus のエラーが出るので、下記対応を行う。
(以前はここで直接 "dbus-launch /etc/X11/Xsession" としていたが、
/etc/X11/Xsession に dbus-launch を起動するロジックがあるのでそれを利用する方式に変更。)
sudo vi /etc/xrdp/startwm.sh
...
if test -r /etc/profile; then
. /etc/profile
fi
if test -r ~/.profile; then
. ~/.profile
fi
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession
↓上を下の様に修正する。
...
if test -r /etc/profile; then
. /etc/profile
fi
if test -r ~/.profile; then
. ~/.profile
fi
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession
■ Ubuntu22.04 の場合は、~/.profile を読めてないので追記する。
上記 ~/.profile 部分。
...
if test -r ~/.profile; then
. ~/.profile
fi
...
■ Ubuntu20.04 の場合は、/etc/pam.d/xrdp-sesman 設定を修正する。
sudo vi /etc/pam.d/xrdp-sesman
#%PAM-1.0
@include common-auth
...
↓上を下の様に修正する。
#%PAM-1.0
session required pam_env.so readenv=1 user_readenv=0
@include common-auth
...
vinoを使えば接続画面で"console"を選んでログイン中の画面にアクセスできる。
sudo apt install vino
dconfコマンドでvinoの設定をする。
dconf write /org/gnome/desktop/remote-access/prompt-enabled false
dconf write /org/gnome/desktop/remote-access/require-encryption false
MATEメニューの「設定」の「自動起動するアプリ」に登録する。
/usr/lib/vino/vino-server
登録しただけだと起動しないので、再起動などすると自動起動が働きvinoが起動する。
"console"メニューは Ubuntu 20.04 以降消えている。復活させるには下記を追加
sudo vi /etc/xrdp/xrdp.ini
[console]
name=console
lib=libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
#delay_ms=2000
接続画面の "Xorg", "Xvnc", "console"などの順番は
/etc/xrdp/xrdp.ini の記載順なので好みの順番に変更する。
クライアント側でパスワードを保存しておけば、一番最初に設定した接続で自動ログインが可能。
設定を変えたら
sudo systemctl restart xrdp.service
Ubuntu MATE 22.04 (Jammy Jellyfish) の xrdp は 最新LTSが出た今でも不具合が修正されていません。
Getting error during login attempt: "error loading libvnc.so specified in xrdp.ini"
Xorg方式では使用できますが、VNC方式で使用できません。下記では tigervnc, vino を使う方法がVNCを使います。
不具合に対処する方法を書きました。-> Ubuntu22.04でxrdp(0.9.17-2ubuntu2)の不具合に対処する