Arch Linux - 无法使用 systemd 启动 CUPS 服务

Arch Linux - 无法使用 systemd 启动 CUPS 服务

为了在 Arch Linux 中实现打印功能,我安装了 cups、cups-filters 和 hplilp(ghostscript 和 gs-fonts 已安装)。但是,当我尝试使用以下命令在启动时运行 CUPS 服务时:

systemctl enable cups.service

我收到此错误:

Failed to issue method call: No such file or directory

cupsd 也出现了同样的问题。我是不是缺少了需要安装的软件包?为什么我没有 CUPS 服务?

答案1

尽管 Hugues Chabot 提供了一个链接,但该链接中的解决方案后来才出现。因此,我将引用给出更新且简单解决方案的答案:

ArchWiki 写道:对于 cups 2.0.0,服务名称已更改为 org.cups.cupsd.service,而不是 cups.service。此软件包自 2014 年 10 月 31 日起以 extra 形式提供。升级到 2.0.0 版本时,需要手动禁用旧服务,否则 /etc/systemd/system/ 子目录中会留下损坏的符号链接,并且 systemd 会警告不存在的服务。

所以解决方案是:

systemctl enable org.cups.cupsd.service 

答案2

首先,检查 CUPS 是否可以直接启动。

systemctl start cups

如果这个有效,请检查是否/usr/lib/systemd/system/cups.socket存在。如果不存在,这就是问题所在。

/etc/systemd/system/cups.socket使用以下内容进行创建。

[Unit]
Description=CUPS Printing Service Sockets

[Socket]
ListenStream=/var/run/cups/cups.sock

[Install]
WantedBy=sockets.target

然后,安装CUPS服务。

systemctl enable cups

其他可能的解决方法可以参见https://bbs.archlinux.org/viewtopic.php?id=146154

相关内容