我正在尝试使用带有GUI的CentOS版本的Vagrant机器。这是我的流浪文件:
Vagrant.configure(2) do |config|
config.vm.box = "puppetlabs/centos-7.0-64-nocm"
config.vm.provider :virtualbox do |vb|
vb.name = "DSW-Run-7"
end
config.vm.network "private_network", ip: "192.168.33.13"
config.vm.synced_folder ".", "/home/vagrant/CartoDSW"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
vb.memory = "2048"
end
config.vm.provision "shell", inline: <<-SHELL
sudo yum -y install epel-release
sudo yum -y install qt5-qtbase
sudo yum -y install qt5-qtbase-devel
sudo yum -y install jbigkit.x86_64
sudo yum -y install gcc-c++
sudo yum -y install git
sudo yum groupinstall basic-desktop desktop-platform x11 fonts
SHELL
end
在此之后我做了vagrant up
并且GUI已启动。我尝试使用Vagrant登录,但Vagrant说无效登录&#39;:
Centos Linux 7(核心)
内核3.10.0-123.e17.x86_64
localhost登录:vagrant
密码:密码
登录不正确
vagrant up
之后{I} vagrant ssh
使用startx
之类的命令,但仍无法启动GUI。
请建议我如何使用GUI安装CentOS,因为我需要使用QT来调试我的代码。
答案 0 :(得分:1)
为了解决Centos / 7的问题,我使用以下shell命令从Vagrant文件安装并启动了GNOME:
config.vm.provision "shell", inline: <<-SHELL
sudo yum -y groupinstall "GNOME Desktop"
sudo systemctl set-default graphical.target
sudo systemctl start graphical.target
SHELL
答案 1 :(得分:1)
对于CentOS 6,我有一个仓库可以在这里工作:https://github.com/hsiaoyi0504/vagrant_centos_6_gui。
简而言之,请使用以下代码进行安装和设置:
config.vm.provision "shell", inline: <<-SHELL
# install GUI desktop
sudo yum update
sudo yum groupinstall -y "X Window System" "Desktop"
sudo yum install -y gnome-core xfce4 xorg-x11-fonts
sudo echo "id:5:initdefault:" > /etc/inittab
# fix fonts problem in terminal
# https://forums.anandtech.com/threads/fonts-screwed-up-in-centos-6-terminal.2186468/
sudo yum -y install terminus-fonts terminus-fonts-console
reboot # reboot to load GUI
SHELL
答案 2 :(得分:0)
有两种可能的解决方案:
第一个选项:以GUI模式启动
vagrant用户在大多数情况下都没有密码(除非你另有说明并构建一个新的框),因为它与ssh密钥连接。
如果您想通过GUI连接,则需要为用户提供新密码。
vagrant ssh
以连接到VM sudo passwd
为您的用户输入新密码从那里你可以通过GUI登录,然后确保你有X环境开始工作,你可以安装
sudo yum install 'xorg*'
sudo yum install xterm
或安装Gnome环境
yum -y groups install "GNOME Desktop"
确保使用
设置Vagrantfileconfig.vm.provider "virtualbox" do |vb|
vb.gui = true
end
,当您运行vagrant up
备选方案,您的第二个选择:使用X11转发
从你试图实现的目标来看,可能有一种更好的方式(但我对QT不够熟悉,无法真正判断)。 Vagrant可以选择转发X11。
config.ssh.forward_x11
- 如果true
,X11通过SSH转发 连接已启用。默认为false。
您的主机上需要一个X11客户端(如果您在Mac上运行,您可以下载并使用XQuartz它可以很好地完成工作,如果您在另一个系统上运行,请检查等效项< / p>
因此,当您在主机上安装X11客户端并打开config.ssh.forward_x11
时,您可以直接运行X-command,它们将在您的主机上转发,所以
sudo yum install xterm
xterm &
并且xterm窗口将出现在您的主机上。
注意:您可能需要在VM上安装xauth
,例如sudo apt-get install xauth
(Debian / Ubuntu / ...)或yum install xorg-x11-xauth
(CentOS,Fedora,......)。
答案 3 :(得分:0)
将以下内容放入您的Vagrant文件中,以重置密码。适用于我通常使用的Centos 6x图像
config.vm.provision :shell, :inline => "echo \"vagrant\"|passwd --stdin vagrant"
config.vm.provision :shell, :inline => "echo \"vagrant\"|passwd --stdin root"
例如:
https://github.com/lastnitescurry/documentum71/blob/master/Vagrantfile
从中得出:
https://github.com/puphpet/packer-templates/blob/master/centos-6-x86_64/http/ks.cfg