Skip to content

To help users that want to add Linux Agents to Tactical RMM, without need to pay upfront for code signed agents. If this solution works for you, consider contributing to Tactical RMM project!

License

Notifications You must be signed in to change notification settings

Brandon-Roff/LinuxRMM-Script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TRMM LOGO

TacticalRMM Agent Installation & Management Script

This repository contains a one-line installation, update, and removal script for the TacticalRMM agent on Linux systems.

The script is designed for reliability and flexibility, supporting multiple system architectures and ensuring smooth deployment across different environments.


📌 Table of Contents


✅ Supported Architectures & Platforms

  • x86_64 (AMD/Intel 64-bit)
  • x86 (32-bit)
  • ARM64 (aarch64, Raspberry Pi 4, Apple M1/M2)
  • ARMv6 / ARMv7 (Raspberry Pi Zero, Pi 2/3 series)

Tested On

  • Debian 10, 11, 12
  • Ubuntu 20.04, 21.04, 22.04, 24.04
  • Raspbian (Raspberry Pi OS) (Pi 2, 3, 3B+, 3A, 4B, Pi Zero)
  • Cloud VPS providers
  • Proxmox VMs

⚠️ Raspberry Pi Zero is not recommended due to performance limitations.

Future support for additional platforms will be added.


📥 Script Download & Setup

Download the script:

wget https://raw.githubusercontent.com/Brandon-Roff/LinuxRMM-Script/refs/heads/main/rmmagent-linux.sh

Make it executable:

sudo chmod +x rmmagent-linux.sh

📖 Full installation guide available here: Installation Wiki


🖥️ Fix Blank Screen for Ubuntu Workstations (16+)

Ubuntu uses Wayland by default, which may cause MeshCentral remote desktop sessions to display a blank screen.

Run the following commands to switch back to X11:

sudo sed -i '/WaylandEnable/s/^#//g' /etc/gdm3/custom.conf
sudo systemctl restart gdm

🔹 On Ubuntu 19 and earlier, the file path is /etc/gdm/custom.conf.

After restarting, remote desktop functionality will work properly.


⚙️ Automatic Architecture Detection

The script automatically detects system architecture using uname -m and maps it to the correct agent type:

  • x86_64amd64
  • i386 / i686x86
  • aarch64arm64
  • armv7larmv6
  • armv6larmv6

If the architecture is unrecognized, the script exits safely with an error message.


🚀 Install the Agent

Run the script with the following syntax:

./rmmagent-linux.sh install 'Mesh Agent URL' 'API URL' ClientID SiteID 'Auth Key' 'Agent Type'

Parameters:

  1. Mesh Agent URL – Provided by MeshCentral (Add Agent > Installation Executable Linux/BSD/macOS). Copy only the base URL, leaving out install flags.
  2. API URL – TacticalRMM API endpoint, usually https://api.example.com.
  3. Client ID – Visible when hovering over the client name in TacticalRMM.
  4. Site ID – Visible when hovering over the site name in TacticalRMM.
  5. Auth Key – Generated under Agents > Install Agent (Windows) > Manual. Copy the value after --auth.
  6. Agent Typeserver or workstation.

Example:

./rmmagent-linux.sh install 'https://mesh.example.com/meshagents?id=XXXXX' 'https://api.example.com' 3 1 'XXXXX' server

Note: Compilation may take several minutes depending on hardware. Please be patient.


🎨 Prettier --simple Output

The script supports a --simple flag to make installation output cleaner and more readable.

Usage:

sudo bash rmmagent-linux.sh --simple install 'Mesh Agent URL' 'API URL' ClientID SiteID 'Auth Key' 'Agent Type'

Features:

  • Color-coded messages:
    • [INFO] – Blue, informational updates
    • [OK] ✅ – Green, successful steps
    • [ERROR] ❌ – Red, failed steps
  • Spacing between sections for easier reading
  • Collapsed download/compile progress to avoid clutter
  • All temporary files cleanup is highlighted clearly

Example:

[INFO] Installing Go 1.24.6 for amd64...

[OK] ✅ Go 1.24.6 installed.

[INFO] Installing MeshCentral agent for amd64...

[OK] ✅ Mesh agent installed.

[INFO] Compiling Tactical RMM agent for amd64...

[OK] ✅ Tactical RMM agent compiled.

[INFO] Installing Tactical Agent service...

[OK] ✅ Tactical Agent installed successfully.

[OK] ✅ Tactical Agent service installed and started.

[INFO] Cleaning up temporary files...

[OK] ✅ Temporary files cleaned.

🔄 Update the Agent

To update an installed agent:

./rmmagent-linux.sh update

❌ Uninstall the Agent

To remove the agent:

./rmmagent-linux.sh uninstall 'Mesh FQDN' 'Mesh ID'

Parameters:

  • Mesh FQDN – Example: mesh.example.com
  • Mesh ID – 64-character alphanumeric ID (Linux/BSD uninstall instructions in MeshCentral).

Example:

./rmmagent-linux.sh uninstall mesh.example.com 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

⚠️ Important Notes:

  • Only use this method if agent removal in TacticalRMM is not working.
  • This process does not remove records from TacticalRMM or MeshCentral dashboards. Cleanup must be done manually.

📌 Credits

This project is based on Netvolt’s LinuxRMM-Script, with extended compatibility and refinements.


Professional, robust, and multi-platform ready — the easiest way to manage TacticalRMM agents on Linux.

About

To help users that want to add Linux Agents to Tactical RMM, without need to pay upfront for code signed agents. If this solution works for you, consider contributing to Tactical RMM project!

Resources

License

Stars

Watchers

Forks

Contributors 13

Languages