macOS: Troubleshooting the Print Client
Introduction
The macOS Print Client is currently in beta. As such, it has a couple of known issues:
- The print client will not run if certain USB storage devices are plugged into the Mac
- The print client does not support Printronix printers via USB; use a network connection
Troubleshooting
The following commands can be copy/pasted into Terminal to take action on the print client.
These commands require Administrator access to the Mac. When using sudo, you'll periodically be prompted for your password in order to escalate your privileges. These commands can also be used in a root shell by omitting sudo.
Please exercise caution when using the terminal, especially with elevated privileges. These commands are safe to run as they are displayed, but ANY variation may damage your system.
Refresh Print Client
sudo launchctl kickstart -k system/com.simplerfid.printclientThe print client (and its updater) are handled as services by launchd in macOS. The above command instructs launchd to refresh the print client by "kickstarting" the process, with -k indicating that the process should be killed if it is already running.
If you receive the error Could not find service "com.simplerfid.printclient" in domain for system, the print client is not installed, or has been manually disabled. Install or re-enable the print client to continue.
Disable Print Client
sudo launchctl bootout system/com.simplerfid.printclient
sudo launchctl bootout system/com.simplerfid.printclient.update
sudo launchctl bootout system/com.simplerfid.printclient.updater.selfupdateThese three commands stop the print client and its updater processes, and unload the services from the system domain. This will prevent the print client from starting or updating automatically.
While not recommended, these commands can also be used independently of each other to control specific components.
Re-enable Print Client
sudo launchctl bootstrap system /Library/LaunchDaemons/com.simplerfid.printclient.plist
sudo launchctl bootstrap system /Library/LaunchDaemons/com.simplerfid.printclient.update.plist
sudo launchctl bootstrap system /Library/LaunchDaemons/com.simplerfid.printclient.updater.selfupdate.plistThese three commands load the print client and updater services back into the system domain, effectively re-enabling them all. Since these services are not currently in the domain, we provide the full path to each service's plist.
After this is complete, launchd will continue launching these services automatically on their respective intervals.
Run Print Client manually
(cd "$(printf '%s\n' /Applications/SimpleRfid/PrintClient.[0-9]* | sort -V | tail -n1)" && ./SimpleRFID.PrintClient)The parentheses start a subshell where we temporarily cd into the target directory, run the command, and then automatically return to the original directory when the subshell exits.
The print client should function exactly the same as if it was started by launchd, except you may be able to see some output from the application, for troubleshooting purposes. If you close the terminal window or press Ctrl-C, the process will terminate.
Uninstall Print Client
: # Unload the services from the system domain
sudo launchctl bootout system/com.simplerfid.printclient
sudo launchctl bootout system/com.simplerfid.printclient.update
sudo launchctl bootout system/com.simplerfid.printclient.updater.selfupdate
: # Delete the plist files defining the services
sudo rm -f /Library/LaunchDaemons/com.simplerfid.printclient.plist
sudo rm -f /Library/LaunchDaemons/com.simplerfid.printclient.update.plist
sudo rm -f /Library/LaunchDaemons/com.simplerfid.printclient.updater.selfupdate.plist
: # Delete the SimpleRfid folder in /Applications containing the print client and updater
sudo rm -rf /Applications/SimpleRfid
: # Delete temporary files
sudo rm -rf "/tmp/Simple RFID"
: # Delete the receipts for previous installs
pkgutil --pkgs | grep com.simplerfid.printclient.updater | xargs -n1 sudo pkgutil --forget
: # OPTIONAL: Delete the Application Support data for the print client
: ## This will require you to contact support to re-attach the station to your
: ## account if you reinstall the print client in the future.
sudo rm -rf "/var/root/Library/Application Support/Simple RFID"These commands should remove any trace of the print client from your system. You can always install the print client again using the installer from the Resources page on the web portal.
Download and install Print Client via command line
: # Download the latest installer from GitHub
curl -L0 -o /tmp/PrintClient.Updater.arm64.pkg https://github.com/simplerfid/printclient-updater/releases/latest/download/PrintClient.Updater.arm64.pkg
: # Run the installer
sudo installer -pkg /tmp/PrintClient.Updater.arm64.pkg -target /These commands download the latest installer and run it from the command line with no GUI.
Depending on your internet speed, your terminal may sit for a while at installer: Installing at base path / while the updater downloads the latest print client files. When the process is complete, you should see installer: The install was successful.