LoginSignup
0
0

x0tigervncserverをsystemdでboot時に起動する設定

Last updated at Posted at 2023-05-20

経緯

実現したかったこと

systemd で boot 時に x0tigervncserver コマンドを自動的に起動して、Windows PCからリモートデスクトップで接続したい。

そうすれば、linuxのデスクトップ上で作業していたことをリモートから引き続き作業できる。
(wiresharkで解析中に中断して別の場所へ移動したときとかに便利)

悩んだこと

複数の日米のサイトで、下記の一行を使って systemd から起動する例として、

ExecStart=/bin/sh -c 'sleep 10 && /usr/bin/x0vncserver -display :0 
 &'

が示されていたのですが、自分の環境ではうまく動作しませんでした。

/home/oralton/.vnc 下のログで

 Geometry:    Desktop geometry is set to 1920x1080+0+0
 XDesktop:    Using evdev codemap
 XDesktop:
 XDesktop:    XTest extension present - version 2.2
 Main:        Listening on port 5900
3NI3X0 New X0tigervnc server 'hoge:0 (oralton)' on port 5900 for display :0.
3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/oralton/.vnc/passwd :0 to connect to the VNC server.
Killing X0tigervnc process ID 4342... Main:        Terminated
 success!

のように、「killing ....」の行で起動直後に終了してしまっていました。

環境

  • 古めのノートPC
  • "Debian GNU/Linux 11 (bullseye)
  • display manager: Gnome (bullseyeインストール時のdefault設定のまま)
  • xrdp 導入済み
  • デスクトップへの autologin 設定済み

解決の要点

  • ExecStart の中で x0tigervncserver & でbackground起動していたのが駄目だったようです。
  • ついでに ExecStartPre を活用して sleep は別の行に記述します。

実践

設定

vim /etc/systemd/system/x0tigervncserver.service に以下を記述しました。

[Unit]
Description=x0tigervncserver (mirroring about disp:0)
After=network.target gdm.service
Requires=gdm.service

[Service]
SyslogIdentifier=x0tigervncserver
Type=forking
User=oralton
Group=oralton
WorkingDirectory=/home/oralton
ExecStartPre=/usr/bin/sleep 30
ExecStartPre=/usr/bin/echo "hello! xrdp!!"
ExecStart=/usr/bin/x0tigervncserver -display :0 -rfbport 5900 -passwordfile /home/oralton/.vnc/passwd

[Install]
WantedBy=multi-user.target

簡単に動作確認

※ xrdpやデスクトップへのオートログインは設定済みです。

このため、

systemctl daemon-reload
systemctl start x0tigervncserver.service
systemctl enable x0tigervncserver.service
reboot

としてから、
Windows PCでリモートデスクトップ接続して動作確認できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0