Tag: macos

  • Running commands as a user when scripting for Munki or Jamf

    Munki and Jamf run as root, so scripts they execute execute as root, not user. One great way around this is to use Outset‘s login scripts (login-once, login-every), but sometimes you may have occasion to actually run a script immediately as the logged-in user. Obviously, you’ll want to get the currently logged-in user into a…

  • Fix for custom user icons freezing up System Preferences

    Even though there is some flexibility in terms of what sizes and resolutions you can use for custom user icons (to select for user pictures), if your icon’s resolution is way off, you may see a frozen blank, grey screen when trying to change the picture from that too-high-res picture to something else: To get…

  • Introduction to Nudge

    What is Nudge? In 2018, Erik Gomez created Nudge, which is open source and has nine other contributors as of this writing. Part of the beauty of Nudge is its simplicity—it doesn’t actually install any updates itself (it does invoke the softwareupdate binary to check for or download Apple software updates, but it doesn’t actually…

  • Forcing updates to Google Chrome using Chrome preferences / a Chrome profile

    Why use Chrome relaunch notification instead of Munki I’m a huge fan of using Munki to patch software on macOS, but Munki is generally polite—it usually won’t kill an application while the user is using it. There is an option in Munki to force an install after a certain date, but that will log the…

  • Setting up Reposado without downloading Apple update pkgs

    Reposado allows you to set up your own local repo of Apple software updates. This can be handy if you want to control the flow of updates (having a testing branch, for example, and then promoting items from testing to production). With Apple deprecating custom catalog URLs in Catalina (they still work for now, though),…

  • Munki hack: force uninstall after a certain date

    Munki has an option to force install by a certain date (specifically, using the force_install_after_date key), but it doesn’t do a force uninstall after a certain date. You can make an item a managed uninstall, which means Munki will uninstall it when possible, but if that requires a logout or reboot, you don’t know when…

  • Using Munki to ignore Catalina upgrade in macOS

    Update: Apple has deprecated the –ignore flag, so this probably will never work again. Apple used to make you go out of your way to download an OS upgrade. Then, Apple started having those OS upgrade installers auto-download to the /Applications folder. Then Apple made it so OS upgrades appeared as regular updates. For Mac…

  • Scripting changing the user picture in macOS

    Sometimes, you may want to programmatically set a default user picture (with the option for the user to change it later to a picture of her own choice). You used to be able to delete the JPEGPhoto attribute and just add in a Picture attribute, but that seems to have broken somewhere between October 2018…

  • Using Santa to block macOS upgrades

    In the past, I’d used a fake installer approach to stop users from upgrading to the newest macOS version. But with macOS 10.14 (Mojave), I started blocking using Santa (see Using Santa to block an .app for more details on general Santa use). It’s likely this Santa-blocking approach also works for High Sierra and Sierra…

  • Using ffmpeg to trim video

    No real tutorial here, just a link to a great resource on this via Stack Overflow: Cutting the videos based on start and end time using ffmpeg Cutting with ffmpeg takes a lot less longer than rendering out via iMovie, and it results in a similarly sized output file instead of a giant one P.S.…

  • Integrating DetectX Swift with Munki

    If you like DetectX Swift and want to integrate it with Munki, this is how I did it. Hat tip to Zack McCauley for doing the heavy lifting, which I’m now building on. I’d recommend you read his blog post first. So instead of having an Outset script or separate Launch Agent, I decided to…

  • Use docklib to manage macOS docks

    docklib instead of dockutil I have a few posts about using dockutil to manage the macOS dock. dockutil is still a valid and working project, but I’m starting to migrate my scripts to docklib instead. Installing docklib The installation instructions for docklib say you can put the docklib.py file in the same directory as the…

  • Upgrading to High Sierra: “You may not install this volume because the computer is missing a firmware partition”

    If you try to upgrade to High Sierra (macOS 10.13) and get You may not install this volume because the computer is missing a firmware partition when trying to select your drive to upgrade, it may be because you’re upgrading on an OWC drive. If you’re using Munki, the error may appear in your /Library/Managed…

  • Parental Controls keeps blocking allowed apps

    If macOS Parental Controls keep blocking allowed apps (both allowed through the checklist in System Preferences and through manually approving via password), deleting the account and recreating it may not be enough to fix the glitch. Instead, try recreating an account with a new name. I’ve found Santa to block things more reliably (or not…