我已经设置了 systemctl --user,但它不会在启动时激活该服务。
$ cat .config/systemd/user/syncthing.service
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %u
Documentation=man:syncthing(1)
After=network.target
[Service]
Environment=STNORESTRART=yes
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-success
[Install]
WantedBy=default.target
当我这样做时enable
-我得到了创建的符号链接:
$ systemctl --user reenable syncthing.service
Removed /home/efim/.config/systemd/user/default.target.wants/syncthing.service.
Created symlink /home/efim/.config/systemd/user/default.target.wants/syncthing.service → /home/efim/.config/systemd/user/syncthing.service.
但当我登录系统后,服务没有运行,并且journalctl
$ systemctl --user status syncthing.service
● syncthing.service - Syncthing - Open Source Continuous File Synchronization
Loaded: loaded (/usr/lib/systemd/user/syncthing.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:syncthing(1)
我想在启动时设置同步。
WantedBy=multi-user.target
最初,我在启动时执行了 systemctl ,但失败了 - 可能是因为无法访问加密的主目录/etc/systemd/system/[email protected]
我遇到了与这里描述的类似的问题:https://bugs.archlinux.org/task/42103
所以我尝试创建一个 --user 服务,但还是不行。如果我这样做,systemctl --user start syncthing.service
它会启动并运行,但启动时什么也没发生。
请帮助我进一步解决这个问题。
我在某处看到过建议检查
$ systemctl --user list-dependencies default.target
default.target
● ├─syncthing.service
● ├─ubuntu-report.path
● └─basic.target
● ├─paths.target
● ├─sockets.target
● │ ├─dbus.socket
● │ ├─dirmngr.socket
● │ ├─gpg-agent-browser.socket
● │ ├─gpg-agent-extra.socket
● │ ├─gpg-agent-ssh.socket
● │ ├─gpg-agent.socket
● │ └─snapd.session-agent.socket
● └─timers.target
这里除了syncthing.service
灰色之外都是绿色,看起来像“没有错误”,只是“未启动”
答案1
未找到合适的解决方案。在 XMonad 中向我的启动钩子
添加了命令
systemctl --user start syncthing.service