更新 vnc/create_vnc_autostarrt.sh
This commit is contained in:
@@ -81,6 +81,7 @@ while IFS=':' read -r username password; do
|
||||
#[Install]
|
||||
#WantedBy=multi-user.target
|
||||
# 写入专属的 systemd 服务配置
|
||||
# 写入专属的 systemd 服务配置
|
||||
cat <<EOF > "$SERVICE_FILE"
|
||||
[Unit]
|
||||
Description=Remote desktop service (VNC)
|
||||
@@ -88,11 +89,15 @@ After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
|
||||
# Clean any existing files in /tmp/.X11-unix environment
|
||||
# 核心修复点 1:除了常规 kill,强制移除残留的 X 锁文件和套接字
|
||||
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :$DISPLAY_NUM > /dev/null 2>&1 || :'
|
||||
ExecStartPre=/bin/sh -c 'rm -f /tmp/.X11-unix/X$DISPLAY_NUM /tmp/.X$DISPLAY_NUM-lock'
|
||||
|
||||
ExecStart=/usr/sbin/runuser -l $username -c "/usr/bin/vncserver :$DISPLAY_NUM"
|
||||
PIDFile=/home/$username/.vnc/%H$DISPLAY_NUM.pid
|
||||
|
||||
# 核心修复点 2:修复 PIDFile 路径拼接(通常格式是 hostname:display.pid)
|
||||
PIDFile=/home/$username/.vnc/%H:$DISPLAY_NUM.pid
|
||||
|
||||
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill :$DISPLAY_NUM > /dev/null 2>&1 || :'
|
||||
|
||||
[Install]
|
||||
|
||||
Reference in New Issue
Block a user