vSystemd is a professional, high-performance Linux systemd service manager built with Flutter for Vaxp OS. It provides a beautiful, glassmorphic GUI to monitor, control, and manage systemd services directly via D-Bus, without relying on unstable terminal command execution.
- Direct Systemd Integration: Uses Dart FFI (Foreign Function Interface) to communicate directly with
libsystemdviasd-bus. ZeroProcess.runoverhead. - Real-time Monitoring: View the live Load State, Active State, and Sub State of all system services.
- Interactive Dashboard: Features a dynamic pie chart (
fl_chart) visualizing the total, active, inactive, and failed services at a glance. - Full Control: Start, Stop, Restart, Enable, and Disable any systemd service with a single click.
- Custom Service Creation: Built-in modal to quickly create and bootstrap new custom systemd
.servicefiles directly into/etc/systemd/system/. - Clean Architecture: Strictly adheres to Domain-Driven Design (Domain, Data, and Presentation layers) with BLoC for predictable state management and GetIt for Dependency Injection.
- Vaxp OS Aesthetics: Beautiful dark mode, glassmorphism design language using
VenomScaffold.
To build and develop vSystemd from source on Linux, you need to install the following system dependencies:
Ensure you have the Flutter SDK installed and Linux desktop support enabled:
flutter config --enable-linux-desktopYou must install the C/C++ build tools, GTK, and most importantly, the libsystemd development headers for compiling the FFI wrapper.
On Debian/Ubuntu/Vaxp OS (Debian-based):
sudo apt update
sudo apt install clang cmake git ninja-build pkg-config libgtk-3-dev libsystemd-devOn Fedora:
sudo dnf install clang cmake git ninja-build pkgconf-pkg-config gtk3-devel systemd-develOn Arch Linux:
sudo pacman -S clang cmake git ninja pkgconf gtk3 systemd- Clone the repository (or navigate to the project directory).
- Fetch Flutter dependencies:
flutter pub get
- Run the application:
flutter run -d linux
- Build the release bundle:
The compiled executable will be located at
flutter build linux --release
build/linux/x64/release/bundle/vsystemd.
⚠️ Note on Permissions: While reading service states does not require root privileges, actions like Starting, Stopping, Enabling, Disabling, or Creating services require elevated permissions. Depending on your system'spolkitconfiguration, you may be prompted for a password by your desktop environment, or you may need to run the application as root (sudo ./vsystemd).
linux/systemd_wrapper/: Contains the C code (systemd_wrapper.c) that interfaces withsd-bus.lib/infrastructure/ffi/: Contains the Dart definitions bridging the C wrapper functions to Dart.lib/domain/: Contains theServiceEntity,UseCases, and Repository Interfaces.lib/data/: Contains the repository implementation connecting FFI to the Domain layer.lib/presentation/: Contains the BLoC state managers, UI pages, and components.