慢关机在Ubuntu 16.04 LTS上(停止热敏守护程序/运行适配器以使远程CUPS打印机)

在Ubuntu 16.04 LTS进行干净安装后,我发现关机非常慢,与15.10相比。似乎有两个进程在关闭时挂起。启动完全不受影响。按下(esc)后会显示以下内容。要么:
"停止 thermal daemon 服务"挂起,或者 "A stop job is running for remote CUPS printers available locally",之后计时器为1分30秒,然后机器最终关机。
是否有其他人遇到这个问题?这非常奇怪。这两个挂起的原因可能是什么?

请检查我最近的解决方案,因为这个错误已经在cups-filters v1.11.4-1中修复,但尚未在Ubuntu 16.04官方仓库中发布。希望这能有所帮助。 - Xiaodong Qi
7个回答

我发现负责CUPS远程打印机的守护进程是cups-browsed服务。
在关机时,它有1分30秒的超时时间。停止这个服务会使关机过程只需几秒钟。
我在Ubuntu GNOME 16.04上使用以下命令行禁用了它:
sudo systemctl disable cups-browsed.service

我的关机过程将在几秒钟内结束。
我从这个Ask Ubuntu的回答中得到了灵感。

1这对我那个非干净的16.04安装起作用了!:-) - jvriesem
1这种情况已经持续一段时间了,我尝试了一些方法,比如开启或关闭apport等。实际上,这个方法起到了作用,谢谢! - xamox
1这仅适用于下一次关机。不会持久存在。 - Rajesh Paul
我认为如果你真的需要这项服务,完全禁用它并不是解决办法。在我看来,unhammer的回答中给出了解决方案。 - Ali
这是在17.10上工作。 - BenR

如果你依赖网络打印机,你可以让systemd在停止进程时更加积极一些。默认情况下,它会等待最多1分30秒才会强制关闭,但你可以简单地执行以下操作:
$ sudo systemctl edit cups-browsed.service 

和输入

[Service]
TimeoutStopSec=10

将超时时间设为10。然后
$ sudo systemctl daemon-reload 

应该使其生效(或重新启动您的计算机)。

对我来说,这个方法非常有效。

