jon*_*slb 19 networking avahi printing
打印对我来说很困难,因为打印机对话框里满是上百台自动添加的打印机,所以我找不到我想用的,看下面的截图。
打印机来自我的工作网络,显然很多人(我猜包括学生)正在“共享”他们的家用打印机,然后我的笔记本电脑会自动拿起。(巧合的是,我有时会在工作中禁用 avahi-daemon,仅仅是因为它使用了大量 CPU)。
当我转到 时http://localhost:631/printers/,它说有 131 台打印机,它们都是“制造和型号”“本地原始打印机”。有两个例外: 1 是我手动配置的工作中的网络打印机。另一个是我父母的网络打印机,它也是自动添加的,我现在和它在同一个网络上。但其余的只是我真的想避免的垃圾。关于如何做到这一点的提示将不胜感激。
不过,我有一段时间不会回到我的工作地点,所以现在,我只想删除这些打印机(即 129/130 自动添加的打印机)。有没有办法做到这一点?我想我可以通过点击 cups 网络界面来完成,但对于 129 台打印机来说,这有点多。因此,我正在寻找有关如何使用各种脚本实现它的单个命令或提示。
Geo*_*sen 15
使用这个命令:lpstat -a我们可以看到安装的打印机,并确定所需的打印机的名称保持,我们可以使用grep命令还可以筛选结果像这样:lpstat -a | grep <probable_name_of_printer>。
那么这个小脚本可以帮助:
运行此命令以检查是否未列出所需的打印机:
lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
Run Code Online (Sandbox Code Playgroud)
这应该不会返回任何内容,因为它执行以下操作:
lpstat -a: 列出已安装的打印机cut -d" " -f1: 只返回打印机的名称sed -E '/<NAME_OF_PRINTER>/d': 从先前命令的输出中删除要保留的打印机名称grep <NAME_OF_PRINTER>: 确保所需的打印机不在列表中如果以上检查出来;然后运行此命令以删除您不需要的所有其他打印机:
sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
2543 次 |
| 最近记录: |