我公司的开发环境是基于虚拟机的,运行在VirtualBox上。我们还想更进一步,使用Vagrant的功能将机器的描述保存在文本文件中,然后能够基于该文本文件“提升”该机器。结合puppet,这将为我们解决每个人在虚拟机上安装不同软件版本的问题。
不过,流浪汉似乎很专注于在主机上开发,让机器在后台。我们需要在机器中拥有我们的开发环境,因此我们需要一个完整的GUI,所以当输入“流浪”时,应该会出现一台具有完整桌面环境(XFCE,KDE...)的机器。
到目前为止,我已经设法从 Xubuntu 发行版创建了一个“基础”框。但是当我键入“流浪汉”时,尽管桌面出现,并且我能够正确登录,但Vagrant在消息“等待机器启动。这可能需要几分钟...“。过了一会儿,流浪汉因超时而崩溃。因此,不会创建共享文件夹,也不会执行包预配器 - puppet。
如何创建一个虚拟机与一个完整的GUI使用流浪者?
这是一个稍微适应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
以下是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
我只是通过三个步骤完成了这项工作。askubuntu.com
的建议对我不太管用,所以试试这个简化版本:
vagrant ssh
.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
会话中。
更新:为了获得更好的体验,我推荐以下改进:
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
.$ 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中是否存在这样的东西?即使它