lpoptions -d ...
启动时,应使用root 运行来全局设置默认打印机。我创建了一个 systemd 服务来执行此操作。有时它可以工作,有时则不行(/etc/cups/lpoptions
未创建文件)。如果我使用 手动重新启动服务systemctl restart ...
,它总是可以工作。所以我怀疑有时在启动过程中过早调用了该服务。这是我的服务文件:
[Unit]
Requires=multi-user.target
After=multi-user.target
Requires=printer.target
After=printer.target
[Service]
ExecStart=/opt/setdefaultprinter.sh
[Install]
WantedBy=default.target
我选择了Require
andAfter
语句,以便让服务尽可能晚地运行。但这似乎还不够。我该如何让服务运行最后的?
解决方法:我最终手动使用该服务添加了默认打印机。语法/etc/cups/lpoptions
很简单,只需输入
Default XXX
其中 XXX 由打印机的名称替换。