made function and added nographic flag

This commit is contained in:
aryan 2024-08-21 19:35:32 -06:00
parent 5e94d00a5c
commit 4b2ab6794c

View file

@ -1,24 +1,45 @@
from subprocess import Popen, PIPE from subprocess import Popen, PIPE
import os import os
from pathlib import Path
import argparse
user = os.getlogin() def vm_start(nographic=False):
image = f"/home/{user}/safe/debian.qcow2" home = Path.home()
user = os.getlogin()
image_src = "var/lib/debian.qcow2"
vm_storage_location = f"/home/arvp/virtual_machines/{user}.qcow2"
image_dest = f"{home}/debian.qcow2"
initialize = [
"qemu-system-x86_64",
"-enable-kvm",
"-m", "2G", # ram allocation
"-nic", "user,hostfwd=tcp::5555-:22", #forward port 5555 in host to port 22 in vm
"-drive", "file=%s,media=disk,if=virtio" % image_dest,
initialize = [ # "-nographic",
"qemu-system-x86_64", # "-serial", "mon:stdio",
"-enable-kvm",
"-m", "2G", # ram allocation
"-nic", "user,hostfwd=tcp::5555-:22", #forward port 5555 in host to port 22 in vm
"-drive", "file=%s,media=disk,if=virtio" % image,
# "-nographic", "-vga", "virtio", # i think this fixes resolution but idk yet
# "-serial", "mon:stdio", "-display", "sdl",
]
"-vga", "virtio", # i think this fixes resolution but idk yet if nographic==True:
"-display", "sdl", initialize.append("-nographic")
] initialize.append("-serial")
initialize.append("mon:stdio")
#Popen(["cp", "/home/chopper/safe/debian.qcow2", f"/home/{user}/nnnnndebian.qcow2"]) #copy the base image to a directory with everyones virtual machines. #copy the base image to a directory with everyones virtual machines. -n should not overwrite any existing vms.
Popen(initialize) #subprocess.run(["cp", "-n", image_src, vm_storage_location])
Popen(initialize)
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="ARVP Onboarding Virtual Machine Launcher! Don't use --nographic if you are in a tmux session. it might explode :3")
parser.add_argument(
"--nographic",
action="store_true",
help="Run QEMU in nographic mode (runs the VM embedded in your terminal instead of opening a new window)",)
args = parser.parse_args()
vm_start(nographic=args.nographic)