Learn how to – Enable and use SSH X11 Forwarding on Vagrant Instances.
This guide will teach you how to configure X11 forwarding to use on Virtual Machine instances managed by Vagrant. This is a series Tutorial on building Virtual Labs with Vagrant and VirtualBox. We also have the following tutorials on Vagrant:
- How to extend Vdi and VMDK Hard disks on VirtualBox
- How To use existing virtual machines with Vagrant
X11 forwarding is crucial when you want to launch an application/utility on a Virtual Machine with no Gui, using the GUI interface of your Host machine. The Vagrant instance running will use X11 to talk to the display system of the host machine.
Before enabling X11 forwarding on the Vagrantfile, first ensure that you have required packages on the Vagrant instance that will enable X11 to work.The required utility required is
- xauth: This program is usually used to extract authorization records from one machine and merge them in on another (as is the case when using remote logins or granting access to other users)
- If it doesn’t exist install it on the Vagrant instance.
For Debian based systems: Ubuntu/Debian/Linux Mint, Kali Linux e.t.c, do
sudo apt update
sudo apt install xauth
For CentOS 7 and below, Fedora 21 and below run:
sudo yum install xorg-x11-xauth
See screenshot below:
For Fedora run:
sudo dnf install xorg-x11-xauth
- Once you’ve installed xauth if it didn’t exist, stop the Vagrant instance
vagrant halt
- Open Vagrantfile
vim Vagrantfile
or
nano Vagrantfile
- Now edit the Vagrant file and add below lines just after the vagrant.vm name
config.ssh.forward_agent = true
config.ssh.forward_x11 = true
- Save changes and start the Vagrant instance
vagrant up
- Now ssh to Vagrant instance by running the command vagrant ssh
vagrant ssh
You will get the message “/home/vagrant/. Xauthority” does not exist. This is okay since we’re running it for the first time. The “xauth” program will create.Xauthority file for you.
- Do a test on the vagrant instance running to check if indeed the X11 forwarding is working. On Vagrant Virtual Machine’s terminal run any of below commands. If you see window popup, then it’s working just fine.
xeyes xclock
To use xeyes and xclock on CentOS 7 and below install it using
yum install xorg-x11-apps.x86_64
For Fedora 21,20 and below, use
yum install xorg-x11-apps
For Fedora 22 and Fedora 23
dnf install xorg-x11-apps
Tags:
- How to enable X11 forwarding on Vagrant
- Running Virtual Machine with X11 enabled on the vagrant environment
- X11 Forwarding for SSH on Vagrant instances
Leave a Reply
You must be logged in to post a comment.