Para iniciar uma VM no login e fazer com que ela pare no logout, você pode usar as unidades do usuário systemd.
Crie um arquivo '~ / .config / systemd / user / myvm.service com o seguinte conteúdo:
[Unit]
Description=My VM
[Service]
ExecStart=vboxmanage startvm myVM -type headless
ExecStop=vboxmanage controlvm myVM acpipowerbutton
# Actually, I'm not sure about the stop command, but I'm confident you will figure that one out
RemainAfterExit=true
[Install]
WantedBy=default.target
Depois, execute systemctl --user enable myvm.service
. Agora você pode iniciar sua VM com systemctl --user start myvm.service
e pará-lo com systemctl --user stop myvm.service
. Fazer o login e sair deve iniciar e parar sua VM.
Se você precisar disso na inicialização, em vez de efetuar login, tente criar uma unidade systemd do sistema e especifique o usuário em execução na seção [Service]
com User=
e Group=
.