ntp.service我正在将系统从 14.04 升级到 16.04,我面临着无法启动的问题。
$ sudo systemctl status ntp.service\n\xe2\x97\x8f ntp.service - LSB: Start NTP daemon\n Loaded: loaded (/etc/init.d/ntp; bad; vendor preset: enabled)\n Active: active (exited) since Mon 2017-09-11 12:29:11 UTC; 26min ago\n Docs: man:systemd-sysv-generator(8)\n Tasks: 0\n Memory: 0B\n CPU: 0\n\nSep 11 12:29:11 ip-10-1-1-20 systemd[1]: Starting LSB: Start NTP daemon...\nSep 11 12:29:11 ip-10-1-1-20 ntp[1254]: * Starting NTP server ntpd\nSep 11 12:29:11 ip-10-1-1-20 ntp[1254]: ...done.\nSep 11 12:29:11 ip-10-1-1-20 systemd[1]: Started LSB: Start NTP daemon.\nSep 11 12:29:11 ip-10-1-1-20 ntpd[1372]: proto: precision …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个运行 python 脚本的用户systemctl --user start shadesmathsystemd 服务 - 但是,当我尝试使用, 然后执行 启动服务时systemctl status shadesmath,我得到:
\xe2\x97\x8f shadesmath.service\n Loaded: not-found (Reason: No such file or directory)\n Active: inactive (dead)\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的文件的内容shadesmath.service,它已被放置在~/.config/systemd/user/shadesmath.service具有权限的情况下744:
[Unit]\nDescription=ShadesMath\nAssertPathExists=/home/mikel/bots/mathbot/mathbot\n\n[Service]\nWorkingDirectory=/home/mikel/bots/mathbot/mathbot\nExecStart=/home/mikel/anaconda3/bin/python bot.py parameters.json\nRestart=always\n\n[Install]\nWantedBy=default.target\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试运行systemctl --user enable shadesmath,它创建了到 中的服务的符号链接~/.config/user/systemd/default.target.wants,但是当我尝试启动服务时,这似乎没有改变任何内容。
这是我第一次尝试使用 systemd,所以很可能我做了一些愚蠢的事情,但我不知道问题是什么。任何有关如何设置的指示将不胜感激。我的目标是拥有一个运行此 python 脚本的服务,并在启动时重新运行它/如果脚本完成或崩溃 - 理想情况下我希望这是一个用户服务,因为我不希望它以 root 身份运行。
\n我的 18.04 Ubuntu Ryzen 桌面会在挂起后立即自行唤醒。我已将问题跟踪到 /proc/acpi/wakeup 在启用的服务列表中,有两个服务(标记为它的价值:AS43 和 PTXH),我可以使用以下 shell 命令禁用它们:
sudo -s
echo AS43 > /proc/acpi/wakeup
echo PTXH > /proc/acpi/wakeup
Run Code Online (Sandbox Code Playgroud)
完成此操作后 - 系统仅通过键盘输入从睡眠状态唤醒 - 一切都很好。但是我似乎无法自动化这个过程。
一种解决方案(我对其他人持开放态度)是创建一项服务 /etc/systemd/system/suspendfix.service ,如下所示:
[Unit]
Description=fix to prevent system from waking immediately after suspend
[Service]
Type=simple
ExecStartPre=/bin/sh -c '/bin/echo GPP2 > /proc/acpi/wakeup'
ExecStart=/bin/sh -c '/bin/echo AS43 > /proc/acpi/wakeup'
ExecStartPost=/bin/sh -c '/bin/echo PTXH > /proc/acpi/wakeup'
RemainAfterExit=yes
TimeoutSec=90s
[Install]
WantedBy=sleep.target
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。要么是我的服务脚本不正确,要么是某些东西正在将有问题的 AS43 和 PTXH 翻转回启用状态,而不管此 systemd 服务文件如何。任何帮助,非常感谢!~~
我有几个每月运行的 systemd 计时器:
OnCalendar=monthly
Run Code Online (Sandbox Code Playgroud)
但是,它们将在一天中的同一时间运行。我怎样才能将它们设置为每月凌晨 2 点运行?
daemon-reload - 加载正在运行的指定单元的单元配置文件,以在不停止服务的情况下更改单元文件配置。请注意,这与重新加载命令不同
重新加载 - 加载正在运行的指定单元的服务配置文件,以在不停止服务的情况下更改服务配置。请注意,这与 daemon-reload 命令不同。
这里的单位和服务是什么?例如 apache2.service 是一个服务类型为 的单元。那么上面描述的服务是什么?
主要问题是:
# systemctl status systemd-resolved.service
systemd-resolved.service -
Network Name Resolution Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendor preset: enabled)
Active: failed (Result: resources) since Wed 2021-05-19 11:15:15 UTC; 23s ago
Docs: man:systemd-resolved.service(8)
https://www.freedesktop.org/wiki/Software/systemd/resolved
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
May 19 11:15:15 kv-server systemd[1]: systemd-resolved.service: Service has no hold-off time, scheduling restart.
May 19 11:15:15 kv-server systemd[1]: systemd-resolved.service: Scheduled restart job, restart counter is at 5.
May 19 11:15:15 kv-server systemd[1]: Stopped Network Name Resolution.
May 19 11:15:15 kv-server systemd[1]: systemd-resolved.service: Start request repeated too quickly. …Run Code Online (Sandbox Code Playgroud) systemd菜鸟,在这里。
我inotifywait观察了一个文件夹并在满足条件时运行脚本。我设置了一个systemd服务文件来在启动时作为守护进程运行此脚本,但它以 root 身份运行该脚本。我想知道是否有一种方法可以让服务以当前用户身份运行(而不是在服务文件中指定用户),这样$HOME对于当前用户来说这是正确的,允许我添加任意数量的用户,所有有权访问该脚本的用户。
我读过systemctl --user、 和enable-linger,但老实说我不知道最好的解决方案。
最终,我希望服务能够识别当前用户并以$HOME完整的用户身份运行本地脚本。
我尝试了两种不同的方法但无法安装 systemd
systemd未安装确认:
edward@computer:~$ file /lib/systemd/systemd
/lib/systemd/systemd: ERROR: cannot open `/lib/systemd/systemd' (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
另一个确认:

我正在遵循https://askubuntu.com/a/420979/294611 中提出的方法(针对此问题已关闭,因为重复),但由于某种原因,我的系统无法启动。
Vivid 从新贵切换到 systemd。我曾经将 xfvb 配置为在 updstart 下作为服务运行。现在已经坏了。
在暴发户下,我有/etc/init/xvfb.conf:
description "Xvfb X Server"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [016]
exec /usr/bin/Xvfb :99 -screen 0 1024x768x24
Run Code Online (Sandbox Code Playgroud)
我可以从 sudo service xvfb start
在 15.04 下,当我尝试使用服务启动 xvfb 时,我现在收到此消息:
无法启动 xvfb.service:单元 xvfb.service 加载失败:没有这样的文件或目录。
将 xvfb 配置为作为服务与 systemd 一起运行的新方法是什么?
我正在使用 Kubuntu Wily 15.10(完全升级)。它已经安装了该cryptsetup软件包。
我正在尝试启动 cryptdisks 服务,但我得到了这个:
$ sudo service cryptdisks start
Failed to start cryptdisks.service: Unit cryptdisks.service is masked.
Run Code Online (Sandbox Code Playgroud)
是的,它被掩盖了。
$ sudo systemctl list-unit-files | grep cryptdisks
cryptdisks-early.service masked
cryptdisks.service masked
Run Code Online (Sandbox Code Playgroud)
如果我尝试取消屏蔽该服务,则什么也不会发生。
$ sudo systemctl unmask cryptdisks-early.service
$ sudo systemctl unmask cryptdisks.service
$ sudo systemctl list-unit-files | grep cryptdisks
cryptdisks-early.service masked
cryptdisks.service masked
Run Code Online (Sandbox Code Playgroud)
请注意,systemctl unmask不会返回任何内容。我能做什么?