16 releases (6 stable)
new 1.3.2 | Dec 5, 2024 |
---|---|
1.3.1 | Nov 29, 2024 |
0.1.11 | Oct 30, 2024 |
0.1.6 | Aug 3, 2024 |
0.0.2 | Jun 18, 2024 |
#32 in Unix APIs
730 downloads per month
250KB
6.5K
SLoC
SysD Manager
This application exists to easily allow user to manage their systemd units via a GUI. 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.
Disclaimer
This application is not intended to a profesional system administrator audience.
If you consider yourself an administator, please refer to systemctl
and journalctl
documentation.
Features
Here are Sysd Manager main features :
- Unit file browser with serach and filtering
- Enable or disable a unit
- Activate or desactivate a unit
- View and modify unit file
- Unit file syntax highlighting
- Journal file syntax highlighting
- List of all running units, ordered by the time they took to initialize systemd-analyze blame
- Follow Dark and Light style switching
Note if you need a feature communicate with the author or contribute to the project. If you're stuck take a look at systemctl.
Requirement
Any Linux distribution that has adopted systemd.
Screenshots
Credit
This project is inspired by the work of Guillaume Gomez https://github.com/GuillaumeGomez/systemd-manager/
Contributing
Contact me on my GitHub if you want to contribute to this project.
Project Roadmap
For now new features are planned to be added, such as:
- Non-blocking calls (in progress)
- Always administrator mode
- Improve UX
- Better layout
Installation Instructions
From your computer
- Download and install rust https://www.rust-lang.org/tools/install
- Install the build essentials
- Compile and install
cargo install sysd-manager
- Run
sysd-manager
Install on RHEL, Fedora, and CentOS based distributions
You can install the application from COPR
Add the repo
First, you need to have dnf-plugins-core installed
sudo dnf install dnf-plugins-core
Then you can enable the repo with the following command
sudo dnf copr enable plrigaux/sysd-manager
Install with dnf
Then you can simply install sysd-manager with the following command
sudo dnf install sysd-manager
Generate RPM for COPR
1 be in the mock group Add your user name to the mock group
sudo usermod -a -G mock <my user name>
Generate a RPM locally
You can generate your rpm locally with the help of the crate cargo-generate-rpm
.
Install
cargo install cargo-generate-rpm
Usage
cargo build --release
strip -s target/release/sysd-manager
cargo generate-rpm
Install with dnf
Then you can install sysd-manager with the following command
Don't forget to ajust the the rpm file path
sudo dnf localinstall target/generate-rpm/sysd-manager[version-release-arch].rpm
Setup
cargo install cargo-generate-rpm
Usage
Run the following script.
sh ./create_rpm
It will create a rpm file in the target/generate-rpm subdirectory.
Flatpak
SysD Manager can be build as a flatpak, but the flatpak version has limitations that can be overcome.
The limitation are :
- can't display journal
- Can't save the unit file
The application discloses how to overcome those limitations.
Install the builder
flatpak install org.flatpak.Builder
Build the flatpak
./goflatub build
Run the flatpak
To run the compiled flatpak execute the following command
./goflatub run
To access all program's functionnalities, you need the to have program flatpak-spawn install on your system.
Possible issue
No remote refs found for ‘flathub’
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
APT
Later waiting for a contributor or when I will reinstall e Debian like distro
Testing
If you want to test Sysd Manager without risking to shutdown impotant services, you can do it with tiny_daemon. tiny_daemon is a service provided with the project as a simple web server that you can safely play with.
To install tiny_daemon, in the project directory, just run this python script.
python install_tiny
or if install_tiny is executable (i.e. chmod +x install_tiny
)
./install_tiny
Dependencies
~29–42MB
~793K SLoC