はじめに
WindowsからLinuxにリモートデスクトップ接続を行った際、ログアウトせずに「リモートデスクトップ接続」プログラムの「×」を押して切断する場合があります。
「xrdp.ini」で「port=-1」に設定していると、接続するたびに空いているポートを使うので新規接続となり、以前のセッションがプロセスに残るのが無駄と思っていたので調べました。
環境
- Debian bookworm - xrdp 0.9.21.1-1
GUIのインストール
ビデオカードがNVIDIA製の場合、OSのインストール時にGUIをインストールすると、GUIが起動したときに液晶モニタが真っ黒になり何も表示されない場合があります。
そのため、以下の方法のいづれかで対応します。
・OSのインストールはGUIをインストールせずに行い、後からGUIをインストールする。
・OSのインストールはGUIで行って画面が真っ黒の場合に「Ctrl + Alt + F1」の3つのキーを同時に押してCUIでログインする。
GUIを後からインストールする場合は下記となります。
sudo apt install task-gnome-desktop sudo apt install xrdp tigervnc-standalone-server
NVIDIAのドライバ
ビデオカードがNVIDIA製の場合で、液晶モニタが真っ黒になり何も表示されない場合に行います。
/etc/apt/sources.listに「contrib non-free」を追記します。
vi /etc/apt/sources.list
deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib non-free
以下のコマンドを実行します。
sudo apt update LINUX_HEADERS=$(uname -r) sudo apt -y install nvidia-driver firmware-misc-nonfree linux-headers-$LINUX_HEADERS dkms sudo reboot
xrdp.iniの設定
Xvncの部分を抜粋しています。
「port=ask-1」に変更します。
[Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 #port=-1 port=ask-1 #xserverbpp=24 #delay_ms=2000 ; Disable requested encodings to support buggy VNC servers ; (1 = ExtendedDesktopSize) #disabled_encodings_mask=0 ; Use this to connect to a chansrv instance created outside of sesman ; (e.g. as part of an x11vnc console session). Replace '0' with the ; display number of the session #chansrvport=DISPLAY(0)
設定の反映
上記の修正を反映させます。
sudo systemctl restart xrdp
テスト
リモートデスクトップ接続して、何かプログラムを起動後に「×」で切断して、再接続します。
前回と同様の状態が表示されれば完了です。
Comments