vagrant快速拉起一个带GUI的Ubuntu系统

简介: vagrant快速拉起一个带GUI的Ubuntu系统

准备box文件

下载和这个源

查看box

MINGW64 /d/data/ubuntu-14
$ vagrant box list
centos/7        (virtualbox, 0)
centos/7-1      (virtualbox, 0)
centos/7-2      (virtualbox, 0)
centos/7-3      (virtualbox, 0)
ubuntu-14       (virtualbox, 0)

准备Vagrantfile

主要是安装一些GUI的依赖包

# -*- mode: ruby -*-
# vi: set ft=ruby :
# date: 2022年11月1日09:45:21 
# author: ninesun
Vagrant.configure(2) do |config|
  # Ubuntu 18.04
  config.vm.box = "ubuntu-14"
  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

启动虚拟机并开启GUI

vagrant up

Login with username: vagrant, password: vagrant via the login prompt on the virtualbox GUI.

Start xfce

startx

6df6cb636b49491e9f59b9a4446a9c04.png

双向拖拉文件和复制

安装其他软件的Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.provider :virtualbox do |v|
    v.gui = true
    v.memory = 2048
  end
  # Currently "ubuntu/bionic64" on VirtualBox requires `type: "virtualbox"`
  # to make synced folder works.
  config.vm.synced_folder ".", "/vagrant", type: "virtualbox"
  # Add Google Chrome repository
  config.vm.provision :shell, inline: "wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub|sudo apt-key add -"
  config.vm.provision :shell, inline: "sudo sh -c 'echo \"deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main\" > /etc/apt/sources.list.d/google.list'"
  # Update repositories
  config.vm.provision :shell, inline: "sudo apt update -y"
  # Upgrade installed packages
  config.vm.provision :shell, inline: "sudo apt upgrade -y"
  # Add desktop environment
  config.vm.provision :shell, inline: "sudo apt install -y --no-install-recommends ubuntu-desktop"
  config.vm.provision :shell, inline: "sudo apt install -y --no-install-recommends virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11"
  # Add `vagrant` to Administrator
  config.vm.provision :shell, inline: "sudo usermod -a -G sudo vagrant"
  # Add Google Chrome
  config.vm.provision :shell, inline: "sudo apt install -y google-chrome-stable"
  # Add Chromium
  config.vm.provision :shell, inline: "sudo apt install -y chromium-browser"
  # Add Firefox
  config.vm.provision :shell, inline: "sudo apt install -y firefox"
  # Add Japanese support
  config.vm.provision :shell, inline: "sudo apt install -y fcitx-mozc"
  config.vm.provision :shell, inline: "sudo apt install -y fonts-noto"
  # Restart
  config.vm.provision :shell, inline: "sudo shutdown -r now"
end

参考

文档

目录
相关文章
|
1天前
|
存储 Ubuntu 网络协议
从Ubuntu-base构建ubuntu rootfs系统(以x86_64和arm为例)
本文介绍了基于Ubuntu-base构建自定义Linux系统的过程,适合嵌入式设备。Ubuntu-base是最小文件系统,包含软件包管理器,可以从Ubuntu源轻松安装软件。文章详细阐述了构建步骤,包括准备宿主系统(确保使用与目标系统相同架构的Ubuntu系统)、创建和挂载分区、配置Ubuntu源、设置DNS、添加用户配置、进入chroot环境以及安装软件(如内核、X-window系统等)。对于arm架构,还提供了通过qemu在X86_64系统上构建arm rootfs的方法。整个过程强调了定制和灵活性,适合对Linux系统有深入了解的开发者。
6 0
|
2天前
|
Ubuntu 网络协议 搜索推荐
如何在Ubuntu系统上定制文件系统
该文介绍了如何在基于全志T507H处理器的OKT507-C开发板上定制Ubuntu文件系统。首先,通过解压文件系统到指定目录。接着,安装QEMU模拟器并修改配置,包括复制QEMU静态文件和DNS配置到文件系统,以及更新下载源。然后,挂载文件系统并使用shell脚本进行挂载和卸载,接着在挂载的文件系统中通过apt-get安装所需软件,如minicom。最后,打包文件系统为tar.gz格式,替换旧的文件系统压缩包,重新编译生成新的镜像烧录到开发板。通过这种方法,可以方便地批量定制和预装软件到开发板,提高生产效率。
15 0
|
3天前
|
Ubuntu Apache 数据库
如何在Ubuntu系统部署Z-blog博客结合cpolar实现无公网IP访问本地网站
如何在Ubuntu系统部署Z-blog博客结合cpolar实现无公网IP访问本地网站
22 2
|
4天前
|
运维 监控 Ubuntu
Python实现ubuntu系统进程内存监控
Python实现ubuntu系统进程内存监控
11 1
|
12天前
|
Ubuntu 网络协议 搜索推荐
如何在Ubuntu系统上定制文件系统
本文介绍了如何基于全志T507H处理器的OKT507-C开发板上定制Forlinx Desktop(Ubuntu)文件系统。首先,通过解压文件系统并进入OKT507-linux-ubuntu目录。接着,安装QEMU,包括更新下载源和安装相关包。然后,修改配置,如复制DNS配置和修改下载源。挂载文件系统,通过编写ch-mount.sh脚本实现挂载和卸载。安装所需软件,例如使用apt-get安装minicom。最后,打包文件系统,用tar命令压缩并替换旧的文件系统压缩包,重新编译生成新镜像,烧录到开发板。测试方法是通过minicom验证软件是否成功安装。这种定制方式简化了批量生产中的软件安装步骤。
29 3
|
12天前
|
Ubuntu Shell 网络安全
【专栏】在Ubuntu 22.04上安装KubeSphere的指南:确保系统至少有4GB内存和2核CPU,安装Docker和docker-compose
【4月更文挑战第28天】在Ubuntu 22.04上安装KubeSphere的指南:确保系统至少有4GB内存和2核CPU,安装Docker和docker-compose。下载安装脚本`curl -sSL https://kubesphere.io/install.sh | bash`,根据提示选择安装选项,等待完成。安装后,通过访问控制台验证安装效果。解决可能出现的错误、网络问题和性能问题,利用KubeSphere提升容器管理效率。本文为顺利安装和使用提供参考。
|
14天前
|
Web App开发 缓存 Ubuntu
Ubuntu系统的基础操作和使用
Ubuntu系统的基础操作和使用
27 2
|
16天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
31 1
|
17天前
|
人工智能 Ubuntu 开发工具
【Ubuntu工具】避坑指南:搞坏一台电脑,终于在Ubuntu系统上成功源码安装了 QT WebEngine 5.15.13
【Ubuntu工具】避坑指南:搞坏一台电脑,终于在Ubuntu系统上成功源码安装了 QT WebEngine 5.15.13
45 0
|
17天前
|
人工智能 Ubuntu Shell
【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)
【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)
43 0