A graphical control panel for managing ObsidianOS system operations, including backups, slot management, and system updates. This application provides a user-friendly interface for the obsidianctl command-line tool.
- Backup Management:
- Create new system backups to specified slots or custom directories.
- Restore system from existing backups.
- Delete old backups.
- Browse and view details of available backups.
- Slot Management:
- Switch between active system slots (e.g.,
slot_a,slot_b). - Perform one-time slot switches for the next boot.
- Synchronize content between system slots.
- Analyze differences between slots.
- Check the health and integrity of system slots.
- Switch between active system slots (e.g.,
- System Updates:
- Update system slots from local image files (SquashFS).
- Perform network-based system updates.
- Slot Environment:
- Enter a chrooted environment of a specific system slot for advanced debugging or maintenance.
- Verify the integrity of system slots.
- ObsidianOS: This application is designed to work specifically with ObsidianOS.
obsidianctl: Theobsidianctlcommand-line utility must be installed and accessible in your system's PATH.- PySide6: The Python GUI library PySide6 is required.
This application is typically distributed as part of ObsidianOS. If you are running ObsidianOS, obsidian-control should be pre-installed.
For manual installation or development:
- Ensure
obsidianctlis installed and configured on your system. - Install PySide6:
sudo pacman -S pyside6
- Run the application:
python3 obsidian-control.py
Launch the application from your desktop environment's application launcher or by running the obsidian-control.py script directly.
The interface is divided into several tabs:
- Backups: Manage your system backups.
- Slots: Perform operations related to system slots (switching, syncing, analysis).
- System Updates: Apply system updates from local files or the network.
- Slot Environment: Access a chrooted environment of a slot or verify its integrity.
Most operations require administrative privileges and will prompt for your password via pkexec.
This project is licensed under the MIT License