<div align="center">

# SysD Manager
[](https://raw.githubusercontent.com/plrigaux/sysd-manager/refs/heads/main/LICENSE)
[](https://github.com/sponsors/plrigaux)
[](https://flathub.org/apps/io.github.plrigaux.sysd-manager)
A user-friendly GUI to manage systemd units
</div>
## π 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
| Unit file browser with search and filtering | Functionality | β
|
| Browser add remove property | Functionality | β
|
| Enable or disable a unit | Functionality | β
|
| Enable a unit in runtime | Functionality | β
|
| Edit unit file | Functionality | β
|
| Edit and manage unit drop-ins | Functionality | β
|
| Activate or deactivate a unit | Functionality | β
|
| View and modify unit file | Functionality | β
|
| View and navigate unit's dependencies | Functionality | β
|
| Unit file syntax highlighting | UX | β
|
| Journal event syntax highlighting | UX | β
|
| List of all running units (systemd-analyze blame) | Functionality | β
|
| Dark and Light style switching | UX | β
|
| Select a unit at program opening via CLI | Functionality | β
|
| Clean unit like `systemctl clean` | Functionality | β
|
| Freeze & Thaw unit like `systemctl freeze` and `systemctl thaw` | Functionality | β
|
| Multi-language support | UX | β
|
| Real-time journal events update | Functionality | β
|
| Retrieve list of boot IDs | Functionality | β
|
| Ability to watch _systemd_ signals | UX | β
|
| Filter units on loaded properties | UX | β
|
| Browser contextual menu | UX | β
|
| Browser add remove property | UX | β
|
_Need a feature? Contact the author or contribute to the project! If you're stuck, take a look at `systemctl`._
## πΈ Screenshots
<div align="center">
### Unit Info (Dark)

### Unit Info (Light)

### Unit Dependencies

### Unit Files

### Unit Journal

</div>
## π§ Installation
### Flathub
<a href="https://flathub.org/apps/io.github.plrigaux.sysd-manager"><img width="200" alt="Download on Flathub" src="https://flathub.org/api/badge?svg"/></a>
### Arch Linux
<a href="https://aur.archlinux.org/packages/sysd-manager"><img width="200" alt="Download on Flathub" src="https://aur.archlinux.org/static/css/archnavbar/aurlogo.png"/></a>
```bash
yay -S sysd-manager
```
### AppImage
<a href="https://github.com/plrigaux/sysd-manager/releases/latest"><img width="100" alt="Download latest Appimage release" src="https://docs.appimage.org/_images/appimage.svg"/></a>
### Build from Source
1. Install prerequisites:
- [Rust](https://www.rust-lang.org/tools/install)
- GTK 4 and build essentials ([how-to](https://gtk-rs.org/gtk4-rs/stable/latest/book/installation_linux.html))
- Libadwaita ([how-to](https://gtk-rs.org/gtk4-rs/stable/latest/book/libadwaita.html))
- Systemd development library (`libsystemd-dev`)
- GtkSourceView 5 development library
2. Clone and build:
```bash
git clone https://github.com/plrigaux/sysd-manager
cd sysd-manager/scripts
sh install.sh
```
3. Run:
```bash
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:
```bash
cd packaging
python install_tiny
```
## π£οΈ Roadmap
Planned features:
- Save unit filters
- Adjust cell viewer according to property types (e.g. display uint as human time)
- Always administrator mode
- Continuous UX improvements
## π Changelog
All notable changes are documented in the [CHANGELOG](CHANGELOG.md).
## π€ Contributing
Interested in contributing? Contact the project maintainer on [GitHub](https://github.com/plrigaux/sysd-manager).
## π Internationalization
**SysD Manager** can be displayed in different languages as long a translation has been provided.
<div align="center">
<a href="https://hosted.weblate.org/engage/sysd-manager/" target="_blank">
<img src="https://hosted.weblate.org/widget/sysd-manager/translation/multi-auto.svg" alt="Status da traduΓ§Γ£o" style="height:300px;" >
</a>
</div>
### Translators
Translations are generously hosted by [Weblate](https://weblate.org).
Please help translate **Sysd Manager** into more languages through the [**Sysd Manager** Hosted Weblate](https://hosted.weblate.org/engage/sysd-manager/).
_Information for developers to handle translations can be found [here](https://github.com/plrigaux/sysd-manager/wiki/Translation)._
## π‘ Credits
This project is inspired by the work of Guillaume Gomez: https://github.com/GuillaumeGomez/systemd-manager/