如何在重新启动禁用CUPS服务,systemd?

anc*_*oid 12 cups systemd systemctl

我经常连接到有很多打印机的网络。当打印机发现正在进行时,GNOME 中会弹出许多分散注意力的消息。我很少使用打印机,所以我更愿意在大部分时间禁用 CUPS。CUPS停止工作,并消除烦人的通知:

systemctl stop cups
Run Code Online (Sandbox Code Playgroud)

我想禁用开机。出人意料的是,后禁用

systemctl disable cups
Run Code Online (Sandbox Code Playgroud)

重启后 CUPS 仍然运行。状态命令

systemctl status cups
Run Code Online (Sandbox Code Playgroud)

产生

? cups.service - CUPS Scheduler
   Loaded: loaded (/lib/systemd/system/cups.service; disabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/cups.service.d
   Active: active (running) since Tue 2018-11-06 02:35:50 PST; 11s ago
Run Code Online (Sandbox Code Playgroud)

我预计禁用服务将阻止其在重新启动后运行。激活是否因为预设而发生?我试图用 预设“禁用”状态--preset-mode,但没有用。

我的操作系统是Debian的弹力。

systemctl --version
systemd 232
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN
Run Code Online (Sandbox Code Playgroud)

Jos*_*ris 16

不,由于预设,不会发生激活。

systemctl disable cups 只会阻止它自动启动。

它可能无论如何都已启动,因为其他服务需要它。

这将证实;

systemctl --reverse list-dependencies cups.service

如果是这种情况,那么您也应该评估并禁用这些服务。

或者,如果您不关心影响并希望完全阻止它启动,请将其屏蔽。

systemctl mask cups

  • 谢谢!事实上,cups-browsed.service 需要cups.service,在禁用后者后,CUPS 在重启时停止启动。 (2认同)

fil*_*den 5

cups 包提供了三个 systemd 单元文件:cups.service,cups.socketcups.path.

后两者用于套接字激活和路径激活,即使未启用,最终也会触发服务。

您应该禁用所有三个,以确保不会因重新启动时的套接字或路径激活而启动杯:

systemctl disable cups.service cups.socket cups.path
Run Code Online (Sandbox Code Playgroud)

  • 在我的系统 cups.service 上有 `Also=cups.socket cups.path`。这意味着启用 cups.service 将启用其他 - 而禁用 cups.service 将禁用其他。 (2认同)