VNC远程桌面

点击这里在哔哩哔哩bilibili在线观看配套的教学视频《vnc软件》

点击这里在哔哩哔哩bilibili在线观看配套的教学视频《qemu+vnc》

1 vnc软件

1.1 ubuntu

Ubuntu 服务端 Settings -> Sharing -> Screen Sharing -> 启用旧式vnc协议 -> 打开远程控制

在客户端Remmina输入: sonvhi-XPS-13-9305.local(hostname.local)或 ip, 注意前面不能有vnc://,连接后点击切换绽放模式

1.2 macOS

服务端System Settings -> General -> Sharing -> Screen Sharing -> 开关右侧的i号

客户端可以使用系统自带的屏幕共享,Spotlight Search(command+space)搜索Screen Sharing,然后直接输入ip。还可以在Finder(访达)中按cmd+k跳出输入框,或在浏览器中,输入vnc://${server_ip}。自带的屏幕共享鼠标功能支持更好。

客户端还可以使用tightvnc,在appstore安装Remote Ripple。鼠标功能支持不够(至少在连接ubuntu时)。

1.3 tightvnc

Linux下,客户端 xtightvncviewer, 服务端 tightvncserver。服务端 tightvncserver 启动后,客户端连接后画面一片灰,原因暂时不明,推荐使用上面系统自带的 vnc 软件。

2 QEMU+VNC安装系统

通过iso文件安装Linux发行版时,要么在物理机上安装,要么在virt-manager上安装,如果我们想在没有图形界面的server环境上用命令行安装一个图形界面发行版,可以使用qemu+vnc来实现。下面我们以麒麟系统桌面发行版安装为例说明qemu+vnc的安装过程。

首先挂载iso文件,并把文件复制出来:

mkdir mnt
sudo mount Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.iso mnt -o loop
mkdir tmp
cp mnt/. tmp/ -rf
sudo umount mnt

创建qcow2文件,并运行虚拟机:

qemu-img create -f qcow2 Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.qcow2 512G
qemu-system-x86_64 \
-m 4096M \
-smp 16 \
-boot c \
-cpu host \
--enable-kvm \
-hda Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.qcow2 \
-cdrom Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.iso \
-kernel tmp/casper/vmlinuz \
-initrd tmp/casper/initrd.lz \
-vnc :1

vnc客户端可以使用ubuntu自带的Remmina(当然也可以使用其他vnc客户端),连接${server_ip}:5901,端口5901是由-vnc :1决定的(5900 + 1)。macOS要使用appstore安装的Remote Ripple,好像无法使用macOS自带的vnc客户端。

安装完成后,再运行:

qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 16 \
-m 4096 \
-device virtio-scsi-pci \
-drive file=Kylin-Desktop-V10-SP1-General-Release-2303-X86_64.qcow2,if=none,format=qcow2,cache=writeback,file.locking=off,id=root \
-device virtio-blk,drive=root,id=d_root \
-net nic,model=virtio,macaddr=00:11:22:33:44:55 \
-net bridge,br=virbr0 \
-vnc :1

但arm64的麒麟桌面系统没法这样安装,暂时还没找到原因。

可以在arm芯片的mac电脑中用vmware fusion安装arm64的ubuntu。