Xrdp
xrdp は Microsoft の Remote Desktop Protocol (RDP) をサポートするデーモンです。Xvnc, X11rdp, xorgxrdp をバックエンドとして使用します。
目次
インストール
xrdpAUR パッケージ (または開発版を使いたい場合は xrdp-gitAUR) をインストールしてください。これはバックエンドとして、Xvnc のみサポートします。
Xorg backend
To use xorgxrdp instead for the backend, install the xorgxrdpAUR package.
Add allowed_users=anybody
to /etc/X11/Xwrapper.config
to allow anybody to start an X server.
使用方法
xrdp を起動したら RDP クライアントからローカルホストに接続できます (標準の RDP ポートは 3389)。xrdp は小さなメッセージウィンドウを表示します。
sessman-Xvnc を選択した場合、ホストのアカウントのユーザー名とパスワードを指定することができ、xrdp は新しい Xvnc インスタンスを起動します。/etc/xrdp/startwm.sh
にある SESSION リストからウィンドウマネージャが開きます。
セッションウィンドウを閉じて RDP 接続を終了すると、次回 RDP で接続したときは同じセッションにアクセスすることができます。セッションウィンドウからウィンドウマネージャやデスクトップ環境を終了した場合、セッションが終了され、次回は新しいセッションが開きます。
xrdp は既に同じジオメトリのセッションが開かれていないか確認して、ジオメトリ/解像度が一致しない場合は新しいセッションを起動します。
Tips and tricks
Autostart at boot
The xrdpAUR package contains service files for systemd. Enable xrdp.service
.
Graphical acceleration
For Xorg sessions, you can enable OpenGL and Vulkan graphical acceleration by installing xorgxrdp-glamorAUR for Intel and AMD GPUs and xorgxrdp-nvidiaAUR for Nvidia GPUs.
Sound
Install the necessary PulseAudio modules with pulseaudio-module-xrdpAUR.
Running with Vino (GNOME VNC Server for root session)
Enable the server to be seen via vino-preferences. Since vino defaults to port 5900 for connections, we will edit the xrdp configuration file to understand this. Append the vino session to xrdp's configuration file:
/etc/xrdp/xrdp.ini
[xrdp8] name=Vino-Session lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=5900
If you encounter VNC connection errors, it may be because vino-server
defaults to accepting only TLS connections. This must be changed to standard VNC authentication so that xrdp
may connect:
$ gsettings set org.gnome.Vino require-encryption false
You can also restrict vino-server
to only listen on the loopback interface:
$ gsettings set org.gnome.Vino network-interface lo
Remember to restart the xrdp server, and one should be able to connect to the vino session (tested using xfreerdp).