No-X11 or Headless Setup

This document contains the requirements and a step-by-step installation guide for Linux deployments without X11 server or displays, using the setup-display-rss.sh script.

NOTE:

The script is a convenience tool, not the only valid approach. If your environment meets the core requirements documented here, you may substitute alternative tools or configurations that align with your infrastructure preferences.

Requirements

For Gatekeepers, Orange Pill requires:

  • Virtual X display (Display :100) running as the rss system user.

    • Uses dummy video driver (no physical GPU required)

    • Managed by rss-display.service

  • X authentication configured for the rss user

    • Xauthority file at /var/lib/rss/.Xauthority

    • Allows secure VNC access to the display

  • Desktop environment running under the rss user

    • Lightweight environment recommended (IceWM, Xfce, Openbox, etc.)

    • Managed by rss-session.service

For Quick Connect, Orange Pill requires:

  • X display running for the current connected user

    • Must be native X11 (not Wayland or Wayland-X11 bridge)

    • $DISPLAY environment variable must be set and valid

  • X authentication properly configured

    • Xauthority credentials must grant access to the display

    • User must have necessary permissions

NOTE:

Orange Pill does not work in Wayland environments or Wayland-X11 compatibility layers. Users must be on a native X11 session.

How to Install

The bundled setup-display-rss.sh script automates the installation process. This section describes each step in the context of the underlying requirements.

To execute the script, the session requires the following:

  • Root/sudo access: The script requires root privileges.

  • Internet access: To download X server and desktop environment packages

  • systemd: The system must use systemd for service management

  • EPEL access (RPM systems): If EPEL is not installed, use --with-epel flag

You can locate the bundled script at:

/opt/securelink/gatekeeper/scripts/setup-display-rss.sh

If not present, contact Imprivata support to verify your Gatekeeper installation includes Orange Pill.

Step-by-Step Installation

  1. Log in to the Gatekeeper host with root or sudo privileges and run the setup script:

    cd /opt/securelink/gatekeeper/scripts

    ./setup-display-rss.sh --help

  2. View what will be installed without making changes with the following:

    ./setup-display-rss.sh --list-deps

    This shows the X server packages, dummy driver, and desktop environment packages required for your distribution.

  3. Install the default configuration with the following

    sudo ./setup-display-rss.sh --auto-confirm

    This installs:

    • X server packages (fulfills Virtual X display requirement)

    • Dummy video driver for headless operation

    • Xauthority setup for rss user (fulfills X authentication requirement)

    • IceWM desktop environment (fulfills Desktop environment requirement)

    • systemd services (rss-display.service and rss-session.service)

  4. Install EPEL for RHEL/AlmaLinux/Rocky distributions if EPEL is not installed on RPM-based systems:

    sudo ./setup-display-rss.sh --auto-confirm --with-epel

    This ensures all required packages are available.

  5. Confirm all components are in place:

    ps aux | grep -i xorg # Should show Xorg :100 process

    systemctl status rss-display.service # Should show active (running)

    systemctl status rss-session.service # Should show active (running)

    ls -la /var/lib/rss/.Xauthority # Should exist with rss:rss ownership

What the Script Configures

The script implements the core requirements by setting up:

Requirement Implementation Verification
Virtual X display:100 Xorg server with dummy driver ps aux | grep Xorg
X authentication forrssuser /var/lib/rss/.Xauthority ls -la /var/lib/rss/.Xauthority
Desktop environment IceWM (or alternative via--desktop) Visual confirmation in VNC client
Service management rss-display.service,rss-session.service systemctl status rss-*
Auto-start on boot Systemd service enablement systemctl is-enabled rss-display.service