Visit Emacsformacosx.com
These advanced steps are primarily for system administrators and others who are familiar with the command line. You don't need a bootable installer to upgrade macOS or reinstall macOS, but it can be useful when you want to install on multiple computers without downloading the installer each time.
Download macOS
Aquamacs is an Emacs for Mac OS X that will feel mostly like an Aqua program - while still being a real GNU Emacs with all the ergonomy and extensibility you've come to expect from this world-class editor. With recent versions of Org-mode (yet, older than version 9 - see edit below), you could use something like the following, that can export to LaTeX as well as to HTML.
Find the appropriate download link in the upgrade instructions for each macOS version:
- macOS Catalina, macOS Mojave, and macOS High Sierra download directly to your Applications folder as an app named Install macOS Catalina, Install macOS Mojave, or Install macOS High Sierra. If the installer opens after downloading, quit it without continuing installation.
To get the required installer, download from a Mac that is using macOS Sierra 10.12.5 or later, or El Capitan 10.11.6. Enterprise administrators, please download from Apple, not a locally hosted software-update server. - macOS Sierra downloads as a disk image that contains a file named InstallOS.pkg. Open this file and follow the onscreen instructions. It installs an app named Install macOS Sierra into your Applications folder.
- OS X El Capitan downloads as a disk image that contains a file named InstallMacOSX.pkg. Open this file and follow the onscreen instructions. It installs an app named Install OS X El Capitan into your Applications folder.
Use the 'createinstallmedia' command in Terminal
- Connect the USB flash drive or other volume that you're using for the bootable installer. Make sure that it has at least 12GB of available storage and is formatted as Mac OS Extended.
- Open Terminal, which is in the Utilities folder of your Applications folder.
- Type or paste one of the following commands in Terminal. These assume that the installer is still in your Applications folder, and MyVolume is the name of the USB flash drive or other volume you're using. If it has a different name, replace
MyVolume
in these commands with the name of your volume.
Catalina:*
Mojave:*
High Sierra:*
Sierra:
El Capitan: - Press Return after typing the command.
- When prompted, type your administrator password and press Return again. Terminal doesn't show any characters as you type your password.
- When prompted, type
Y
to confirm that you want to erase the volume, then press Return. Terminal shows the progress as the bootable installer is created. - When Terminal says that it's done, the volume will have the same name as the installer you downloaded, such as Install macOS Catalina. You can now quit Terminal and eject the volume.
* If your Mac is using macOS Sierra or earlier, include the --applicationpath
argument, similar to the way this argument is used in the commands for Sierra and El Capitan.
Use the bootable installer
After creating the bootable installer, follow these steps to use it:
- Plug the bootable installer into a compatible Mac.
- Use Startup Manager or Startup Disk preferences to select the bootable installer as the startup disk, then start up from it. Your Mac will start up to macOS Recovery.
Learn about selecting a startup disk, including what to do if your Mac doesn't start up from it. - Choose your language, if prompted.
- A bootable installer doesn't download macOS from the Internet, but it does require the Internet to get information specific to your Mac model, such as firmware updates. If you need to connect to a Wi-Fi network, use the Wi-Fi menu in the menu bar.
- Select Install macOS (or Install OS X) from the Utilities window, then click Continue and follow the onscreen instructions.
Learn more
For more information about the createinstallmedia
command and the arguments that you can use with it, make sure that the macOS installer is in your Applications folder, then enter this path in Terminal:
Catalina:
Mojave:
High Sierra:
Sierra:
El Capitan:
Since the upgrade to macOS Catalina, I’ve had two serious annoyances with Emacs. Here’s a little insight into how I fixed them.
Issue 1: I Couldn’t Access Certain Folders
After the upgrade, Emacs was unable to access special folders, like the Documents folder. Microsoft solitaire collection windows 7. This is a ramification of the User Data Protection enhancements that were made in Catalina.
Here’s the gist of why this exists: In a previous version, macOS started displaying user prompts (similar to iOS) to grant application permission for accessing things like contacts, photos, location, etc. These prompts were displayed when using special APIs designated for those purposes.
Alas, there was an easy way to bypass these prompts. Rather than using APIs to, say, access your contacts, you could just read the contact database via the filesystem. Catalina now enforces these permissions at the filesystem APIs, as well. This means that, because it doesn’t even ask for permission, Emacs is simply forbidden from accessing certain files.
Apple did provide an escape hatch: Full Disk Access. You, the user, can provide this privilege to an application, and it is allowed to access all files that your user would otherwise be able to access. It’s pretty easy: Go to the Security section of System Preferences, find Full Disk Access in the list, and then add Emacs:
But…this solution didn’t work. After doing this, I still couldn’t access my documents folder. Solving this is directly related to the second issue that’s been nagging me since the upgrade to Catalina.
Issue 2: Spotlight Can’t Bring Emacs to the Front
I commonly switch between applications on macOS by pressing cmd-space
to bring up Spotlight, then the first few letters of the application name, and finally return. It’s often quicker than finding the icon via cmd-tab
. Unfortunately, this method stopped working, too.
As it turns out, the binary embedded in Emacs.app is…actually not a binary. Instead, it’s a Ruby script. From the script:
Although this never caused problems on prior versions of macOS, here, it is responsible for both of these issues:
USB dongles AES symmetric encryption algorithm up to 4 kilobytes of dongle memory Mutiplatform solution Aladdin licensing system Network version available Real-time clock version available Description: If a previous driver installation had been unsuccessfully attempted, or hassp the driver is being updated to a newer version, run Hinstall with a -r remove argument.All of the above can be done using the devices USB key. Hasp hl 3.25 driver windows 10 free download. Old dongles get broken! Hap the device the user is provided with a distinctive ID aladdin hasp hl 3.25 that belongs to a particular key which can help guard against intellectual property theft as well. If a language option aladdin hasp hl 3.25 given, select your language.They add hundreds of new drivers to our site every day.
- Full disk access does not apply to Emacs because the permissions were not granted to
/usr/bin/ruby
. - Emacs can’t be launched again because it is already running, but the running binary doesn’t actually match the Ruby script. Spotlight gives up.
The Solution
On Catalina, the Ruby script will always choose to launch the bundled binary Emacs-x86_64-10_14
. So, if you simply move it in place of the Emacs launcher script, everything starts working as normal. At the Terminal, just run these commands:
And, with that, Emacs should correctly receive its Full Disk Access permission, and Spotlight will correctly bring it to front (n.b., it’s still required to add Emacs to the Full Disk Access section of the security system preferences).
Note that, because we have been performing surgery on the Emacs app, its code signature is no longer valid. The last command above removes the code signature from the Emacs binary. On my machines, I had no issues. If you can’t launch Emacs after running these commands, try following the steps in this document from Apple.
Conclusion
One final caveat: This works for me using homebrew-cask-installed Emacs version 26.3. In future versions of Emacs, it’s possible that the correct binary might be something other than Emacs-x86_64-10_14
.
If you’ve been plagued by these problems, I hope this post helped.