> ## Documentation Index
> Fetch the complete documentation index at: https://syteca.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Install Linux Clients

> Install the Syteca Linux Client locally from the command line using the SytecaLinuxClient.tar.gz installation package. Supports default monitoring parameters, custom monitoring via an INI file, and SELinux-enabled endpoints with automatic variant selection.

## One installation script, three flavors of monitoring parameters

The Syteca Linux Client is installed locally from the command line on each Linux endpoint. Linux Clients do not support remote installation via the Management Tool the way Windows Clients do; every Linux endpoint is installed from its own Terminal.

The same `SytecaLinuxClient.tar.gz` archive is used across all variants. What differs is how monitoring parameters are supplied to the `install.sh` script:

| Variant                                           | Monitoring parameters                                                                | When to use                                                                                         |
| ------------------------------------------------- | ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| **Default parameters via command-line arguments** | Server name and port passed on the command line                                      | Small deployments, one-off installs, or evaluations. Simplest procedure.                            |
| **Custom parameters via INI file**                | Server name, port, and other parameters read from an INI file bundled in the archive | Bulk deployments where administrators want a consistent Client configuration across many endpoints. |
| **SELinux endpoint**                              | Same as above, plus SELinux compatibility auto-selected by the installer             | Linux endpoints with SELinux enabled in Enforcing mode.                                             |

<Warning>
  On Solaris and AIX distributions, GNU Bash 3.2.25(1) or higher must be installed before running `install.sh`. On Solaris specifically, update the bash before proceeding.
</Warning>

<Warning>
  In SaaS deployments, the Application Server is reached through the load balancer on the Syteca proxy server. Use the load balancer hostname (or IP address) as the server argument, and use port **443** instead of 9447. This applies to all three variants below.
</Warning>

## Prerequisites

Before starting a Linux Client installation:

1. Verify the target endpoint meets [Linux Client system requirements](/docs/get-started/system-requirements).
2. Download the appropriate installation package from the Management Tool. Options include:
   * **`SytecaLinuxClient.tar.gz`** (default monitoring parameters, x64 or x86 variant).
   * **`SytecaLinuxClient.tar.gz` containing an `.ini` file** (custom monitoring parameters, generated in the Management Tool).
   * **`.rpm` package** (for use with RPM Manager on Red Hat, CentOS, and derivatives).
   * **Linux `powerpc64le` package** (for IBM Power architecture endpoints).
3. Have `sudo` access on the target endpoint.

## Install with default monitoring parameters

The default installation variant reads the Application Server name and port from command-line arguments to `install.sh`. It is the simplest procedure and appropriate for one-off installs.

<Steps>
  <Step title="Copy the installation package to the target endpoint">
    Transfer `SytecaLinuxClient.tar.gz` to any folder on the target Linux endpoint. Verify the correct architecture variant (x64 vs. x86) matches the endpoint.
  </Step>

  <Step title="Open a Terminal and navigate to the folder">
    Run the Terminal, then change to the folder containing the installation package:

    ```bash theme={"system"}
    cd <Path_to_folder>
    ```
  </Step>

  <Step title="Unpack the installation package">
    Extract the archive:

    ```bash theme={"system"}
    tar xvfz <Installation_package_name>
    ```
  </Step>

  <Step title="Navigate to the EkranClient folder">
    ```bash theme={"system"}
    cd EkranClient
    ```

    The folder contains the `install.sh` script used to install the Client.
  </Step>

  <Step title="Run the installation script">
    Specify the Application Server name (or IP) and the port used for connection (port 9447 is recommended):

    ```bash theme={"system"}
    sudo ./install.sh <Server_name_or_Server_IP_address> <Server_port>
    ```

    For Multi-Tenant deployments installing to a specific tenant, add the `-tenantKey` parameter:

    ```bash theme={"system"}
    sudo ./install.sh <Server_name_or_Server_IP_address> <Server_port> -tenantKey <Tenant_key_value>
    ```

    <Note>
      In Multi-Tenant mode, the Tenant Key can be copied from the Management Tool (on the Tenants page) by the administrator of the built-in default tenant. If no Tenant Key is specified, the Client is installed on the built-in default tenant.
    </Note>

    **For SaaS deployments**, use the load balancer hostname and port 443:

    ```bash theme={"system"}
    sudo ./install.sh <Hostname_or_IP_of_the_load_balancer_on_the_Syteca_proxy_server> 443
    ```
  </Step>

  <Step title="(Optional) Enable X11 GUI session monitoring">
    To monitor GUI sessions on X Window System (X11) endpoints, add the `-withX11` flag:

    ```bash theme={"system"}
    sudo ./install.sh 10.100.4.182 9447 -withX11
    ```

    The Client connects to the Application Server at IP `10.100.4.182` through port 9447, with X11 GUI session monitoring enabled.

    Combined with `-tenantKey` for Multi-Tenant:

    ```bash theme={"system"}
    sudo ./install.sh Server1 9447 -withX11 -tenantKey 90807A10-DF80-45EA-A7DE-A550B55F548A
    ```
  </Step>