编辑:根据Qi Xiaodong的回答,cups-filters 1.11.4 对此问题进行了修复,所以升级到17.04 Zesty(其中包含cups-filters 1.13.4应该是最简单的解决方法,尽管评论者指出可能仍然需要使用此临时解决方法:(


2我认为2秒就足够了 - pylover
1可能;我自己设定为5。这取决于您想要多保守(例如,如果您点击“打印”然后立即关闭,谁知道是否会因此SIGKILL而中断慢速打印作业 - 另一方面,大多数人可能希望在点击打印后稍等一会再关机)。 - unhammer
这仅适用于下一次关机。不会持久存在。 - Rajesh Paul
Rajesh Paul,这很奇怪;cat /etc/systemd/system/cups-browsed.service.d/override.conf显示的内容和上述相同吗?这也是在Ubuntu 16.04上吗? - unhammer
由于某种原因,这里的“code”格式会将我的一些 / 符号变成垃圾;你可以尝试 cd /etc/systemd/system/cups-browsed.service.d && cat override.conf - unhammer
2根据cups-browsed在Ubuntu 16.04中导致关机挂起/延迟的问题,该问题在16.04中已经修复,但仍然存在挂起的情况。我进行了双重检查,并安装了“修复”包。很奇怪。在我看来,解决方案就是你的答案;它确实对我有帮助。 - Ali
2关于“EDIT”的说明,这在Zesty版本中仍然发生(至少在我的Dell XPS上)。 - ben
2FYI:Eoan 19.10 仍存在问题。 - Enterprise

我遇到了同样的问题。这是在重新安装Ubuntu 16.04之后发生的。经过大量的故障排除,最终我找到了解决方法,即在禁用Ubuntu启动画面后,有一个特定的停止作业正在运行,导致关机变慢。(感谢Alex!)然后我收到了这个错误报告:
a stop job is running for make remote cups printers available locally

然后我尝试了这个:
sudo systemctl stop cups-browsed.service
sudo systemctl disable cups-browsed.service

验证:
sudo systemctl status cups-browsed
sudo systemctl is-enabled cups-browsed

终于成功了!关机现在和以前一样好和快速。(您可以在ec-cwang的博客“烦人的杯子浏览”上找到此故障排除!)
对于那些这个解决方案无效的人来说,这可能很重要:如何查找正在运行的停止作业,请参考Ask Ubuntu上的“如何禁用启动闪屏”。然后,如果您启动Ubuntu,您会看到典型的Linux运行命令标志。如果您关闭Ubuntu,请注意输出。它会在最后显示哪种停止作业拖慢了关机过程。

非常感谢,我会在下次升级时尝试这个方法(目前由于其他问题已经降级回到了15.10版本)。 - ijustupdatednowwhat
很有可能是解决方案,因为在控制台上执行.. stop cups-browsed.service需要很长时间 - phil294
我认为如果你真的需要这项服务,完全禁用它并不是解决办法。在我看来,unhammer的回答中给出了解决方案。 - Ali

我曾经遇到过类似的问题。在检查了一切之后,我发现如果取消勾选“启用无线”(右键点击WiFi图标),然后重新启动,只需要5秒钟。如果保持无线连接的话,关机需要大约1分钟。
我使用的是TP-LINK的USB无线适配器。希望对你有所帮助。

几乎与15.10版本的干净更新后出现了相同的问题。我已经调整了不同的程序/属性,包括尝试安装我的无线打印机。大部分似乎都正常工作,但关机需要超过3分钟。按下F12键会显示无尽的文本循环: OK 开始显示plymouth重新启动屏幕 OK 停止热量守护进程服务。 我能以某种方式获取关机过程的日志吗? 2:问题解决。正确安装打印机后一切正常运行。

我遇到了类似的问题。原来是由于私人互联网访问客户端引起的。我启用了“登录时启动应用程序”的功能。在禁用此功能后,关机几乎立即完成。

到目前为止,与CUPS相关的两个问题--this onethis one应该已经在最近发布的CUPS-filters(v1.11.4+)软件包中得到修复。根据this discussion, 需要安装版本1.11.4-1或更高版本的CUPS-filters。但是,它需要CUPS版本2.2.0+,实际上,在Ubuntu 16.04存储库中,有效的CUPS-filtersCUPS-core版本迄今尚未发布。如果你仍然遇到这个问题,可以尝试从Zesty's repository下载相应的CUPS-filters及其依赖项(包括libcups2cups-ipp-utils等),例如使用this version,然后使用dpkg命令安装下载的deb软件包。
 sudo dpkg -i ~/Downloads/libcups2_2.2.2-1ubuntu1_amd64.deb 
 sudo dpkg -i ~/Downloads/cups-ipp-utils_2.2.2-1ubuntu1_amd64.deb 
 sudo dpkg -i ~/Downloads/cups-filters-core-drivers_1.13.4-1ubuntu1_amd64.deb 
 sudo dpkg -i ~/Downloads/libcupsfilters1_1.13.4-1ubuntu1_amd64.deb 
 sudo dpkg -i ~/Downloads/cups-filters_1.13.4-1ubuntu1_amd64.deb 

我只是给你提供命令行作为一个模板,让你安装依赖项和CUPS-filters deb包。你可以随意从其他地方下载不同版本的软件包(CUPS-filters的版本必须是~>1.11.4)。在你的情况下,你可能需要安装许多其他依赖项,并解决与这些软件包对应的i386和amd64版本之间的不兼容问题。你应该下载所有依赖软件包的相同版本号的软件包。例如,所有链接到cups的相关软件包都应选择具有相同版本号2.2.2-1ubuntu1或其他版本。然后,这些相关的二进制软件包应从同一页的二进制软件包部分下载。如果你发现有两个软件包无法同时配置,不要担心,在安装完所有其他软件包后,你应该能够使用sudo apt update && sudo apt upgrade自动配置它们。
或者,您可以暂时将更新源列表更改为Zesty(Ubuntu 17.04)或最新的发行版,然后使用sudo apt update && sudo apt install PACKAGE安装所需的CUPS软件包,其中您应该将关键字PACKAGE替换为您想要升级到最新版本的软件包的名称。在进行部分升级后,请不要忘记将源列表改回来。但是,如果操作不正确,这种方法可能会导致其他问题。
这是我在我的Ubuntu 16.04上解决此问题的方法。结果可能因人而异。
PS:
1. 如果您的打印作业无法停止,您可以使用cancel -a取消所有打印作业。 2. 如果在上述修复后仍然遇到此问题,请直接向开发人员报告此错误。他们将更详细地研究此问题。

这是否意味着17.04中没有了这个bug,从而使得这些解决方法不再需要? - unhammer
1我还没有尝试过17.04版本,但如果你发现CUPS-filter的版本号比1.11.4更新,那么CUPS的问题应该已经解决了,这样你就不需要再使用临时解决方法了。 - Xiaodong Qi
https://packages.ubuntu.com/zesty/cups-filters 看起来是这样的 =D - unhammer
根据cups-browsed导致Ubuntu 16.04关机挂起/延迟的问题,该问题在16.04中已经修复,但仍存在挂起。我进行了双重检查,已安装了“修复”包。很奇怪。在我看来,unhammer的回答给出了解决方案;这对我有所帮助。 - Ali
我的个人猜测是CUPS可能存在多个问题,或者修复方案并不能真正解决更广泛的情况下的问题。根据我的理解,修复的错误是在计算机验证打印服务后关闭该服务。@unhammer的回答基本上是在关闭计算机时,如果服务仍在运行,则设置一个短暂的关闭时间。我会向开发人员报告这个问题。谢谢! - Xiaodong Qi
好的,问题已经在这里报告了(https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/1703968)。如果上次修复后还遇到此问题的人能够在那里报告,我将不胜感激。谢谢! - Xiaodong Qi

  • 相关问题