Managing Linux device fleets — whether they're POS systems, digital signage, or edge computing boxes — often means running the same scripts repeatedly. Need to reboot 50 devices? That's 50 terminal sessions. Want to lock displays during closing hours? More manual scripting. This repetitive work burns IT resources and introduces human error at scale.
That's why we built Custom Actions in Esper Linux Device Management: A drag-and-drop interface that lets IT teams create reusable automation without writing repeat code. Think of it as turning your most-used scripts into buttons, toggles, and dropdowns that anyone on your team can execute with a click.
Making Linux Scalable: The End of ‘SSH and Pray’
Linux administrators know the drill: SSH into each device, run your scripts, document what you did, repeat. It works fine for a handful of devices, but at scale? It's a nightmare.
Even with remote management tools, you're still:
- Maintaining script libraries across your team
- Training new staff on command-line operations
- Risking typos in critical commands
- Lacking audit trails for who ran what, when.
Custom Actions flips this model. Instead of everyone needing Linux expertise, you create the automation once, and your entire team can execute it through Esper's console, complete with audit logs and role-based permissions.
How the Drag-and-Drop Builder Works
Creating a Custom Action in the Esper console follows a simple three-tab workflow:
1. Design your UI (Properties Tab)
Drag a component onto the canvas — button, toggle, or dropdown. No coding yet, just visual design. Add labels, descriptions, and tooltips to guide your team. For example, creating a "Reboot Device" button:
- Heading: Device Management
- Description: System control actions
- Button Name: Reboot Device
Tooltip: "Safely restarts the Linux device"
2. Add your script (Script Tab)
Paste your shell script. The same commands you'd run manually, now attached to your UI element. For toggles and dropdowns, you can assign different scripts to each state or option.
#!/bin/bash
# reboot_device.sh
# Script to reboot a Linux device safely
# Check if the script is run as root
if [ "$(id -u)" -ne 0 ]; then
echo "You must run this script as root (use sudo)." >&2
exit 1
fi
echo "Rebooting the device..."
sleep 2
/sbin/reboot3. Choose location (Location Tab)
Decide where this action appears: Device Settings, or Blueprint. Place frequently-used actions in Device Settings for easy access. Hit save, activate, and your Custom Action is live across your fleet.

Real-World Examples
Let's look at practical Custom Actions our beta customers are building:
1. Kiosk mode launch
Use Case: Retail displays that need to show a specific website on startup
Component: Button
Script:
#!/bin/bash
# Get the active session
SESSION=$(loginctl list-sessions | grep seat | head -n1 | awk '{print $1}')
if [ -n "$SESSION" ]; then
eval $(loginctl show-session $SESSION -p Display -p User)
export DISPLAY=$Display
export XDG_RUNTIME_DIR="/run/user/$(id -u $User)"
# Launch Firefox in kiosk mode
nohup sudo -u esper firefox --kiosk https://esper.io > /dev/null 2>&1 &
echo "Kiosk mode launched"
fi
One button click launches your retail displays into kiosk mode — no terminal required.
2. Bluetooth control toggle
Use Case: Restaurant POS systems that need Bluetooth for printers during service, disabled after hours for security.
Component: Toggle
Scripts:
- Toggle ON:
sudo rfkill unblock bluetooth - Toggle OFF:
sudo rfkill block bluetooth
Your closing manager can disable Bluetooth across all POS terminals with one toggle — no IT ticket needed.
3. Device lockdown
Use Case: Secure POS systems during breaks or shift changes
Component: Button
Script:
loginctl lock-session
Front-line staff can lock terminals instantly without knowing Linux commands. Perfect for compliance requirements.
4. Multi-option display control
Use Case: Digital signage with different brightness or orientation needs.
Component: Dropdown
Options:
- Auto-rotate
- Portrait mode
- Landscape mode
- Brightness presets
Each dropdown option triggers its specific script. Your retail staff can adjust displays without calling IT.
Beyond Basic Automation
Custom Actions shine in complex scenarios:
Conditional logic
Create dropdowns where each option runs different scripts. A "Troubleshooting" dropdown might include:
- Clear cache
- Restart services
- Reset network
- Collect diagnostics
Bulk operations
Apply Custom Actions to device groups (e.g., Chicago). Reboot all your Chicago POS systems at once. Lock all displays at closing time automatically.
Audit and compliance
Every Custom Action execution is logged in the Event Feed with:
- Who triggered it
- When it ran
- Success/failure status
- Which devices were affected
Perfect for PCI compliance in retail or HIPAA in healthcare settings.
Best Practices for Building Custom Actions
- Start Simple: Convert your most-used scripts first. That reboot command you run daily? Make it a button.
- Use Descriptive Names: "Bluetooth Control" beats "BT Toggle." Your team will thank you.
- Add Help Text: Tooltips and descriptions prevent mistakes. Explain what each action does and when to use it.
- Test in Stages: Create actions as "Draft," test on a single device, then activate for your fleet.
- Organize by Location: Create quick actions in Device Settings, specialized ones in Blueprints.
How to Create Your First Custom Action
Custom Actions transforms Linux device management from command-line complexity to point-and-click simplicity. IT teams can build automation once and empower their entire organization to manage devices safely and efficiently.
If you’re already using Esper for Android or iOS, you can provision your first Linux device and create custom actions in the Esper console today.
If you’re not an Esper customer, you can still test out custom actions for Linux devices by signing up for a free trial.
FAQ
Keep Exploring

.png)

.avif)
