diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-25 10:15:41 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-25 10:15:41 +0200 |
| commit | d0a946798700cc0dea6d338296f1cffa413d2541 (patch) | |
| tree | ad6a5fe269604ea75d392998e8c5dde3811ddcb5 /appearance/Udt.qml | |
| parent | 696f3ad4f65a6516549544af13a9646f57ae523e (diff) | |
| download | quickshell-d0a946798700cc0dea6d338296f1cffa413d2541.tar.gz quickshell-d0a946798700cc0dea6d338296f1cffa413d2541.zip | |
feat(vm): notify when a started VM accepts ssh
libvirt reports "running" as soon as QEMU is up, long before the guest
has booted, so the panel had no way to say when a VM is actually usable.
After a successful start, a detached script polls the VM's sshd and
sends a notification once it accepts connections, or a warning after
five minutes.
Host and port come from `ssh -G <vm>`: a Host alias named after the VM
may put sshd on a non-default port (buildsystem listens on 2290, and a
probe of port 22 never succeeded). Without an alias `ssh -G` echoes the
name back, and the guest agent's IPv4 address on port 22 is used. The
probe is a plain `nc -z`, so no authentication or key is involved.
Detached rather than a Process so several VMs can wait at once and the
wait survives a shell reload. Only starts issued from the panel are
watched; a VM started from virt-manager or the CLI is not.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'appearance/Udt.qml')
0 files changed, 0 insertions, 0 deletions
