ユニットファイルは手動で起動すると動作します。systemctl --user enable
ユーザーがログインした後、サービスは自動的に開始されません。
ユニットファイル
[Unit]
Description = VNC Duplicate Display RDP
After = default.target
[Service]
Type = simple
ExecStart = /opt/tigervnc/usr/bin/x0vncserver -passwordfile /etc/.vncpasswd -display :0
TimeoutSec = 30
RestartSec = 10
Restart = always
[Install]
WantedBy = default.target
デバイスを再ロードして再度有効にしました。
$ systemctl --user daemon-reload
$ systemctl --user reenable x0vncserver
状態
ユーザーログイン後の状態
● x0vncserver.service - VNC Duplicate Display RDP
Loaded: loaded (/usr/lib/systemd/user/x0vncserver.service; enabled; vendor preset: enabled)
Active: inactive (dead)
目標ステータス
$ systemctl --user --type target
UNIT LOAD ACTIVE SUB DESCRIPTION
basic.target loaded active active Basic System
default.target loaded active active Default
paths.target loaded active active Paths
sockets.target loaded active active Sockets
timers.target loaded active active Timers
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
5 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
手動起動
$ systemctl --user start x0vncserver
$ systemctl --user status x0vncserver
● x0vncserver.service - VNC Duplicate Display RDP
Loaded: loaded (/usr/lib/systemd/user/x0vncserver.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2017-08-07 18:27:00 IST; 5s ago
Main PID: 2999 (x0vncserver)
CGroup: /user.slice/user-1004.slice/[email protected]/x0vncserver.service
└─2999 /opt/tigervnc/usr/bin/x0vncserver -passwordfile /etc/.vncpasswd -display :0
Aug 07 18:27:00 Machine systemd[930]: Started VNC Duplicate Display RDP.
Aug 07 18:27:00 Machine x0vncserver[2999]: Mon Aug 7 18:27:00 2017
Aug 07 18:27:00 Machine x0vncserver[2999]: Geometry: Desktop geometry is set to 1920x1080+0+0
Aug 07 18:27:00 Machine x0vncserver[2999]: Main: XTest extension present - version 2.2
Aug 07 18:27:00 Machine x0vncserver[2999]: Main: Listening on port 5900
引用する
私は周りを見回して同様の問題を抱えているユーザーを見つけましたが、提案された解決策のどれも私の問題を解決しませんでした。
- https://stackoverflow.com/questions/39871883/systemctl-status-shows-inactive-dead
- https://bbs.archlinux.org/viewtopic.php?id=170344
- Systemdデバイスがロードされたが非アクティブ(凍結)されたのはなぜですか?
- https://github.com/systemd/systemd/issues/4301
- https://github.com/systemd/systemd/issues/2690
- https://superuser.com/questions/955922/enabled-systemd-unit-does-not-start-at-boot
修正する
特定のユーザーにとってこれが起こりました。systemctl --user enable
少なくとも同じデバイス上の他のユーザーには機能します。
ベストアンサー1
私は同じ問題があり、それを解決した方法は次のように使用することでした。
#!/bin/bash
/usr/bin/x0vncserver -PasswordFile=/home/luserid/.vnc/passwd -display=:0
そうでなければそうです-display=:0
。