我正在尝试使用类似问题的答案来设置用户级服务。我已经创建了所需的文件并重新启动。
我正在取得进展,因为我现在收到“无法获得 D 总线连接:权限被拒绝”,而“无法获得 D 总线连接:连接被拒绝”,但我很困惑,因为我不知道是什么对象它正在尝试访问(文件?套接字?),因此甚至无法检查当前权限。有任何想法吗?
到目前为止,我已经添加了:
loginctl enable-linger userservice
Run Code Online (Sandbox Code Playgroud)
[Unit]
Description=D-Bus User Message Bus
Requires=dbus.socket
[Service]
ExecStart=/usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
ExecReload=/usr/bin/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
[Install]
Also=dbus.socket
Run Code Online (Sandbox Code Playgroud)
[Unit]
Description=D-Bus User Message Bus Socket
[Socket]
ListenStream=%t/bus
ExecStartPost=-/bin/systemctl --user set-environment DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus
[Install]
WantedBy=sockets.target
Also=dbus.service
Run Code Online (Sandbox Code Playgroud)
[Unit]
Description=Test user-level service
[Service]
Type=dbus
BusName=com.wtf.service
ExecStart=/home/userservice/userservice.py
Restart=on-failure
[Install]
WantedBy=default.target
Run Code Online (Sandbox Code Playgroud)
没有在别处添加任何链接...
让它失败:
systemctl --user status
Run Code Online (Sandbox Code Playgroud)
编辑 2018-10-25:
添加export XDG_RUNTIME_DIR=/run/user/$(id -u) …
我有一台使用 certbot/letsencrypt 证书支持 HTTPS 的服务器。
我正在进行一般软件升级,以便最大限度地减少风险和停机时间,我在新服务器上安装新版本,并在其中导入实时服务器数据进行测试。当一切正常后,我将更改 DNS 记录以指向新服务器。
我的问题是我应该怎么办证书?我可以复制现有的并在必要时更新它吗?或者证书是否会不兼容和/或 LE 会抱怨地址在自动续订过程中已更改?LE 对反向 DNS 是否敏感(反向 DNS 工作可能需要更多延迟)。难道还有什么问题是我没有想到的吗?