sysd-manager 1.29.0

Application to empower user to manage their <b>systemd units</b> via Graphical User Interface. Not only are you able to make changes to the enablement and running status of each of the units, but you will also be able to view and modify their unit files and check the journal logs.
sysd-manager-1.29.0 is not a library.

SysD Manager Icon

SysD Manager

License: GPL v3 Love SysD Manager? Please consider donating to sustain our activities Flathub

A user-friendly GUI to manage systemd units

๐Ÿ“‹ Description

  • Change the enablement and running status of systemd units
  • View and modify unit files with syntax highlighting
  • Check journal logs with syntax highlighting
  • Explore unit dependencies visually
  • And much more!

Disclaimer: This application is intended for users with less experience with systemd rather than professional system administrators. If you consider yourself an administrator, please refer to systemctl and journalctl documentation.

โœจ Features

Feature Status
Unit file browser with search and filtering โœ…
Enable or disable a unit โœ…
Enable a unit in runtime โœ…
Activate or deactivate a unit โœ…
View and modify unit file โœ…
View and navigate unit's dependencies โœ…
Unit file syntax highlighting โœ…
Journal file syntax highlighting โœ…
List of all running units (systemd-analyze blame) โœ…
Dark and Light style switching โœ…
Select a unit at program opening via CLI โœ…
Clean unit like systemctl clean โœ…
Freeze & Thaw unit like systemctl freeze and systemctl thaw โœ…
Multi-language support โœ… ๐Ÿšง
Real-time journal events update โœ…
Retrieve list of boot IDs โœ…
Ability to watch systemd signals โœ…

Need a feature? Contact the author or contribute to the project! If you're stuck, take a look at systemctl.

๐Ÿ“ธ Screenshots

Unit Info (Dark)

Unit Info Dark

Unit Info (Light)

Unit Info Light

Unit Dependencies

Unit Dependencies

Unit Files

Unit Files

Unit Journal

Unit Journal

๐Ÿ”ง Installation

Flathub

Arch Linux

yay -S sysd-manager

Build from Source

  1. Install prerequisites:

    • Rust
    • GTK 4 and build essentials (how-to)
    • Libadwaita (how-to)
    • Systemd development library (libsystemd-dev)
    • GtkSourceView 5 development library
  2. Clone and build:

git clone https://github.com/plrigaux/sysd-manager
cd sysd-manager
sh install.sh
  1. Run:
sysd-manager

For a clean removal, execute: sh uninstall.sh

๐Ÿงช Testing

You can safely test SysD Manager using tiny_daemon, a simple web server service included with the project:

cd packaging
python install_tiny

๐Ÿ›ฃ๏ธ Roadmap

Planned features:

  • Non-blocking calls (in progress)
  • Always administrator mode
  • Continuous UX improvements

๐Ÿ“ Changelog

All notable changes are documented in the CHANGELOG.

๐Ÿค Contributing

Interested in contributing? Contact the project maintainer on GitHub.

๐ŸŒ Internationalization

SysD Manager can be displayed in different languages as long a translation has been made.

Some tools have been created to help with translation. The following shows the most important ones to help translators

Generate missing po files or update them

After changes in the source code it's needed to update a po languages file. The following command helps you to perform that.

cargo run -p transtools -- po -lang <LANG>

Also useful for adding a new translated language

Extract transalation texts

To extract translation texts form source code and generate a Portable Object Template (pot) file. This is needed only after code changes.

cargo run -p transtools -- extract -lang <LANG>

Translators Notes

  • To add a new translated language, first add the new language code, respecting ll or ll_LL format, in the ./po/LINGUAS files.
  • To test any tanslated languages, just set the envroment variable like this: export LANGUAGE=<language code>

Generate Templated

To generate the language template. The xgettext program extracts translatable strings from given input files.

cargo run -p transtools -- xgettext

Normally a translator don't have to use this command. Use it only after you created or removed new source files

๐Ÿ’ก Credits

This project is inspired by the work of Guillaume Gomez: https://github.com/GuillaumeGomez/systemd-manager/