</Steps>

After installation, the Client appears in the list on the **Clients** page of the Management Tool. Monitoring starts on the next user login on the endpoint.

## Install with custom monitoring parameters (INI file)

Use this variant when the `SytecaLinuxClient.tar.gz` archive contains a bundled `.ini` file with custom monitoring parameters generated in the Management Tool. The INI file contains parameters like **Offline cache size** and **Command output skipping** that are not accessible from the `install.sh` command line.

<Warning>
  **NOT AVAILABLE IN SAAS.** Custom monitoring parameters via INI file are not available in Syteca SaaS deployments.
</Warning>

<Steps>
  <Step title="Copy, unpack, and navigate to EkranClient">
    Same first four steps as the default installation above: copy the package to a folder, navigate there, unpack with `tar xvfz`, and change directory to `EkranClient`.
  </Step>

  <Step title="Run install.sh with no server argument">
    The Application Server name and port come from the bundled INI file, so no server argument is needed on the command line:

    ```bash theme={"system"}
    sudo ./install.sh
    ```

    <Note>
      The default Server port for the INI-file variant is **9447**.
    </Note>

    For Multi-Tenant deployments:

    ```bash theme={"system"}
    sudo ./install.sh -tenantKey <Tenant_key_value>
    ```
  </Step>

  <Step title="(Optional) Enable X11 GUI session monitoring">
    Add `-withX11` to enable X Window System GUI session recording. Example combining X11 and Multi-Tenant:

    ```bash theme={"system"}
    sudo ./install.sh -withX11 -tenantKey 90807A10-DF80-45EA-A7DE-A550B55F548A
    ```

    The Client connects to the Application Server named in the `.ini` file, on port 9447, with X11 GUI session monitoring enabled and joined to the tenant with the specified key.
  </Step>
</Steps>

After installation, the Client appears on the **Clients** page of the Management Tool.

## Install on SELinux endpoints

SELinux-enabled Linux endpoints need a SELinux-compatible variant of the Client. The installer picks this variant automatically when running on an SELinux endpoint, so the installation procedure is identical to the standard Linux Client procedure.

<Warning>
  SELinux must be enabled and operating in **Enforcing** mode on the target endpoint before starting the installation. Verify this with `sestatus` before beginning.
</Warning>

### Supported installation packages for SELinux

Any of the standard Linux installation packages downloaded from the Management Tool works for SELinux:

* **Linux x64 Client Installation (`.tar.gz`)** with default monitoring parameters.
* **Linux x64 Client Installation Package (`.tar.gz` + `.ini`)** with custom monitoring parameters.
* **Linux x64 Client Installation (`.rpm`)** for use with RPM Manager.

### Automatic variant selection and override flags

The installer detects the SELinux environment and automatically selects the SELinux-compatible variant included in the package. Override with these flags if the automatic selection does not match your needs:

| Flag        | Effect                                                                                 |
| ----------- | -------------------------------------------------------------------------------------- |
| `-auditd`   | Force installation of the SELinux-compatible variant, even if SELinux is not detected. |
| `-noauditd` | Force installation of the standard (non-SELinux) variant, even if SELinux is detected. |

### Installation command

Same as the default Linux Client install:

```bash theme={"system"}
sudo ./install.sh <Server_name_or_Server_IP_address> <Server_port> <-withX11?>
```

For SaaS deployments:

```bash theme={"system"}
sudo ./install.sh <Hostname_or_IP_of_the_load_balancer_on_the_Syteca_proxy_server> 443 <-withX11?>
```

After installation, the SELinux-compatible Client appears on the **Clients** page of the Management Tool. Monitoring starts on the next user login on the endpoint.

## Related

<CardGroup cols={2}>
  <Card title="Linux Clients" icon="terminal" href="/docs/administration/clients/linux">
    How the Linux Client behaves in remote SSH, local terminal, and GUI (X11) sessions, plus how to read Client status from the Management Tool and the CLI.
  </Card>

  <Card title="System requirements" icon="server" href="/docs/get-started/system-requirements">
    Supported Linux distributions, glibc requirements, and hardware sizing.
  </Card>

  <Card title="Install Windows Clients" icon="monitor-down" href="/docs/administration/clients/install-windows">
    Windows Client installation methods for comparison, including remote installation.
  </Card>

  <Card title="Install macOS Clients" icon="apple" href="/docs/administration/clients/install-macos">
    macOS Client installation from the command line.
  </Card>
</CardGroup>
