Contact Support

Controlling the Session Environment

The session environment determines how Apps contained within Sessions behave. For example, you might want to control how an application launches using command line arguments, set some environment variables, or run a Python script on launch.

You can make simple changes to the default environment using application Launch dropdowns on the Apps page, but the Athera Init scripting process allows you to tailor the session environment to suit your needs using init.sh files.

Using the Apps Page

Individual Apps on the Apps page include dropdowns to the right of the Launch button that allow you to make changes to how the application runs within sessions.

1.   Click the Context page in the Athera dashboard and select the required Context.
2.   Click the Apps page to display a list of Apps for that Context.
3.   Click the cog icon on the required App.

The App Config dialog displays.

4.   Enter the command line Arguments you want the App to apply at start-up. In the Nuke example above, you might enter the following to run in Safe Mode:

--safe

Or you could request that Nuke load a script on start up:

/data/org/CoolFX/myNukescript.nk

Note:  You can disable Athera Init for this App by checking Disable init. See Using Athera Init for more information.

5.   Click Continue to return to the Apps page.
6.   Click Launch to start the App Session as normal.

Using Athera Init

Athera Init gives you greater control over your session environment than the Apps page using init.sh files. When a Session starts, the current Context defines the storage view available to the Session. The root of each available storage location is checked for an .athera directory, and then for an init.sh file within that directory. For example, if the current Context is CoolFX | SciFi Movie, the directories checked are:

/home/<username>/

/data/org/CoolFX/

/data/project/SciFi Movie/

If you had Dropbox connected and a GCS bucket attached to this Context, these directories are checked as well:

/data/dropbox/

/data/gcs/<bucket_name>

The current Context could also include Team, S3, and AzureBlob storage locations.

If an .athera/init.sh file is found in any of these locations, it is executed when the Session starts, but before the App is launched enabling you to control certain aspects of the application, such as running a Python script or enabling environment variables.

Note:  A Context can have multiple nested roots, and each one can have an .athera/init.sh script, so many such scripts can be invoked by Athera as part of launching the sessions. The order in which these scripts are executed is undefined.

Athera Init Examples

To set an environment variable to change Nuke's temp directory to a location specific to the current user:

Note:  Use a plain text or source code editor, such as Brackets, to create and edit init.sh files. Control characters inserted into init.sh files by some word processing packages cannot be interpreted on Linux, which can cause Apps to fail.

1.   Create .athera/init.sh in your home directory, if it doesn't already exist.

/home/<username>/.athera/init.sh

2.   An example init.sh file might appear as follows:

echo "ATHERA INIT $(pwd)" env export NUKE_TEMP_DIR=/home/<username>/my_nuke_temp

To load a set of plug-ins specific to a Project:

1.   Create .athera/init.sh in the Project Context, if it doesn't already exist.

/data/project/Scifi Movie/.athera/init.sh

2.   An example init.sh file might appear as follows:

echo "ATHERA INIT $(pwd)" env export NUKE_PATH=$NUKE_PATH:/data/project/SciFi Movie/plugins

Note:  If you launch a Session from the Apps page and Edit Run Parameters > Disable init is active, your init.sh files are ignored for that Session. See Using the Apps Page for more information.