虚拟机(VM)非常棒。 它们允许您在多个不同的平台上完成更多任务。 他们还提供了一个沙箱供您测试新事物。 当你也需要一个图形桌面时,大多数情况下都需要绑定到管理程序计算机上。
也就是说,您可以使用VNC通过您的网络共享虚拟机的桌面。 这将允许您从本地网络的任何位置访问您的虚拟机。 VNC是一种桌面共享协议,它允许Linux系统通过网络输出其图形桌面(与Windows中的远程桌面连接非常相似)。 这样,您可以在另一台计算机上打开桌面并直接与它进行交互,就像坐在它前面一样。
有很多方法可以解决这个问题。 本指南将重点介绍Ubuntu并将使用TigerVNC。 如果您有其他偏好,您可以相应地进行调整。
安装软件包
在开始之前, 您需要安装所需的软件包。大多数虚拟化是通过内核本身完成的, 所以没有什么需要的。
在服务器上
在这种情况下,服务器指的是运行虚拟机的计算机。
sudo apt install qemu-kvm libvirt-bin bridge-utils
在客户端
在这种情况下,客户端是指使用VM远程访问计算机的计算机。
sudo apt install tigervnc
设置网桥
网络桥接不是虚拟机必须的,但它非常有用,它使它们像网络上的物理机器一样运行。
这一部分并不难,但是您可能不应该通过SSH远程执行它,因为您需要在此过程后重新启动。
在服务器机器上,首先查找网络接口的名称。 运行ip a以查看您的计算机正在使用哪个网络接口。 一旦拥有了它,使用你最喜欢的文本编辑器与sudo打开“/ etc / network / interfaces”。使它看起来类似于:
auto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports eth0
将“eth0”替换为您的界面名称。 如果您有多个正在使用中,您可以列出它们由一个空格分隔。 当你的文件准备好后,保存并退出。 最好在此之后重新启动计算机以应用更改。
创建一个虚拟机
有一种直接的方法可以从命令行创建虚拟机。 当然,如果你真的不想,你可以使用像virt-manager这样的工具来制作虚拟机,但是你需要稍后修改它们。
如果你打算去命令行路线,那并不难。 有很多选择,但你当然不需要全部。
用于创建虚拟机的命令相当复杂。 有很多选择,而且这个数量会随着机器的复杂性而增加。
从命名机器开始。
sudo virt-install --name yourVM
以兆字节和CPU内核数设置内存量。
--memory 2048 --vcpus 2
接下来,告诉它以千兆字节分配多少硬盘空间,以及将从哪里安装“.iso”文件。
-disk size=20 --cdrom /home/user/Downloads/ubuntu-17.10.1-desktop-amd64.iso
您还需要告诉它通过VNC提供图形。 使用默认值并像这样配置它:
--graphics vnc,listen=0.0.0.0 -noautoconsole
最后,告诉它使用你的网桥。
--bridge br0
把它放在一起,你会得到一个像这样的命令:
sudo virt-install --name ubuntuArtful --memory 4096 --vcpus 6 --disk size=20 --cdrom /home/user/Downloads/ubuntu-17.10.1-desktop-amd64.iso --graphics vnc,listen=0.0.0.0 --noautoconsole --bridge br0
通过 VNC 连接
在客户机上打开TigerVNC。 它可能会在您的系统上被称为“vncviewer”。 窗口很简单。 输入您的服务器的IP地址并连接。
第二个窗口将打开您的虚拟机。 使用侧面的控件根据自己的喜好调整VM窗口的大小。 然后,完成虚拟机的安装。
安装完成后,您可以像使用其他任何(或本地桌面)一样使用虚拟机。 关闭后,您可以通过virsh重新启动它,然后像在这里一样通过VNC再次连接。
sudo virsh start ubuntuArtful
就是这样!现在,您可以通过网络远程创建和运行具有图形桌面的虚拟机。