Skip to main content

Install Workstation Agent on Linux

To collect application usage from Linux machines, install the Workstation Agent on each machine and connect it to OpenLM Platform with its authorization file. The agent for Linux comes as a DEB package, an RPM package, and a tar.gz archive, for 64-bit x86 machines.

Each one installs the agent in /opt/openlmagent and sets it up as a systemd user service, openlmagent, for each user with a home folder in /home. The agent runs while the user is signed in, and starts again at the user's next sign-in.

Before you begin​

Confirm these prerequisites:

  • The authorization file: generate it for a client of type Agent in Identity, as described in Authorize components. The agent accepts the plain file and the file of an Encrypted authorization client. Identity names the file agent-authorization.json.
  • A 64-bit x86 machine: it meets the system requirements, has sudo rights, and has outbound HTTPS (port 443) to your OpenLM Platform.
  • The ICU library, libicu: Ubuntu includes it. On Rocky Linux and other distributions of the Red Hat Enterprise Linux family, install it with sudo dnf install libicu. Without it, the agent stops at every start, as described in Why does the agent keep restarting on Linux?
  • The X11 screen saver library: the agent reads the idle time of the user's X11 desktop session through it. The RPM package installs it, libXScrnSaver. With the DEB package or the tar.gz archive, install libxss1 on Ubuntu or Debian.
  • systemd with user services: required. You also need rsync to upgrade from the tar.gz archive.

Download the package or archive for the machine from the Downloads page.

Install the DEB package​

To install the Workstation Agent on Ubuntu or Debian:

  1. Copy the package, openlm-agent_<version>_amd64.deb, to the machine.

  2. Install it:

    sudo apt install ./openlm-agent_<version>_amd64.deb

    The installation starts the agent for each user with a home folder in /home, and reports each one:

    --- Processing user: <user> ---
    ✅ Success: openlmagent is ACTIVE for <user>

    Without an openlm account on the machine, the output also has a line chown: invalid user: 'openlm:openlm' for each file. You can ignore these lines.

  3. Connect the agent to your OpenLM Platform, as described in Connect the agent.

Install the RPM package​

To install the Workstation Agent on Rocky Linux, Red Hat Enterprise Linux, or another distribution of that family:

  1. Install the ICU library:

    sudo dnf install libicu
  2. Copy the package, openlm_agent-<version>.x86_64.rpm, to the machine.

  3. Install the package with dnf:

    sudo dnf install ./openlm_agent-<version>.x86_64.rpm

    dnf also installs the libraries the agent needs. The installation starts the agent for each user with a home folder in /home, and reports ✅ Success: openlmagent is ACTIVE for <user> for each one. Without an openlm account on the machine, the output also has the lines warning: user openlm does not exist - using root and warning: group openlm does not exist - using root for each file. You can ignore these lines.

  4. Connect the agent to your OpenLM Platform, as described in Connect the agent.

Install from the tar.gz archive​

Use the tar.gz archive on other distributions, or to install without a package manager. The installation script copies the authorization file from the archive folder, so you add your file before you run it.

To install the Workstation Agent from the tar.gz archive:

  1. Extract the archive, openlm_agent_<version>.tar.gz, into a new, empty folder. The archive has no folder of its own.

    mkdir openlm-agent
    tar -xzf openlm_agent_<version>.tar.gz -C openlm-agent
  2. Replace agent-authorization.json in that folder with the authorization file you generated:

    cp <path-to-file>/agent-authorization.json openlm-agent/agent-authorization.json

    Replace <path-to-file> with the folder that holds your authorization file.

  3. Run the installation script from the folder:

    cd openlm-agent
    sudo bash install.sh

    The script copies the agent to /opt/openlmagent, starts it for each user with a home folder in /home, and reports ✅ Success: openlmagent is ACTIVE for <user> for each one. The agent connects to your OpenLM Platform at its first start.

  4. Check the agent, as described in Check the agent.

Connect the agent​

