[virtual-machine] 데스크톱 환경에서 가상 컴퓨터를 실행하기 위해 vagrant 사용

우리 회사의 개발 환경은 VirtualBox에서 실행되는 가상 머신을 기반으로합니다. 한 단계 더 나아가서 Vagrant의 기능을 사용하여 컴퓨터에 대한 설명을 텍스트 파일로 만든 다음 해당 텍스트 파일을 기반으로 해당 시스템을 “일으킬”수 있습니다. 꼭두각시와 결합하면 모든 사람이 VM에 다른 소프트웨어 버전이 설치되어 있다는 문제를 해결할 수 있습니다.

그러나 Vagrant는 호스트를 개발하는 데 매우 집중하여 백그라운드에서 기계를 사용할 수있게합니다. 우리는 기계 내에 개발 환경이 필요하므로 완전한 GUI가 필요합니다. 따라서 “유기”를 입력하면 완전한 데스크탑 환경 (XFCE, KDE …)이있는 기계가 나타납니다.

지금까지 Xubuntu 배포판에서 “기본”상자를 만들었습니다. 그러나 “vagrant up”을 입력하면 바탕 화면이 나타나고 제대로 로그인 할 수 있지만 Vagrant는 “컴퓨터 부팅 대기 중입니다. 몇 분 정도 걸릴 수 있습니다 …”메시지가 표시됩니다. 잠시 후 Vagrant가 시간 초과로 인해 충돌합니다. 따라서 공유 폴더가 생성되지 않거나 패키지 프로 비저 -puppet-이 실행되지 않습니다.

방랑자를 사용하여 완전한 GUI로 가상 머신을 작성하는 방법은 무엇입니까?



답변

방금 기본적으로 세 단계로 작업했습니다. 의 조언 askubuntu.com이 나에게 효과적이지 않았 으므로이 단순화 된 버전을 사용해보십시오.

  1. 기본 우분투 이미지 작업을하십시오. 부팅 할 수 있어야합니다 vagrant ssh.
  2. 그런 다음 VirtualBox 디스플레이를 활성화합니다 (기본적으로 꺼져 있음). VM을 중지하고 다음 행을 주석 해제하십시오 Vagrantfile.
    config.vm.provider : virtualbox do | vb |
      vb.gui = true
    종료
  3. VM을 부팅하고 새 디스플레이 창을 관찰하십시오. 이제 설치하고 시작하면 xfce4됩니다. 사용 vagrant ssh및 :
    sudo apt-get 설치 xfce4
    sudo startxfce4 &
    

이 Ubuntu 환경을 처음 실행하는 경우 xfce4를 설치하기 전에 다음 명령을 실행해야합니다.

sudo apt-get 업데이트

그게 다야, 당신은 xfce4세션에 착륙해야합니다 .

업데이트 : 더 나은 경험을 위해 다음 개선 사항을 권장합니다.

  1. 루트로 GUI를 시작하지 마십시오. 당신은 정말로 vagrant사용자 를 유지하고 싶습니다 . 이렇게하려면 누구나 GUI를 시작 sudo vim /etc/X11/Xwrapper.config하고 편집 할 수 있도록해야합니다 allowed_users=anybody.
  2. 다음으로 GUI 시작 하기 전에 VirtualBox 게스트 도구 설치하십시오 . 이것은 건강한 화면 해상도, 통합 마우스 등을 제공합니다.
    $ sudo apt-get 설치 -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
    $ sudo VBoxClient-all
  3. 을 사용하여 GUI를 vagrant사용자 로 시작해야합니다 $ startxfce4&.

업데이트 2 : 오늘 이것을 시도하고 VBoxClient-all스크립트가 항상 설치되는 것은 아닙니다. 누락 된 경우 해당 항목으로 바꿀 수 있습니다.

sudo VBoxClient-클립 보드
sudo VBoxClient-드래그 앤 드롭
sudo VBoxClient-디스플레이
sudo VBoxClient --checkhostversion
sudo VBoxClient-완벽한


답변

다음은 Air의 탁월한 답변입니다. Vagrantfile

Vagrant.configure(2) do |config|
  # Ubuntu 15.10
  config.vm.box = "ubuntu/wily64"

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
  end

  # Install xfce and virtualbox additions
  config.vm.provision "shell", inline: "sudo apt-get update"
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11"
  # Permit anyone to start the GUI
  config.vm.provision "shell", inline: "sudo sed -i 's/allowed_users=.*$/allowed_users=anybody/' /etc/X11/Xwrapper.config"
end

vm을 시작하려면

vagrant up

virtualbox GUI의 로그인 프롬프트를 통해 username : vagrant, password : vagrant로 로그인하십시오.

