TUI for managing QEMU/KVM VMs via libvirt. Built with Python Textual.
Install
pip3 install virtui-manager
Or from source:
git clone https://github.com/aginies/virtui-manager.git
cd virtui-manager/src/vmanager
python3 virtui_dev.py
Features
- List VMs across local/remote libvirt servers
- Start, stop, pause, resume VMs
- VM configuration (CPU, memory, storage, network)
- Snapshots and disk overlays
- Bulk operations with regex patterns
- VM cloning
- Migration between servers
- VM provisioning (Debian, Ubuntu, Fedora, Arch, Alpine, openSUSE/SLES)
- Remote viewer (VNC/SPICE) with USB redirection
- Web console (noVNC via websockify)
- CLI tool (vmanager_cmd) for automation
- JSON deployment via command line (vmanager_cmd --json)
- Command pipelines
- Backup management
- No X11 required, works over SSH
Quick Start
- Connect to a libvirt server:
virtui-manager
- Select a VM and use the Actions menu to start, configure, or migrate
- Press
b for bulk operations across multiple VMs
- Use
vmanager_cmd for CLI automation
CLI Example
$ vmanager_cmd
> connect localhost
(localhost) > list_vms
> select re:web-.* | start
Comparison
| VirtUI | Virt-Manager | Virsh | Cockpit |
| Type | TUI + GUI | GUI | CLI | Web |
| SSH | Native | X11 (slow) | Native | Separate |
| Headless | Yes | No | Yes | Yes |
| Multi-server | Yes | Yes | Yes | Yes |
| Auto install VM | Yes | No | No | No |
| Resource use | Low | High | Low | Medium |