[gelöst] Host Standy verhindern, soange VM läuft
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
[gelöst] Host Standy verhindern, soange VM läuft
Hallo Zusammen,
ich habe bisher erfolglos das Netz durchsucht, nach Informationen wie ich den KDE Standby verhindern kann, solange meine QEMU/KVM Windows VM (mit durch gereichter Grafikkarte und Peripherie) läuft.
Die Peripherie ist per USB KVM am Host und an einem durch gereichten USB Controller angeschlossen. Daher gibt es keinen Peripherie Input und der Host (bzw. dessen KDE) würde nach der eingestellten Zeit in den Standby gehen.
Natürlich könnte man nun einfach den Standby deaktivieren uns später wieder aktivieren, aber darum geht es hier ja nicht.
Jetzt stellt sich die Frage, ob es da eine Möglichkeit über QEMU gibt, den Host wach zu halten?
Andernfalls würde ich ein Skript schreiben. Allerdings bin ich mir im unklaren, wo man da ansetzen würde.
Vielleicht hat sich schon jemand ähnliche Gedanken gemacht und Idee dazu?
ich habe bisher erfolglos das Netz durchsucht, nach Informationen wie ich den KDE Standby verhindern kann, solange meine QEMU/KVM Windows VM (mit durch gereichter Grafikkarte und Peripherie) läuft.
Die Peripherie ist per USB KVM am Host und an einem durch gereichten USB Controller angeschlossen. Daher gibt es keinen Peripherie Input und der Host (bzw. dessen KDE) würde nach der eingestellten Zeit in den Standby gehen.
Natürlich könnte man nun einfach den Standby deaktivieren uns später wieder aktivieren, aber darum geht es hier ja nicht.
Jetzt stellt sich die Frage, ob es da eine Möglichkeit über QEMU gibt, den Host wach zu halten?
Andernfalls würde ich ein Skript schreiben. Allerdings bin ich mir im unklaren, wo man da ansetzen würde.
Vielleicht hat sich schon jemand ähnliche Gedanken gemacht und Idee dazu?
Zuletzt geändert von fireburner am 18.03.2018 12:37:35, insgesamt 1-mal geändert.
Re: Host Standy verhindern, soange VM läuft
Läuft Qemu als root? Dann tut bei mir systemd-inhibit, was es soll:
https://wiki.ubuntuusers.de/systemd/systemd-inhibit/
Danach nervt allerdings Polkit ...
Als einfacher Benutzer klappt das bei mir nicht. Bzw. vermutlich klappt es, wenn ein anderer einfacher Benutzer Qemu ausführt.
https://wiki.ubuntuusers.de/systemd/systemd-inhibit/
Danach nervt allerdings Polkit ...
Als einfacher Benutzer klappt das bei mir nicht. Bzw. vermutlich klappt es, wenn ein anderer einfacher Benutzer Qemu ausführt.
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
"No computer system can be absolutely secure." Intel Document Number: 336983-001
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
Re: Host Standy verhindern, soange VM läuft
Nein, Qemu läuft unter dem Benutzer libvirt-qemu
Re: Host Standy verhindern, soange VM läuft
Probiere es doch erst mal aus: Greift der Auto-Suspend dann noch?
Code: Alles auswählen
su
systemd-inhibit nano
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
"No computer system can be absolutely secure." Intel Document Number: 336983-001
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
Re: Host Standy verhindern, soange VM läuft
Danke dir. Werde ich heute Abend mal testen.
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
Re: Host Standy verhindern, soange VM läuft
Das funktioniert schon mal so weit.
Nun müsste ich nur noch wissen, wo in Virt-Manager der Pfad zum QEMU Binary hinterlegt ist, um dort dann systemd-inhibit mit angeben zu können.Oder würde das per Alias auch funktionieren?
Bei Virt-Manager erstelle VMs lässt sich (scheinbar) leider nicht per virsh der Status abrufen,um das irgendwie per Skript verwerten zu können. Oder kennt da auch jemand einen Trick, wie man trotzdem die virsh commands nutzen könnte.
Nun müsste ich nur noch wissen, wo in Virt-Manager der Pfad zum QEMU Binary hinterlegt ist, um dort dann systemd-inhibit mit angeben zu können.Oder würde das per Alias auch funktionieren?
Bei Virt-Manager erstelle VMs lässt sich (scheinbar) leider nicht per virsh der Status abrufen,um das irgendwie per Skript verwerten zu können. Oder kennt da auch jemand einen Trick, wie man trotzdem die virsh commands nutzen könnte.
Re: Host Standy verhindern, soange VM läuft
Tja ... jetzt wird's hässlich.
Möglichkeit 1:
Du legst dir einen zweiten Benutzer benutzer2 an und startest die VM mit:
Möglichkeit 2:
Du bastelst dir ein Wrapper-Script. Das wird hier an einem viiiiel komplizierteren Beispiel beschrieben:
http://vfio.blogspot.de/2015/05/
Dein Script müsste so aussehen:
virsh edit <NameDerVM>
müsstest du eigentlich die XML-Definition deiner VM sehen können.
Mit <emulator> ... </emulator> ist gekennzeichnet, welchen Emulator sie benutzt.
Vielleicht wartest du noch mal ab, ob noch jemandem eine weniger bescheuerte Lösung einfällt ... das kann doch nicht so umständlich sein ...
Möglichkeit 1:
Du legst dir einen zweiten Benutzer benutzer2 an und startest die VM mit:
Code: Alles auswählen
xhost + local:
su benutzer2
systemd-inhibit virt-manager
Du bastelst dir ein Wrapper-Script. Das wird hier an einem viiiiel komplizierteren Beispiel beschrieben:
http://vfio.blogspot.de/2015/05/
Dein Script müsste so aussehen:
Code: Alles auswählen
#!/bin/sh
exec systemd-inhibit <Pfad zum richtigen Emulator> "$@"
Vermutlich nicht. Dazu müsste eine Shell im Spiel sein, und auch noch die richtige mit dem richtigen Alias.
Ehh ... kannst du nicht? Doch, das sollte eigentlich gehen. virt-manager nutzt unter der Haube auch nur libvirt und virsh ist "die andere Benutzeroberfläche" zu libvirt. Mitfireburner hat geschrieben:06.03.2018 23:27:32Bei Virt-Manager erstelle VMs lässt sich (scheinbar) leider nicht per virsh der Status abrufen,um das irgendwie per Skript verwerten zu können.
virsh edit <NameDerVM>
müsstest du eigentlich die XML-Definition deiner VM sehen können.
Mit <emulator> ... </emulator> ist gekennzeichnet, welchen Emulator sie benutzt.
Vielleicht wartest du noch mal ab, ob noch jemandem eine weniger bescheuerte Lösung einfällt ... das kann doch nicht so umständlich sein ...
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001
"No computer system can be absolutely secure." Intel Document Number: 336983-001
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
Re: Host Standy verhindern, soange VM läuft
Was wäre hier der Unterschied im Vergleich wenn ich systemd-inhibit virt-manager mit meinem Benutzer ausführen würde?NAB hat geschrieben:07.03.2018 00:35:22Tja ... jetzt wird's hässlich.
Möglichkeit 1:
Du legst dir einen zweiten Benutzer benutzer2 an und startest die VM mit:Code: Alles auswählen
xhost + local: su benutzer2 systemd-inhibit virt-manager
Der Nachteil ist halt, dass dann der Standby schon geblockt ist, sobald Virt-Manager gestartet ist und ich es nicht von einer bestimmten VM abhängig machen kann.
Aber als aller erster Lösungsansatz erst mal besser als jedes mal Standby abzuschalten.
Leider zeigt mir vrish list --all keinen einzigen Eintrag an. Auch virsh edit VM funktioniert nicht und folgende Meldung erscheint:NAB hat geschrieben:07.03.2018 00:35:22Vermutlich nicht. Dazu müsste eine Shell im Spiel sein, und auch noch die richtige mit dem richtigen Alias.
Ehh ... kannst du nicht? Doch, das sollte eigentlich gehen. virt-manager nutzt unter der Haube auch nur libvirt und virsh ist "die andere Benutzeroberfläche" zu libvirt. Mitfireburner hat geschrieben:06.03.2018 23:27:32Bei Virt-Manager erstelle VMs lässt sich (scheinbar) leider nicht per virsh der Status abrufen,um das irgendwie per Skript verwerten zu können.
virsh edit <NameDerVM>
müsstest du eigentlich die XML-Definition deiner VM sehen können.
Mit <emulator> ... </emulator> ist gekennzeichnet, welchen Emulator sie benutzt.
Code: Alles auswählen
irsh edit Windows_10_Pro_Gaming
error: failed to get domain 'Windows_10_Pro_Gaming'
error: Domain not found: no domain with matching name 'Windows_10_Pro_Gaming'
Es sieht so aus, als ob virsh die von virt-manager erstellten VMs nicht erkennt.
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
Re: Host Standy verhindern, soange VM läuft
Okay bezüglich virsh und dem nicht anzeigen/editieren der VMs, habe ich im Debian Wiki zu KVM folgenden entscheidenden Hinweis gefunden:
Damit zeigt er mir die VMs an und ich kann diese auch bearbeiten.libvirt defaults to qemu:///session for non-root. So from <youruser> you'll need to do:
$ virsh --connect qemu:///system list --all
-
- Beiträge: 140
- Registriert: 01.12.2017 20:51:31
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Dänenland
Re: Host Standy verhindern, soange VM läuft
Ich habe mir jetzt ein Skript geschrieben, dass einfach die Maus bewegt, wenn die Windows VM läuft und seit 5 Minuten keine Aktivität am Host verzeichnet wurde.
http://nopaste.debianforum.de/40196
http://nopaste.debianforum.de/40196