Skip to content

Commit

Permalink
Update instructions for installing TS2
Browse files Browse the repository at this point in the history
  • Loading branch information
sdsykes committed Apr 28, 2017
1 parent a5a35c5 commit 2b1f97e
Show file tree
Hide file tree
Showing 7 changed files with 80 additions and 34 deletions.
Binary file added images/csrutil-enable.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/install-from-dmg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/install-plugin.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/plugin-installed.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion shared
Submodule shared updated 2 files
+15 −1 css/totalspaces.styl
+1 −1 layouts/tf-doc.html
45 changes: 45 additions & 0 deletions sip-details.md
@@ -0,0 +1,45 @@
---
layout: ts2-doc
title: What is System Integrity Protection?
subtitle: What is System Integrity Protection?
---

Find [instructions for installing TotalSpaces2 here.](/sipsettings)

TotalSpaces2 versions 2.3.5 and above have support for OSX 10.11 El Capitan and macOS 10.12 Sierra, but cannot be installed on a normally configured machine due to System Integrity Protection (SIP), a new security feature introduced in El Capitan. It must be disabled.

__Starting with version 2.5.4 of TotalSpaces2, you can turn System Integrity Protection back on after you have installed TotalSpaces2 if you wish.__

Here is some information about [what System Integrity Protection is, and what it means to turn it off](https://en.wikipedia.org/wiki/System_Integrity_Protection). Technical details are well covered in [the El Capitan review on Ars Technica](http://arstechnica.com/apple/2015/09/os-x-10-11-el-capitan-the-ars-technica-review/8). Apple also provide [some information here](https://developer.apple.com/library/prerelease/mac/documentation/Security/Conceptual/System_Integrity_Protection_Guide/Introduction/Introduction.html).

If you decide to modify the setting under El Capitan/Sierra, you will be able to install TotalSpaces2. Just to be clear...

<div class="license-desk exclamation">
Your machine may be less secure when System Integrity Protection is not running. It is entirely your decision to modify or temporarily modify the settings.
</div>

## Technical details

TotalSpaces2 works by changing the way the Dock program handles spaces. macOS does not provide any other way to control spaces, this is the only way the functionality of TotalSpaces2 can be achieved.

In order to change some features inside Dock, we use a technique called _code injection_. This means we add some additional code to the Dock program whilst it is running to do what we need. This is relatively safe - in fact we do not change any part of macOS on the disk. You only have to quit TotalSpaces2, and the Dock program will restart and everything will be as if TotalSpaces2 was never running.

However, in El Capitan and later the macOS developers added a feature that disallows this kind of modification _even if you have administrator access_. It will also disallow other kinds of modifications (such as replacing parts of the system on disk).

In order for TotalSpaces2 to be installed, this new feature must be disabled. When you disable SIP and run TotalSpaces2, it installs its plugin component in the location `/System/Library/ScriptingAdditions`. This component usually does not change between TotalSpaces2 versions, and even when you turn SIP back on it will continue to allow TotalSpaces2 to load.

## Uninstallation and SIP

To remove TotalSpaces2 from your system, run the uninstaller found on the [latest dmg download of TotalSpaces2(/changes-beta).

Note that if you have SIP turned on, then the uninstaller will not be able to remove the file in `/System/Library/ScriptingAdditions`. This is not harmful (it won't ever be loaded if you do not run TotalSpaces2), but to be totally clean you should disable SIP and either manually remove it, or run the uninstaller again.

## Upgrading from earlier versions

If you had an installation of TotalSpaces2 using the partially disabled SIP setting that we earlier recommended (`csrutil enable --without-debug`), then you can still upgrade to versions 2.5.4 and above without changing your SIP settings. Everything will continue to work.

However, if you wish to run with SIP enabled, first disable SIP completely as described above, reboot and then install and run TotalSpaces2 2.5.3 or above. After this version of TotalSpaces2 has been run with SIP completely disabled, then you should be able to fully re-enable SIP.

## Further information

You can find some further information [in our original blog post](http://blog.binaryage.com/el-capitan-update).
67 changes: 34 additions & 33 deletions sipsettings.md
@@ -1,28 +1,27 @@
---
layout: ts2-doc
title: Running TotalSpaces2 on El Capitan or Sierra
subtitle: How to run TotalSpaces2 on El Capitan or Sierra
title: Installing TotalSpaces2 v2.5.4 and above
subtitle: How to install TotalSpaces2
---

TotalSpaces2 [versions 2.3.5 and above](/changes-beta) have support for OSX 10.11 El Capitan and macOS 10.12 Sierra, but cannot be installed on a normally configured machine due to System Integrity Protection (SIP), a new security feature in El Capitan.
These instructions apply to [TotalSpaces2 v.2.5.4 and above](/changes-beta) on OSX 10.11 El Capitan and macOS 10.12 Sierra.

This article will tell you how to configure your machine to allow installation by modifying the SIP setting.
TotalSpaces2 requires temporary changes to your security settings to be installed. [Read more about it here.](/sip-details)

__Starting with version 2.5.4 of TotalSpaces2, you can turn System Integrity Protection back on after you have installed TotalSpaces2 if you wish.__
<ul class="steps-list">
<li><a href="#step1">Step 1 &mdash; Turn off System Integrity Protection</a></li>
<li><a href="#step2">Step 2 &mdash; Install and run TotalSpaces2</a></li>
<li><a href="#step3">Step 3 &mdash; Turn System Integrity Protection back on</a></li>
</ul>

Here is some information about [what System Integrity Protection is, and what it means to turn it off](https://en.wikipedia.org/wiki/System_Integrity_Protection). Technical details are well covered in [the El Capitan review on Ars Technica](http://arstechnica.com/apple/2015/09/os-x-10-11-el-capitan-the-ars-technica-review/8). Apple also provide [some information here](https://developer.apple.com/library/prerelease/mac/documentation/Security/Conceptual/System_Integrity_Protection_Guide/Introduction/Introduction.html).
<a id="step1"></a>
# Step 1

If you decide to modify the setting under El Capitan/Sierra, you will be able to install TotalSpaces2. Just to be clear...
##Turn off System Integrity Protection (SIP)

<div class="license-desk exclamation">
Your machine may be less secure when System Integrity Protection is not running. It is entirely your decision to modify or temporarily modify the settings.
</div>
This requires rebooting your maching into recovery mode.

## How to install TotalSpaces2 by turning off System Integrity Protection

We now recommend turning off SIP to install TotalSpaces2, and to turn it back on again after it has been installed. For instructions for TotalSpaces2 versions earlier than 2.5.4, [see here](/elcapitan).

You must boot into the Recovery OS. You do this by restarting your machine, and holding&nbsp;&nbsp; <img src="/images/cmd-r.png" title="cmd-r"> &nbsp;&nbsp;until the Apple logo appears.
Restart your machine, holding&nbsp;&nbsp; <img src="/images/cmd-r.png" title="cmd-r"> &nbsp;&nbsp;down until the Apple logo appears.

Then select Terminal from the Utilities menu. It looks like this:

Expand All @@ -34,37 +33,39 @@ and press return. This turns off System Integrity Protection so that TotalSpaces

<img src="/images/csrutil-disable.jpg">

Reboot your machine and you may install and run the [latest version of TotalSpaces2](/changes-beta).
Choose restart from apple menu (top left).

Once TotalSpaces2 is installed and you have run it for the first time (so it has a chance to install its plugin component), then you may turn SIP back on.
<a id="step2"></a>
# Step 2

To do this, reboot and hold&nbsp;&nbsp; <img src="/images/cmd-r.png" title="cmd-r"> &nbsp;&nbsp;until the Apple logo appears once more. Go to Utilities->Terminal and type
<code>csrutil enable</code>
and press return. Reboot, and you are done.
## Install and run TotalSpaces2

## Technical details
Double click on the DMG file you downloaded with TotalSpace2 in it. Drag TotalSpaces2 into your Applications folder.

TotalSpaces2 works by changing the way the Dock program handles spaces. macOS does not provide any other way to control spaces, this is the only way the functionality of TotalSpaces2 can be achieved.
<img src="/images/install-from-dmg.png">

In order to change some features inside Dock, we use a technique called _code injection_. This means we add some additional code to the Dock program whilst it is running to do what we need. This is relatively safe - in fact we do not change any part of macOS on the disk. You only have to quit TotalSpaces2, and the Dock program will restart and everything will be as if TotalSpaces2 was never running.
Run TotalSpaces2 from your Applications folder. It will ask for your password in order to install its plugin component.

However, in El Capitan and later the macOS developers added a feature that disallows this kind of modification _even if you have administrator access_. It will also disallow other kinds of modifications (such as replacing parts of the system on disk).
<img src=/images/install-plugin.png>

In order for TotalSpaces2 to be installed, this new feature must be disabled. When you disable SIP and run TotalSpaces2, it installs its plugin component in the location `/System/Library/ScriptingAdditions`. This component usually does not change between TotalSpaces2 versions, and even when you turn SIP back on it will continue to allow TotalSpaces2 to load.
When the plugin has been installed successfully, TotalSpaces2 will tell you that you can turn SIP back on.

## Uninstallation and SIP
<img src=/images/plugin-installed.png>

To remove TotalSpaces2 from your system, run the uninstaller found on the [latest dmg download of TotalSpaces2(/changes-beta).
<a id="step3"></a>
# Step 3 (optional)

Note that if you have SIP turned on, then the uninstaller will not be able to remove the file in `/System/Library/ScriptingAdditions`. This is not harmful (it won't ever be loaded if you do not run TotalSpaces2), but to be totally clean you should disable SIP and either manually remove it, or run the uninstaller again.
## Turn System Integrity Protection back on

## Upgrading from earlier versions
Once again restart your machine, holding&nbsp;&nbsp; <img src="/images/cmd-r.png" title="cmd-r"> &nbsp;&nbsp;down until the Apple logo appears.

If you had an installation of TotalSpaces2 using the partially disabled SIP setting that we earlier recommended (`csrutil enable --without-debug`), then you can still upgrade to versions 2.5.3 and above without changing your SIP settings. Everything will continue to work.
Then select Terminal from the Utilities menu.

However, if you wish to run with SIP enabled, first disable SIP completely as described above, reboot and then install and run TotalSpaces2 2.5.3 or above. After this version of TotalSpaces2 has been run with SIP completely disabled, then you should be able to fully re-enable SIP.
In the window that opens, type
<code>csrutil enable</code>
and press return. This turns on System Integrity Protection so your machine is fully protected.

## Further information
<img src="/images/csrutil-enable.jpg">

You can find some further information [in our original blog post](http://blog.binaryage.com/el-capitan-update).
Choose restart from apple menu to complete.

0 comments on commit 2b1f97e

Please sign in to comment.