为了在 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。