
這可能已經被回答過,但如果有的話,我的 google foo 還不夠強大,無法找到它。我正在運行 TightVNC 伺服器,並且希望多個用戶連接到它。我發現可以使用 init.d 的舊版運行等級來執行此操作,但不能使用 systemd。
我一直在嘗試創建一個帶有參數的系統服務來為不同用戶啟動該服務,而不是擁有一個由他們負責執行的用戶特定腳本,因為我想控制端口和執行。
我想出了下面的內容,但是 if 語句不起作用。有沒有一種方法可以讓我獲得這樣的單一服務?或者我需要為每個用戶複製它們?
謝謝。
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
if [ 1 == %i]; then
User = user1
Group = user1
WorkingDirectory=/home/user1
PIDFile = /home/user1/.vnc/%H:%i.pid
elif [2 == %i]; then
User = user2
Group = user2
WorkingDirectory=/home/user2
PIDFile = /home/user2/.vnc/%H:%i.pid
fi
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target