Skip to content
christosdaggasPublic

About

A UPS monitor for Fedora and GNOME. Live NUT dashboard, alerts, background daemon, and automatic shutdown protection.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

NUT Client

A clean, native UPS monitor for Linux desktops. NUT Client connects to Network UPS Tools (NUT) and shows live battery charge, runtime, load, voltage, and frequency — and can shut your system down safely when the battery gets critically low.

Made for Fedora with the GNOME desktop (tested on Fedora 44).

NUT Client

Features

  • Live dashboard for one or more UPS devices
  • Battery charge, runtime, load, voltages, and output power
  • Battery health at a glance, with history charts
  • Alert rules with desktop notifications and an alert history
  • Automatic shutdown when the battery falls below a threshold you choose
  • Background daemon that keeps protecting the system even when the app is closed
  • Light, dark, and system themes
  • Interface in 11 languages: English, Greek, German, Spanish, French, Italian, Portuguese, Russian, Chinese, Arabic, and Hindi

Install on Fedora

Download the latest .rpm from the releases page, then:

sudo dnf install ./lnx-nut-client-1.0.0-1.x86_64.rpm

The package installs the app, the background daemon, the desktop entry, the icon, and the polkit rule used for automatic shutdown. The daemon starts at your next login.

To start it right away:

systemctl --user enable --now org.chrisdaggas.lnx-nut-client.daemon.service

Using it

  1. Open NUT Client from the application grid.
  2. Go to UPS Devices and add your NUT server (host and port, usually localhost:3493) plus the UPS name.
  3. The dashboard updates automatically. Use the menu in the top-right to switch between light, dark, and system themes.

Configuration is stored in ~/.local/share/daggas/lnx-nut-client/. Passwords go to your desktop keyring, never to the config file.

Automatic shutdown

When the UPS is on battery and the charge drops below your configured threshold, the daemon starts a countdown and then powers the system off. You can set the threshold and delay under Settings.

For this to work without a password prompt, your user must be in the wheel group (the default on Fedora) and the bundled polkit rule must be installed. The RPM does both.

Build from source

You need Rust, GTK 4.14+, Libadwaita 1.5+, and the usual build tools:

sudo dnf install gtk4-devel libadwaita-devel dbus-devel gettext-devel pkgconf-pkg-config
cargo build --release --workspace
cargo run -p lnx-nut-client

To build the RPM yourself:

./scripts/package-rpm.sh

The result is written to dist/rpm/.

Troubleshooting

The daemon seems stuck on an old version. Restart it:

systemctl --user restart org.chrisdaggas.lnx-nut-client.daemon.service

Shutdown does not trigger. Check the daemon log:

journalctl --user -u org.chrisdaggas.lnx-nut-client.daemon.service -e

If you see a polkit or inhibitor error, confirm you are in the wheel group and that /usr/share/polkit-1/rules.d/50-lnx-nut-client.rules exists.

The app opens at login when you don't want it to. Turn off Autostart in Settings. Older versions may have left a stale file behind:

rm -f ~/.config/autostart/org.chrisdaggas.lnx-nut-client.desktop

Project layout

crates/
  nut-client/         GTK4/Libadwaita app
  nut-client-core/    shared models, config, NUT client, D-Bus types
  nut-client-daemon/  background service
data/                 systemd user unit
scripts/              install and packaging helpers
po/                   translations

License

MIT — see LICENSE.

Website: chrisdaggas.com · Contact: info@chrisdaggas.com

About

A UPS monitor for Fedora and GNOME. Live NUT dashboard, alerts, background daemon, and automatic shutdown protection.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages