Project Page
Current Downloads
All Downloads
CVS Logo


Gapcmon a Linux GUI monitor for APCUPSD

A Gtk2/GLib2 GUI application used to monitor UPS devices controlled by the APCUPSD package.  The program uses the NIS interface from apcupsd to collect event and status information for display to the end-user.  Because of this great interface, this program can be executed on any OS supported machine and use the network socket interface to connect back to apcupsd.  Of course apcupsd must be compiled with nis support 
(i.e. ./configure --enable-nis --enable-gapcmon ...).  

The general design model for gapcmon assumes the user has one or more UPSs attached to one or more tcpip/hosts with network connectivity to/from the gapcmon workstation.  Gapcmon provides a Preferences panel to capture the hostname, port, and polling cycle for that UPS; along with an "enable" checkbox to indicate if the monitor for this configuration should be active.  Gapcmon collects status and event information for each enabled UPS configuration and presents it to the user via a Detailed Information window.

GAPCMON is licensed under the GPL version 2.


  • Spec for Notification Area Icons.
  • Unlimited support for multiple UPSs.
  • Historical Graph of five data points are charted.  A total of 40 points are maintained on the graph. The data points are LINEV, BATTV, BCHARGE, LOADPCT, and TIMELEFT.
  • Clicking an notification icon will cause the information window for that monitor to become visible or be hidden, if its already visible.
  • Monitor tooltips are available when hovering the mouse over the icon, and contain a quick summary of the ups status.
  • Icons are dynamically added or removed when enabled in preferences.
  • Icon changes to reflect the operational state of the UPS.
    • where state is (online, onbattery, charging, not communicating, no cable)
  • History graph supports popup tooltip for data point under the mouse pointer, showing dataseries name, color, time, and value.
  • Configuration of the tcpi/ip hostname, tcp port number, and whether that monitor is currently enabled is provided via a central Preferences page.
  • background thread for all network io to keep user interface responsive.


Monitor information window { notebook layout with four tabs }

Historical Line Graph tracking VAC, battery charge, batt voltage, ups load, and time remaining.  Data collection for this chart is ten times the regular refresh time in seconds, and displays 40 collection cycles on screen.
Detailed Information
more detailed view of apcupsd current state and ups current state
Power Events
current apcupsd events as reported by apcaccess
Current UPS Status
current apcupsd status  as reported by apcaccess        
Refresh button, and Quit button 
refresh button causes and immediate refresh of all data values
quit button closes the application, or hides the window for monitors

Control Panel
Active list

Control panel window  { notebook layout with four tabs }

Active Monitors List
Status icon, state text, brief summary of active UPS monitor.
configuration page allows user to specify the hostname, port, and refresh interval in seconds of the server/workstation running apcupsd with NIS configured.
Quick help text
Program version and information panel


    Gtk2/Glib-2.4 runtime support.
    APCUPSD installed and configured to NIS support.
        { get at  }

    * the following packages may need to be installed to build program and
      for runtime of binaries on some platforms.

    gapcmon            {gtk version 2.4 is minimum package level required}

Distribution Method

    Source RPM    gapcmon-{version}-{release}.src.rpm
    Binary RPM    gapcmon-{version}-{release}.i686.rpm
    Source tar    gapcmon-{version}.tar.bz2

Install Info

    Configure Source with
    for gapcmon :
            '# ./configure --prefix=/usr '
    Then compile with 'make clean all', then 'sudo make install'
    Binary RPM install with this command 'rpm -ivh gapcmon-{version}-{release}.i686.rpm'

    Both methods result in '/usr/bin/gapcmon'
    being installed according to your system defaults for prefix. 
    Note: the configure step requires the parm 'prefix=/usr'.


    1. look in gnome menus for the "Applications" group, then select "APCUPSD monitor"
        - or enter '# gapcmon' on the command line.
    2. To configure.
        - select "Preferences" tab,
        - enter hostname and port, choose refresh interval in seconds.
        - be sure to click or unclick enable to activate the selection.
    3. If you clicked the "enable" checkbox for a monitor, then its
          information window is now active and recording status for that UPS.

Known Bugs

 NONE: ...

Reporting Bugs

 Please report bugs and feature requests to
 "James Scott Jr"<>
 or use the HELP Forums on SourceForge for this project.

 I also respond to, list.

Support,   choose the 'users mailing list'
                                    ,   choose the 'Help Forum'


Main site 
This site  


 Thanks goes to project team creating and
 maintaining APCUPSD.