The DEB and RPM packages install a placeholder authorization file in /opt/openlmagent, so the Workstation Agent can't connect to your OpenLM Platform until you replace it. The agent reads the file when it starts.

To connect the agent:

  1. Copy your authorization file over the placeholder:

    sudo cp agent-authorization.json /opt/openlmagent/agent-authorization.json
  2. Restart the agent of each signed-in user. As that user, run:

    systemctl --user restart openlmagent

    Users who sign in later start the agent with the new file.

  3. Check the agent, as described in Check the agent.

Connect to a self-hosted OpenLM Platform​

For OpenLM Platform in the cloud, the authorization file gives the agent the address to connect to. For a self-hosted OpenLM Platform, also set the address of its Agents Hub in settings.json, in /opt/openlmagent:

  1. Open /opt/openlmagent/settings.json with sudo, and set agentsHub:

    {
    "agentsHub": {
    "address": "<your-openlm-server-host>",
    "port": 443,
    "useSSL": true
    }
    }

    Replace <your-openlm-server-host> with the host name of your self-hosted OpenLM Platform, without https:// or a path. Keep port and useSSL unless your OpenLM Platform accepts connections on another port or without SSL.

  2. Restart the agent of each signed-in user. As that user, run:

    systemctl --user restart openlmagent
  3. Check the agent, as described in Check the agent.

If the file you generated is for an OpenLM Platform in the cloud, the agent ignores agentsHub and connects to the address in the authorization file.

Add a user after the installation​

The installation sets the Workstation Agent up only for the users who have a home folder in /home at that time. To set it up for all users, including the users you add later, run:

sudo bash /opt/openlmagent/start-logged-in.sh

The script turns on the agent for every user, current and future, and starts it now for the users who are signed in. A user who isn't signed in gets the agent at the next sign-in. If the agent of a new user keeps restarting, see Why does the agent keep restarting for a new user?

Check the agent​

After the installation, check that the Workstation Agent runs and reports to OpenLM Platform:

  1. As a signed-in user, check that the agent runs:

    systemctl --user status openlmagent

    The status shows active (running). If it shows activating (auto-restart), see Why does the agent keep restarting on Linux?

  2. Check that the agent connected. Its log, /opt/openlmagent/logs/<user>/Agent.ALL.<yyyymmdd>.log, has a line with "Connected" and the address of your OpenLM Platform:

    $ grep Connected /opt/openlmagent/logs/$USER/Agent.ALL.*.log
    [INF] "AgentConnectionsHubClient"; SENDING: Agent details: https://<your-openlm-platform-address>/api/agents-hub/AgentsHub, "Connected", <connection-id>

    <your-openlm-platform-address> is the address of your OpenLM Platform, and <connection-id> is the ID of the connection.

  3. In OpenLM Platform, select Navigation, then Agents, then Agent Activity.

  4. Select the Refresh icon.

  5. Find the row with the host name of the machine.

    Check that Online has a check mark while the agent is connected.

For more about this list, see Check the agent in Agent Activity. If the agent doesn't appear, see Why doesn't the agent appear in Agent Activity?

Open the Personal Dashboard​

Users open their Personal Dashboard from the Workstation Agent. The installation opens it for each user who is signed in to a desktop session. For the other users, the output has the line ❌ Skip Opening Personal Dashboard for <user> (No active GUI session found).

To open the Personal Dashboard later, run this command as the user, in their desktop session:

/opt/openlmagent/OpenLM.Agent.Linux --signin

The dashboard opens in the default browser. Users sign in with their account in Identity, as described in the prerequisites of the Personal Dashboard. If the dashboard doesn't open, see Why doesn't the Personal Dashboard open?

Next step

The agent reports the applications that OpenLM Platform asks it to monitor. To select them, open Navigation, select Agents, then Process Manager, and add the processes of your licensed applications, as described in Process Manager.

After that, continue the setup with Install the Directory Synchronization Agent (DSA) to synchronize user and group data from your directories.

The documentation team might draft this page using a large language model. A technical writer reviews every page and verifies it against the product before publishing it. A human makes the final decision.