systemctl --user 不会在启动时加载,尽管手动“启动”运行良好

systemctl --user 不会在启动时加载,尽管手动“启动”运行良好

我已经设置了 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

相关内容