VNCでROS2のRviz2やらGazeboやらが動かないのでXRDPを使うことにした。
まず以下を実行
askubuntu.com
$ sudo apt install dbus-x11 $ dbus-session
そして次を実行
askubuntu.com
sudo apt install xrdp sudo systemctl enable --now xrdp sudo ufw allow from any to any port 3389 proto tcp
sudo vi /etc/xrdp/startwm.sh
#!/bin/sh # xrdp X session start script (c) 2015, 2017, 2021 mirabilos # published under The MirOS Licence # Rely on /etc/pam.d/xrdp-sesman using pam_env to load both # /etc/environment and /etc/default/locale to initialise the # locale and the user environment properly. export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME export $(dbus-launch) if test -r /etc/profile; then . /etc/profile fi test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession
$ sudo systemctl restart xrdp
Windows remote desktopの設定
動いた
以下のスクリプトも実行していた(ソースがどこかわからなくなった)
上記で動かなかったら以下を実行してみるのが良いかも
enhanced-session-mode.sh
#!/bin/sh # Add script to setup the ubuntu session properly if [ ! -e /etc/xrdp/startubuntu.sh ]; then cat >> /etc/xrdp/startubuntu.sh << EOF #!/bin/sh export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME exec /etc/xrdp/startwm.sh EOF chmod a+x /etc/xrdp/startubuntu.sh fi sed -i_orig -e 's/startwm/startubuntu/g' /etc/xrdp/sesman.ini # rename the redirected drives to 'shared-drives' sed -i -e 's/FuseMountName=thinclient_drives/FuseMountName=shared-drives/g' /etc/xrdp/sesman.ini # Changed the allowed_users sed -i_orig -e 's/allowed_users=console/allowed_users=anybody/g' /etc/X11/Xwrapper.config # Configure the policy xrdp session cat > /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla <<EOF [Allow Colord all Users] Identity=unix-user:* Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile ResultAny=no ResultInactive=no ResultActive=yes EOF # https://askubuntu.com/questions/1193810/authentication-required-to-refresh-system-repositories-in-ubuntu-19-10 cat > /etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla<<EOF [Allow Package Management all Users] Identity=unix-user:* Action=org.freedesktop.packagekit.system-sources-refresh ResultAny=yes ResultInactive=yes ResultActive=yes EOF
(追記)Firefoxが動かなかったので、環境変数を追加した。
unix.stackexchange.com
sudo vi /etc/xrdp/startwm.sh
#!/bin/sh # xrdp X session start script (c) 2015, 2017, 2021 mirabilos # published under The MirOS Licence # Rely on /etc/pam.d/xrdp-sesman using pam_env to load both # /etc/environment and /etc/default/locale to initialise the # locale and the user environment properly. export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME export $(dbus-launch) export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus" if test -r /etc/profile; then . /etc/profile fi test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession