-
Help Center home
-
Product manuals
-
Release notes
-
System requirements
Contents
Starting the Client on macOS with Launchd
Last updated February 24, 2026
Contents
NOTE: If you’re after further information on the PaperCut User Client with macOS, check out the PaperCut the PaperCut manual page.
Why Launchd?
For recent macOS versions, launchd is the most practical approach to launching the PCClient.app as a sys admin managing multiple computers. As Apple has begun to focus heavily on securing root access to systems Login Hooks have been deprecated in favor of LaunchDaemons and LaunchAgents and have safer, less wide-reaching system access.
For an in-depth guide to launchd and how it operates you may wish to peruse http://launchd.info which is a human-readable guide for writing, configuring, and maintaining launchd guides.
Setting up Launchd:
Please note: Before rolling out your PCClient.app launchd plist it is highly recommended that you test it on either a macOS VM, a dedicated testing workstation, or the Mac of a user who is a willing guinea pig.
Also, the supplied launchd plist is best suited for Macs that do not leave your network, i.e. iMacs, Mac Pros, and Mac Minis that are primarily stationary. If you are looking for a solution better suited to portable Macs like MacBooks, MacBook Airs, and MacBook Pros please see the advanced configuration section below.
Process
-
Log in to the test Mac as user with Administrator access.
-
Download our basic launchd plist here:
- For PaperCut NG/MF version 24 and earlier: PaperCut_LaunchD.zip
- For PaperCut NG/MF version 25 and later: PaperCut_LaunchD_v25.zip
- Note: these plist files assume that PCClient.app is stored in
/Applications/, if this is not the case please skip to Advanced Configuration Options below.
-
Copy the enclosed com.papercut.client.plist to
/Library/LaunchAgents/ -
Next we’ll be opening Terminal.app to verify the permissions are correct on the plist to ensure launchctl will be able to operate the plist. If you are unaccustomed to using Terminal you can copy and paste the following commands in.
cd /Library/LaunchAgents/sudo chown root:wheel com.papercut.client.plistsudo chmod 644 com.papercut.client.plist -
Next we’ll verify that the permissions for the file are correct:
ls -lah com.papercut.client.plistThe output should look like:
-rw-r--r--@ 1 root wheel 458B Jul 29 2014 com.papercut.client.plist -
Reboot the Mac to verify that the launchd job is functioning as expected, or in Terminal.app run the following:
launchctl load /Library/LaunchAgents/com.papercut.client.plist
Advanced Configuration Options:
-
If PCClient.app is not stored under
/Applications/you can edit com.papercut.client.plist to reflect the appropriate path to PCClient.app by updating the following line<string>/Applications/PCClient.app/Contents/MacOS/PCClient</string> -
Suggestions for MacBook Airs/MacBook Pros:
As these Macs are highly likely to encounter situations where they may be outside of the range of your PaperCut server it is highly recommended that you modify com.papercut.client.plist by replacing “KeepAlive” with “RunAtLoad” as this will open PCClient.app at the time of user login and allow for application closure. “KeepAlive” ensures that PCClient.app is always running. -
If you encounter Java errors or PCClient.app errors out at launch you can replace the following in the com.papercut.client.plist
<string>/Applications/PCClient.app/Contents/MacOS/PCClient</string>with
<string>open -g -W /Applications/PCClient.app/</string> -
For environments with automated deployment and configuration using Munki, Casper or similar, see PaperCut Client Deployment using Mac Packaging & Deployment Tools .
M1 & Intel-based macOS - PCClient app greyed out:
We have reports on installation of the PCClient by an administrator on M1 & Intel-based macOS devices, additional steps may be required for users to successfully run the PCClient app.
-
Copy the
com.papercut.client.plistto theLaunchAgentsfolder (if you are using this) andPCClient.appto the MacApplicationsfolder as normal. -
Open Terminal:
cd /Library/LaunchAgents/sudo chown root:wheel com.papercut.client.plistsudo chmod 644 com.papercut.client.plistxattr -cr /Applications/PCClient.appsudo chmod -R 755 /Applications/PCClient.appsudo xattr -dr com.apple.quarantine /Applications/PCClient.app
When run in that order, all accounts that log into that mac should now load the PaperCut Mac Client without any issues.
Launchd plist contents (version 24 and earlier)
The above-linked .zip file contains com.papercut.client.plist, which is the following XML information:
<?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>com.papercut.client.agent</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/PCClient.app/Contents/MacOS/JavaAppLauncher</string>
</array>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Launchd plist contents (version 25 and later)
The above-linked .zip file contains com.papercut.client.plist, which is the following XML information:
<?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>com.papercut.client.agent</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/PCClient.app/Contents/MacOS/PCClient</string>
</array>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Category: How-to Articles
Subcategory: User Client
Keywords: launchd, client, login hook
Comments