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= .