当前位置: 首页 > 知识库问答 >
问题:

在桌面环境下使用流浪者运行虚拟机

袁高峰
2023-03-14

我公司的开发环境是基于虚拟机的,运行在VirtualBox上。我们还想更进一步,使用Vagrant的功能将机器的描述保存在文本文件中,然后能够基于该文本文件“提升”该机器。结合puppet,这将为我们解决每个人在虚拟机上安装不同软件版本的问题。

不过,流浪汉似乎很专注于在主机上开发,让机器在后台。我们需要在机器中拥有我们的开发环境,因此我们需要一个完整的GUI,所以当输入“流浪”时,应该会出现一台具有完整桌面环境(XFCE,KDE...)的机器。

到目前为止,我已经设法从 Xubuntu 发行版创建了一个“基础”框。但是当我键入“流浪汉”时,尽管桌面出现,并且我能够正确登录,但Vagrant在消息“等待机器启动。这可能需要几分钟...“。过了一会儿,流浪汉因超时而崩溃。因此,不会创建共享文件夹,也不会执行包预配器 - puppet。

如何创建一个虚拟机与一个完整的GUI使用流浪者?

共有3个答案

岳和泽
2023-03-14

这是一个稍微适应Ubuntu 18.04 LTS/bionic的Vagrantfile-感谢Air和Nik的回答,这篇文章解释了如何在使用VirtualBox(默认=10 GB)时增加磁盘大小。

VM包括一个LightDM登录屏幕。

更新:我从这个例子中创建了一个GitHub repo,并添加了许多用于前端和后端开发的软件包。

# 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

  # https://askubuntu.com/questions/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
锺离玮
2023-03-14

以下是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上的登录提示,使用用户名:vagrant,密码:

启动xfce

startx
滕渝
2023-03-14

我只是通过三个步骤完成了这项工作。askubuntu.com 的建议对我不太管用,所以试试这个简化版本:

  1. Get a basic Ubuntu image working. You should be able to boot it and vagrant ssh.
  2. Next, enable the VirtualBox display, which is off by default. Halt the VM and uncomment these lines in Vagrantfile:
    config.vm.provider :virtualbox do |vb|
      vb.gui = true
    end
    sudo apt-get install xfce4
    sudo startxfce4&
    

    如果这是您第一次运行此Ubuntu环境,则需要在安装xfce4之前运行以下命令:

    sudo apt-get update
    

    就是这样,您应该登录到xfce4会话中。

    更新:为了获得更好的体验,我推荐以下改进:

    1. Don't start the GUI as root. You really want to stay the vagrant user. To do this you need to permit anyone to start the GUI: sudo vim /etc/X11/Xwrapper.config and edit it to allowed_users=anybody.
    2. Next, install the VirtualBox guest tools before starting the GUI. This will give you a healthy screen resolution, integrated mouse, etc.
      $ sudo apt-get install -y xfce4 virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11
      $ sudo VBoxClient-all

      更新 2:今天已尝试此操作,但并不总是安装 VBox 客户端脚本。如果缺少,您可以替换为等效项:

      sudo VBoxClient --clipboard
      sudo VBoxClient --draganddrop
      sudo VBoxClient --display
      sudo VBoxClient --checkhostversion
      sudo VBoxClient --seamless

 类似资料:
  • 我安装的虚拟环境使用()。这就出现了。

  • 问题是最清楚的,< br >如何在Docker远程容器中启动完整的桌面环境(KDE,XFCE,Gnome无关紧要)。 我在互联网上挖掘,有很多关于相关主题的问题,但不一样,它们都是关于如何运行GUI应用程序,而不是完整的桌面。 我发现: 必要的运行 以某种方式运行例如 Xfce 在该帧缓冲区中 允许 x11vnc 共享正在运行的 X 环境 但是我实际上被困在这里了,总是得到一些错误: 为了达到目标

  • 我一直在使用Spyder安装的Anaconda发行版,默认使用Python 2.7。目前我需要用Python 3.4设置一个开发虚拟环境。 在线调查后的两大建议是: 首先设置虚拟环境,并指向更改Spyder的首选项,例如这里; 在虚拟环境中安装所有Spyder依赖项,如PyQt4,例如这里; 这两项建议都很繁琐,看起来不像是明智的发展选择。 是否有一个解决方案,将允许运行Spyder所需的Pyth

  • python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本带来的冲突,而且还能方便项目的发布。 virtualenv virtualenv可用于创建独立的 Python 环境,它会创建一个包含项目所必须要的执行文件。 安装 virtualenv $ pip install virtualenv 配置 pip 安装第

  • 我目前有一个windows10,我喜欢它的所有功能,除了开发。所以每当我需要工作时,我都会运行一台Ubuntu虚拟盒子机器,并在那里进行编码。 我最近开始和一个团队一起工作,这个团队使用了流浪者盒子(用于开发环境)和Ansible(用于供应)。我的问题是,有没有可能在我的Ubuntu虚拟机内部运行一个流浪者盒子来为它配置Ansible?(因为它只在Linux发行版上可用)。 我意识到这有点令人困惑

  • 问题内容: 从代码移动到新机器(可能运行不同的OS)相对简单并且给出相同结果的意义上来说,主要的工作之一就是确保代码的可移植性。 来自Python背景,我习惯了虚拟环境的概念。与所需软件包的简单列表一起使用时,这可以确保安装的软件包和库在任何计算机上都可用,而不会引起太多麻烦。当然,这不能保证- 不同的操作系统都有自己的缺点和特点-但这可以为您提供95%的解决方案。 R中是否存在这样的东西?即使它