SysD Manager
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
andjournalctl
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 (Light)
Unit Dependencies
Unit Files
Unit Journal
๐ง Installation
Flathub
Arch Linux
Build from Source
-
Install prerequisites:
-
Clone and build:
- Run:
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:
๐ฃ๏ธ 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
orll_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/