相关疑难解决方法(0)

为什么我的 systemd 用户单元不在启动时启动?

我正在尝试创建一个 systemd 用户单元并让它在系统启动时启动。该服务会手动启动,但不会在启动时启动。

从网上搜索我了解到,为了让用户单元在启动时启动,我应该运行loginctl enable-linger <username>,但这似乎根本没有效果。事实上,手册页说:

       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.
Run Code Online (Sandbox Code Playgroud)

尽管运行此命令,但我的服务并未在启动时启动。

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)

fedora systemd not-root-user services

60
推荐指数
1
解决办法
2万
查看次数

如何自动启动用户 systemd.timer (s)?

我已经设置了几个用户 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)

configuration systemd-timer

7
推荐指数
1
解决办法
5947
查看次数

为什么 systemctlisolatemulti-user.target 只成功一次?

我刚刚在这里被教导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命令。

systemd init

4
推荐指数
1
解决办法
3万
查看次数