class:: LinuxPlatform
summary:: Linux platform-specific methods
categories:: Platform

description::
This class is available only on Linux, and implements Linux platform-specific methods.

subsection:: Environment variables for Jack
Among other things, this class makes it possible to set some environment variables in your Linux operating system to automate connecting the Jack Audio Server on startup.

See link::Reference/AudioDeviceSelection#Linux:: for more information on this.

classmethods::

subsection:: Setting or finding a terminal emulator
method:: runInTerminalCmd
get or set the preferred command to invoke a terminal emulator when performing link::Classes/String#-runInTerminal::.

If code::nil:: (which is the default), sclang will search for a supported terminal emulator installed on the system, the first time code::runInTerminal:: is called (see link::#*getTerminalEmulatorCmd::).
note:: this setting doesn't persist across sessions ::
argument:: value
a string, which has to necessarily include strong::two:: code::%::. For example:
code::
LinuxPlatform.runInTerminalCmd = "xterm -T % -e %"
::
The first code::"%":: is a placeholder for the window title, and the second is a placeholder for the actual command to be executed. Refer to your terminal emulator's documentation to find appropriate command line flags.

method:: getTerminalEmulatorCmd
scans the system for a supported terminal emulator. This method runs synchronously, and could block other scheduled operations while searching. If you rely on link::Classes/String#-runInTerminal::, it is recommended to run this method before you start scheduling Patterns or Routines, or to set link::#*runInTerminalCmd:: manually.
returns:: command to invoke a terminal emulator, to be used as link::Classes/LinuxPlatform#*runInTerminalCmd::

KEYWORD:: jack,linux
