Hello,I just purchased a laptop. When I transfer my macros to a new Mac as part of the migration process using Time Machine and intend to use both (desktop and laptop), do I run the terminal commands
defaults delete com.stairways.keyboardmaestro.engine MacUUID
defaults delete com.stairways.keyboardmaestro.engine MacRemoteUUID
On both Macs or just the laptop ?
Thank you very much !
I don’t know the answer to your question, but I do wonder if this is what you should do.
As far as I understand you will end up with two separate installations that this will not sync changes from one to the other.
I suggest you look at syncing your macro’s between your machines. That will keep your macro’s in sync between your laptop and desktop.
Just the new Mac, as per this page on the Wiki.
I'd agree with @fap that, generally, syncing is the better way to go. But, IIRC, you have a lot of Named Clipboards (and possibly Globals) that won't be transferred by syncing so a full migration is probably in order. Remember to Quit both KM Editor and KM Engine before you start!
Just the new Mac, and only if you have migrated from the old Mac but intend to keep using the old Mac.
It ensures that Keyboard Maestro considers the two Macs different (for purposes like syncing, remote triggers, and various others things).
You can then set up Macro Syncing if desired to keep your macros in sync.
I wonder why it is a user’s responsibility to make sure that KM’s sync can tell Macs apart.
Macs can be differentiated by MAC address or by checking for the serial number using ioreg. Could the sync mechanism not leverage unique factors such as those?
No doubt there are sound reasons why that sort of check is not carried out within KM but I am curious… Expecting users to know about, and remember to execute, those terminal commands seems a little onerous within the context of an automation app! ![]()
Or even the "Hardware UUID", as seen in System Information.
But...
If my machine dies and I restore to another using my TM backup, I want KM to treat it as the same machine for most purposes. I don't want this laptop to be "different" if Apple have to replace the logic board, or if I use a different ethernet adapter (MAC), etc. So it kinda makes sense to have a separate "KM identifier".
That’s effectively a new computer inside an old case, isn’t it?
But yes, what I had in mind was not that KM would somehow always be able to tell what the situation was, but that it could note a previously unrecorded value for a hardware factor and query the user about syncing before doing so. If KM detects a previously unknown hardware configuration, ask the user what to do—and depending on a yes/no response, KM could reset the UUID before synchronising.
Of course, for all I know, there may be reasons why that would not be worth implementing in KM’s code… but in principle it seems feasible to me.
Sure, Keyboard Maestro could poke around in the internals and try to determine if it is suddenly running on a new Mac, and if so, prompt the user for whether it is a new Mac and whether the old Mac is still being used and what to do about it.
But I don't like poking around in the internals if I can avoid it. And generally if you migrate your Mac to a new Mac you dispose of your old Mac so there i no issue.
The issue only happens if you migrate to a new Mac but also want to keep using your old Mac.
Thanks for sharing your perspective as developer. That satisfies my curiosity!
As someone who often finds old Macs to be useful, I was surprised to read that… but yes, it makes sense in the case of most users, especially those who are primarily laptop users… Yes, that’s the vast majority, isn’t it… ![]()
thank you very much @peternlewis @Nige_S @kevinb @fap for your posts. My profuse apologies for the delay: something unexpected came up.
I have a desktop and now a laptop.
After giving it some thought, sync makes me nervous because of the perhaps unfounded fear of corruption in my desktop which i would like to avoid at all costs.
It is really quite simple to do manually by creating a sync file on the desktop → copy paste file in to laptop → KM quit editor and engine in laptop → sync laptop with existing.
One problem is that named clipboard, favorites etc don’t follow. So, what would be the next step or an alternative to include them ?
thanks again very much
If it helps at all: I have found local syncing with SyncThing to be safe and reliable, and its file versioning options provide flexibility in how long old file versions will be kept around (of course, backing everything up at least once a day is a vital extra safeguard anyway).
I will have a look. Thank you very much
I do find the setting up of new folder sync in SyncThing to be rather unintuitive and a bit confusing; you might need to be patient while figuring it all out!
OK. I will keep in mind. thanks again very much
I just found another use for an old intel mac I had in storage: to backup the many iPhones and iPads in my family which takes up a huge amount of disk space.
Hi @ronald ,
I’m a happy user of both a Mac Studio at home and a MacBook Pro on the road, using Dropbox to sync my KM. Works like a charm, never had corruption issues, and running like this (a desktop and a laptop) for six years now (first an M1 Mac Mini and an Intel Macbook Pro). So moving, changing, syncing… Just works.
It is definitely a good thing to make your macro’s as hardware independent as possible, e.g. no hardcoding of screen dimensions etc. I’m using KM now for I don’t know how long and it has gone through several generations of Macs without changing 99,9% of the macro’s. And if you do need to differentiate, there are easy ways to determine on which Mac you are.
Another thing - I’ve set up Dropbox to sync my complete MacBook Pro user section to the Mac Studio, so basically I’m working in close to identical environments no matter where I am. I can recommend it.
Cheers –Mike
thank you very much Mike. May I ask you to detail how you do this ? I have a Dropbox folder in documents and can’t imagine how I would incorporate the KM configuration files in the library.