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
sudorights, 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 withsudo 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, installlibxss1on Ubuntu or Debian. systemdwith user services: required. You also needrsyncto 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:
-
Copy the package,
openlm-agent_<version>_amd64.deb, to the machine. -
Install it:
sudo apt install ./openlm-agent_<version>_amd64.debThe 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
openlmaccount on the machine, the output also has a linechown: invalid user: 'openlm:openlm'for each file. You can ignore these lines. -
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:
-
Install the ICU library:
sudo dnf install libicu -
Copy the package,
openlm_agent-<version>.x86_64.rpm, to the machine. -
Install the package with
dnf:sudo dnf install ./openlm_agent-<version>.x86_64.rpmdnfalso 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 anopenlmaccount on the machine, the output also has the lineswarning: user openlm does not exist - using rootandwarning: group openlm does not exist - using rootfor each file. You can ignore these lines. -
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:
-
Extract the archive,
openlm_agent_<version>.tar.gz, into a new, empty folder. The archive has no folder of its own.mkdir openlm-agenttar -xzf openlm_agent_<version>.tar.gz -C openlm-agent -
Replace
agent-authorization.jsonin that folder with the authorization file you generated:cp <path-to-file>/agent-authorization.json openlm-agent/agent-authorization.jsonReplace
<path-to-file>with the folder that holds your authorization file. -
Run the installation script from the folder:
cd openlm-agentsudo bash install.shThe 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. -
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:
-
Copy your authorization file over the placeholder:
sudo cp agent-authorization.json /opt/openlmagent/agent-authorization.json -
Restart the agent of each signed-in user. As that user, run:
systemctl --user restart openlmagentUsers who sign in later start the agent with the new file.
-
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:
-
Open
/opt/openlmagent/settings.jsonwithsudo, and setagentsHub:{"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, withouthttps://or a path. KeepportanduseSSLunless your OpenLM Platform accepts connections on another port or without SSL. -
Restart the agent of each signed-in user. As that user, run:
systemctl --user restart openlmagent -
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:
-
As a signed-in user, check that the agent runs:
systemctl --user status openlmagentThe status shows
active (running). If it showsactivating (auto-restart), see Why does the agent keep restarting on Linux? -
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. -
In OpenLM Platform, select Navigation, then Agents, then Agent Activity.
-
Select the Refresh icon.
-
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?
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.