Привет! Создание изолированного окна операционной системы с сохранением всех функций, которые ты описал, требует использования виртуализации или контейнеризации. Самый подходящий инструмент для этой задачи — это VirtualBox вместе с Vagrant. Ниже приведен пример скрипта, который автоматизирует создание и запуск виртуальной машины с помощью этих инструментов. Сначала убедись, что у тебя установлены VirtualBox и Vagrant.
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64" # Ubuntu 18.04 LTS
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
vb.cpus = 1
end
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
sudo apt-get install -y xfce4 xfce4-goodies
sudo apt-get install -y virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
SHELL
config.vm.network "public_network"
end
Скрипт на Python
import os
import subprocess
def create_vagrant_environment():
# Создаем Vagrantfile
vagrantfile_content = """
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/bionic64" # Ubuntu 18.04 LTS
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
vb.cpus = 1
end
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
sudo apt-get install -y xfce4 xfce4-goodies
sudo apt-get install -y virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
SHELL
config.vm.network "public_network"
end
"""
with open("Vagrantfile", "w") as f:
f.write(vagrantfile_content)
# Инициализируем и запускаем виртуальную машину
subprocess.run(["vagrant", "up"])
def destroy_vagrant_environment():
# Останавливаем и удаляем виртуальную машину
subprocess.run(["vagrant", "destroy", "-f"])
if __name__ == "__main__":
create_vagrant_environment()
input("Press Enter to destroy the environment...")
destroy_vagrant_environment()