Skip to content

plrigaux/sysd-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

Download on Flathub

Arch Linux

Download on Flathub

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/scripts 
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:

  • Filter units on more properties
  • Functionality edit gereated file or original
  • 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 provided.

Translators

Translations are generously hosted by Weblate. Please help translate Sysd Manager into more languages through the Sysd Manager Hosted Weblate.

Developpers and Translator

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>

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>

πŸ’‘ Credits

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

About

A user-friendly GUI to manage systemd units

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages