Monday, 19 October 2015

Icon Changing in El Capitan

I have a couple of automator actions that I use to wrap up a command line.  Specifically I use:

'...<path to binary>Firefox.app/Contents/MacOS/firefox-bin' -P JR02 -no-remote >/dev/null 2>&1 &

as a shell script to fire up firefox automatically using another profile. 

When I copied this action across to El Capitan, the icon didn't migrate.  This is what I needed to do to change the icon back to a copy of the firefox icon.


  1. Find the original Firefox application and then right click and 'Get Info'
  2. At the top left of the Info window is the icon.  Click on this (it will then have a blue border around it) and press CMD-C to copy the icon.  You can't right click.
  3. Right click on the new copy and 'Get Info'.  Click on the same place on the window, but  press CMD-V to paste the new icon in.




  4. Now close the Get info windows.  You'll notice that the icon hasn't changed.  At this point it would have under Yosemite, so you need to fool the system.  You do this by just copying the icon and the new copy has the new icon in it.  I do this by pressing Alt/Option, clicking on the icon of the app and dragging it.  You'll see the green "+" showing a copy is being made and when you release, the copy will have the updated icon.  Now, just delete the original and rename the copy.


Monday, 5 October 2015

Dtrace broken under El Capitan

One of the tools that I use quite a lot in debugging in 'dtrace' and the various utilities that use it.  e.g. open snoop, iotop and a few that I wrote myself.

With the GA of El Capitan, any utility that resides in a system directory cannot be traced by dtrace, which is a bit of a problem.  I was wanting to see what open system calls the Photos app was using and came across this.


I know I could have used some other Mac utilities (fs_usage, sc_usage etc.) but I'm showing my Solaris roots here and still wanted to use dtrace.


Fortunately there looks to be a way of enabling dtrace:

  1. Reboot the mac
  2. Hold ⌘R during reboot
  3. From the Utilities menu, run Terminal
  4. Enter the following command
csrutil enable --without dtrace

Note, that when doing so I got the following warning:
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
I'll live with it just now.
Also changed the boot delay on the VMware machine by bios.bootdelay = 20000 in the vmx file.

Photos Migration to El Capitan

Well, that was easy.

Just drag the 'Photos Library,photo library' file from the old Mac to the new one and start Photos on the new Mac.  Wait for the import and ensure that the preferences are set the way that you want and it works.

I could have downloaded the library from iCloud, but that wouldn't have imported the Faces (as far as I know) and also taken much longer.

Also, seeing "Updated Just Now · Unable to Upload 96 Items"  - don't know what that's all about, but I'll look into it.

Updated 7th Oct
It looks like the issue was the way that I coped the photo library over.  I used the VMware Shared folders on the Virtual Mac to connect to the Pictures folder and copy the library across.  I then closed Photos, Moved the current library to the trash and then emptied the trash.  Then I connected via AFP to the directory on my real mac and copied the library over.  At this point, the "Unable to Upload 96 Items" has gone and the libraries are in sync.



Sunday, 4 October 2015

iBooks migration to a new OS

As per my previous post, I'm in the process of a very methodical upgrade to El Capitan via a new install and manual migration on a VM.  One of my issues was that I want to keep various installed programs with their respective data complete.  e.g. Mail, iBooks, iTunes etc. iBooks looked like it was going to be a problem, as I want to keep my collections and metadata on the new OS.

After quite a few failed attempts, I have a process that worked for me.



  1. On my destination Mac in the VM
    • Hold down the option key and select Go >> Library from the Finder menu.  Move the following items, if they exist, to the Trash
    Cookies/com.apple.ibooks.cookies
    Preferences/com.apple.ibooks.plist
    Containers/com.apple.iBooksX
    • Move the following item to the desktop.  Don’t move it to the Trash
     Containers/com.apple.BKAgentService


  2. Then, restart the Mac.

  3. Don’t open iBooks.

    After restarting, copy the folders that were deleted/moved in the previous step from the source Mac to the destination Mac.  I mounted my home directory as a shared folder in the VM and then copied the files across with the finder.  This seemed the easiest for me and it did work.

    Don’t open iBooks yet.



  4. Now restart the VM Mac.
After this final restart, iBooks can be opened, and it should be the same as the original Mac, down to the window size and position.

There may be steps where you can skip the reboot of the Mac and/or moving of files, but this method is the one that finally worked for me.

Migration to El Capitan

This time around, I wanted to install a new OS from Apple as a pristine version and install/migrate my apps across as needed.  My current idea is to do this using the following method:
  1. Create a virtual machine under Fusion 8 with 800G of disk space and install El Capitan on it as a new OS release.
  2. Personalise it as if it were a new machine with iCloud accounts etc.
  3. Migrate any new software across via installs and not using the migration assistant.
  4. When happy, attach an external disk and create a time machine backup.
  5. Install El Capitain on by main partition, and the use migration assistant to migrate from my virtualised machine.
Of course, I will be having extra backups around of my original machine, in case things go worng (sic) backed up via Carbon Copy Cloner and Time machine, so if it all goes pear-shaped, I'll be able to revert to a working Yosemite build and then try again.

I'll be posting any issues that I have as I encounter them with, hopefully, the resolutions.