我正在尝试创建一个 systemd 用户单元并让它在系统启动时启动。该服务会手动启动,但不会在启动时启动。
从网上搜索我了解到,为了让用户单元在启动时启动,我应该运行loginctl enable-linger <username>,但这似乎根本没有效果。事实上,手册页说:
Run Code Online (Sandbox Code Playgroud)Enable/disable user lingering for one or more users. If enabled for a specific user, a user manager is spawned for the user at boot and kept around after logouts. This allows users who are not logged in to run long-running services.
尽管运行此命令,但我的服务并未在启动时启动。
loginctl enable-linger error
Run Code Online (Sandbox Code Playgroud)
那个单位:
$ cat ~/.config/systemd/user/thin\@.service
[Unit]
Description=A fast and very simple Ruby web server
[Service]
Type=simple
EnvironmentFile=/home/error/.config/thin/%i
ExecStart=/usr/bin/bash /home/error/.rvm/wrappers/%i/thin start -a $THIN_BIND -p $THIN_PORT
WorkingDirectory=/srv/www/%i
PrivateTmp=true
[Install]
WantedBy=multi-user.target …Run Code Online (Sandbox Code Playgroud) 我已经设置了几个用户 systemd.timer(s)。
如何让它们自动启动?(在系统启动时或用户登录到 X 会话时)。
在我重新启动系统后(甚至systemctl --user enable在重新启动之前运行,即没有帮助)我没有运行:
~$ systemctl --user enable {rsync_backup1,rsync_another_backup}.timer
~$ systemctl --user list-timers --all
0 timers listed.
Run Code Online (Sandbox Code Playgroud)
在这里,我需要使用以下命令来启动它们:
~$ systemctl --user start {rsync_backup1,rsync_another_backup}.timer
~$ systemctl --user list-timers --all
NEXT LEFT LAST PASSED UNIT
Sun 2016-07-31 13:26:45 CEST 1h 16min ago Sun 2016-07-31 14:43:32 CEST 2s ago rsync_backup1
Sun 2016-07-31 13:26:45 CEST 1h 16min ago Sun 2016-07-31 14:43:32 CEST 2s ago rsync_another_backup
2 timers listed.
~$
Run Code Online (Sandbox Code Playgroud)
以下是当前如何配置计时器的示例:
$HOME/.config/systemd/user/rsync_backup1.service :
[Unit]
Description=rsync --delete /home/USER data to …Run Code Online (Sandbox Code Playgroud) 我刚刚在这里被教导这systemctl isolate multi-user.target是卸载图形外壳的现代方法,这是init 3以前完成的。
我发现它init 3在我的系统中仍然有效,但同样只成功一次systemctl。当您运行一次它们时,就没有问题了——Gnome/KDE 已卸载,您可以startx再次运行。但是,一旦你这样做了,初始化到 3 级就不再起作用了。我在 KDE 中处于第 5 级,至少在我的 Fedora-24 中是这样。只是挂起,直到我用+systemctl杀死它。这是为什么?您注意到同样的行为吗?CtrlC
是的,我从 GUI 终端运行go to multi-user命令。