Tag Archives: MacOS Mojave

enable duplex printing

Our Student Users don’t have admin rights. So it was necessary to adapt the [UsedPrinterName].ppd file. And set the Value from  DefaultAPOptionalDuplexer: False to True.

magic:

sed -i '' 's/*search_string/*replace_string/g' /path/to/file.extension

-i ”” edit the changes into the same file (there is a blank between -i  and the double empty quote!

############ change duplex 
Printer_X=$(less /private/etc/cups/ppd/Printer_X.ppd | grep "*DefaultAPOptionalDuplexer: False")

    if [ "$Printer_X" == "*DefaultAPOptionalDuplexer: False" ] 
    then
        echo "change Printer_X to duplex"
       	sed -i '' 's/*DefaultAPOptionalDuplexer: False/*DefaultAPOptionalDuplexer: True/g' /private/etc/cups/ppd/Printer_X.ppd
    else
    	echo "not needed"
    fi
############ 

AppleShowAllExtensions

I use this within a login script triggered with Jamf (Loginhook). This was the only working solution I have found to enable in school lab environment.

#!/bin/bash
CURRENTUSER=$(/usr/bin/python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "\n");')
su "$CURRENTUSER" -c "defaults write /Users/ws/Library/Preferences/.GlobalPreferences AppleShowAllExtensions -bool true" 
su "$CURRENTUSER" -c "killall Finder"

Tested on MacOS 10.14.5 / 10.14.6