xfce 시작

startx


답변

내 2 센트

  • 버그를 피하려면 최신 방랑자 (1.3.3) + VirtualBox (4.2.18)를 실행해야합니다.

  • 쉘 스크립트 또는 인라인 명령을 사용하여 데스크탑 환경 또는 경량 창 관리자를 설치할 수 있습니다

    예를 들어 vagrantbox.es 의 Ubuntu 12.04 Precise base box 위에 LXDE를 설치 하십시오.

Vagrant.configure("2") do |config|
  # ... other configuration

  config.vm.provision "shell" do |s|
    s.inline = "apt-get install lubuntu-desktop -y"
  end
end
  • 고유 한 기본베이스 박스를 빌드하는 경우 베이스 박스 패키징 지침을 따르거나 패커 (또는 veewee)와 같은 도구를 사용하여 빌드를 자동화하십시오.

답변

AirNik 의 답변 덕분에 Ubuntu 18.04 LTS / bionic에 맞게 약간 조정 된 Vagrantfile 이 있습니다.이 게시물 은 VirtualBox를 사용할 때 디스크 크기를 늘리는 방법을 설명합니다 (기본값 = 10GB).

VM에는 LightDM 로그인 화면이 포함되어 있습니다.

업데이트 : 이 예제에서 GitHub 리포지토리 를 만들었으며 프론트 엔드 + 백엔드 개발을 위해 많은 소프트웨어 패키지를 추가했습니다.

# Optional - enlarge disk:
#vagrant plugin install vagrant-disksize
vagrant up
vagrant reload
# After reboot, the VM screen should show the LightDM login screen.
# Log in as user "vagrant", password "vagrant".
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/bionic64"
  # Optional - enlarge disk (will also convert the format from VMDK to VDI):
  #config.disksize.size = "50GB"

  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    vb.gui = true
  end

  # /ubuntu/1067929/on-18-04-package-virtualbox-guest-utils-does-not-exist
  config.vm.provision "shell", inline: "sudo apt-add-repository multiverse && sudo apt-get update"

  # Install xfce and virtualbox additions.
  # (Not sure if these packages could be helpful as well: virtualbox-guest-utils-hwe virtualbox-guest-x11-hwe)
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11"
  # Permit anyone to start the GUI
  config.vm.provision "shell", inline: "sudo sed -i 's/allowed_users=.*$/allowed_users=anybody/' /etc/X11/Xwrapper.config"

  # Optional: Use LightDM login screen (-> not required to run "startx")
  config.vm.provision "shell", inline: "sudo apt-get install -y lightdm lightdm-gtk-greeter"
  # Optional: Install a more feature-rich applications menu
  config.vm.provision "shell", inline: "sudo apt-get install -y xfce4-whiskermenu-plugin"
end


답변

우분투 데스크탑 이미지를 사용하고 있으며 가상 상자 공급자가있는 Windows의 두 모니터와 잘 작동합니다.

Vagrant.configure(2) do |config|
  config.vm.box = "box-cutter/ubuntu1404-desktop"

  config.ssh.forward_agent = true

  config.vm.network "forwarded_port", guest: 8080, host: 8080
  config.vm.network "forwarded_port", guest: 3000, host: 3000


  config.vm.synced_folder "../../git", "/home/vagrant/git"

  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.customize ["modifyvm", :id, "--monitorcount", "2"]
    vb.memory = "2048"
  end
end


답변

당신은 또한 고려할 수 있습니다 패커를 개발자가 사용하는 버추얼 이미지를 만들 수 있습니다.

개발자가 각각 VM을 빌드하고 실행하는 데 사용하는 Vagrantfile을 공유하는 대신 VM 이미지를 만드는 데 사용되는 패커 템플릿 (json)이 있습니다. 개발자는 이미지를 직접 빌드하지 않고도 이미지를 다운로드하거나 복사하여 VB에서 직접 로컬로 실행할 수 있습니다.

공개적으로 공유되는 Vagrant 기본 상자 중 많은 부분이 Packer로 작성됩니다.


답변

/ubuntu/300799/does-ubuntu-12-04-lts-32-bit-have-graphic-user-interface/300805#300805

데스크톱을 설치 한 후 그래픽 환경으로 직접 부팅 할 수있는 GDM도 설치해야합니다. 또한 구성하고 싶을 것입니다.

아마 이것을 추가 하시겠습니까?

Vagrant::Config.run do |config|
    config.vm.provision :shell, :inline => "sudo apt-get install gdm"
    config.vm.provision :shell, :inline => "sudo dpkg-reconfigure gdm"
end