A simple utility to interact with systemd services through a TUI, featuring handy shortcuts to make service management easier (Vim-Keys).
Note
This binary is primarily a learning project. While it works for my use case, its main purpose is educational.
Warning
This project requires systemd to be installed on your system.
When I started using Linux, I got tired of typing the same commands repeatedly. As a newcomer, I created a small bash script with a hardcoded list of common services and a menu to run different commands.
This project is a re-implementation of that script in Rust, meant to help me learn more about the language and its ecosystem while also extending the original functionality.
cargo install systemctl-manageryay -S systemctl-managerUse the sm binary to interact with systemd services. When you run the binary, a list of available services will be displayed with vim-like navigation.
Note
Operations that modify services (start, stop, restart, enable, disable) require sudo privileges. The application will prompt for your password when needed.
Key bindings: Key bindings:
- Navigate using arrow keys or vim-like keys (
j/k) - Press
i/a/I/Ato filter services by name - Press
/to search for text matches in the service list - Press
wto start the selected service - Press
eto stop the selected service - Press
rto reload the selected service - Press
tto restart the selected service - Press
yto enable the selected service - Press
uto disable the selected service - Press
Ctrl+qto quit the application
Exiting alternative modes:
- Press
Ctrl+corEscto dismiss the current mode - Press
Enterto confirm the current mode
This is a custom implementation tailored to my own workflow, so there is plenty of room for improvement.
Feel free to fork the project, open issues, or contribute suggestions.
- Support for multiple selections
- Should operation keybindings be moved to a secondary menu to make the default message bar clearer?
This is primarily a learning project, but contributions are welcome! Feel free to:
- Open issues for bugs or feature requests
- Submit pull requests
- Share feedback on the code
Built with:
MIT License
