mirror of
https://github.com/sunknudsen/privacy-guides.git
synced 2025-02-22 16:53:56 +00:00
123 lines
2.5 KiB
Markdown
123 lines
2.5 KiB
Markdown
<!--
|
|
Title: How to disable CUPS printer job history on macOS
|
|
Description: Learn how to disable CUPS printer job history on macOS.
|
|
Author: Sun Knudsen <https://github.com/sunknudsen>
|
|
Contributors: Sun Knudsen <https://github.com/sunknudsen>
|
|
Reviewers:
|
|
Publication date: 2022-10-29T13:05:18.112Z
|
|
Listed: true
|
|
Pinned:
|
|
-->
|
|
|
|
# How to disable CUPS printer job history on macOS
|
|
|
|
[](https://www.youtube.com/watch?v=eAgfeVNKdoo "macOS stores a copy of everything one prints forever")
|
|
|
|
## Requirements
|
|
|
|
- Computer running macOS Monterey or Ventura
|
|
|
|
## Setup guide
|
|
|
|
### Step 1: clear job history
|
|
|
|
> Heads-up: purges `/var/spool/cups`.
|
|
|
|
```shell
|
|
$ cancel -a -x
|
|
```
|
|
|
|
### Step 2: create `/usr/local/sbin` directory
|
|
|
|
```shell
|
|
sudo mkdir -p /usr/local/sbin
|
|
sudo chown ${USER}:admin /usr/local/sbin
|
|
```
|
|
|
|
### Step 3: create `cups.sh` script
|
|
|
|
```shell
|
|
cat << "EOF" > /usr/local/sbin/cups.sh
|
|
#! /bin/sh
|
|
|
|
set -e
|
|
|
|
if grep -qe '^PreserveJobHistory Off$' /etc/cups/cupsd.conf; then
|
|
exit 0
|
|
fi
|
|
|
|
echo "PreserveJobHistory Off" | sudo tee -a /etc/cups/cupsd.conf
|
|
|
|
sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
|
|
|
|
sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
|
|
EOF
|
|
```
|
|
|
|
### Step 4: make `cups.sh` executable
|
|
|
|
```shell
|
|
chmod +x /usr/local/sbin/cups.sh
|
|
```
|
|
|
|
### Step 5: create `local.cups.plist` launch daemon
|
|
|
|
```shell
|
|
cat << "EOF" | sudo tee /Library/LaunchDaemons/local.cups.plist
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>Label</key>
|
|
<string>local.cups</string>
|
|
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>/usr/local/sbin/cups.sh</string>
|
|
</array>
|
|
|
|
<key>RunAtLoad</key>
|
|
<true/>
|
|
</dict>
|
|
</plist>
|
|
EOF
|
|
```
|
|
|
|
### Step 6: reboot
|
|
|
|
👍
|
|
|
|
---
|
|
|
|
## Want things back the way they were before following this guide? No problem!
|
|
|
|
### Step 1: delete `PreserveJobHistory Off` line from `cupsd.conf`
|
|
|
|
```shell
|
|
sudo sed -i "" "/PreserveJobHistory Off/d" /etc/cups/cupsd.conf
|
|
```
|
|
|
|
### Step 2: delete `cups.sh` script
|
|
|
|
```shell
|
|
sudo rm /usr/local/sbin/cups.sh
|
|
```
|
|
|
|
### Step 3: delete `local.cups.plist` launch daemon
|
|
|
|
```shell
|
|
sudo rm /Library/LaunchDaemons/local.cups.plist
|
|
```
|
|
|
|
### Step 4: reload CUPS
|
|
|
|
```shell
|
|
sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist
|
|
|
|
sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist
|
|
```
|
|
|
|
### Step 5: reboot
|
|
|
|
👍
|