Proxmox VE 云桌面实战 ④ - 打造属于自己的Linux云电脑 - Ubuntu篇
前言
接上文,本文将讲述如何在Ubuntu 22.04.2 LTS上配置Sunshine云桌面环境
安装Ubuntu
虚拟机配置同上文,为了方便安装NVIDIA驱动,同样不启用安全启动
这里选择最简单的ext4分区:
配置用户时,勾选自动登录
,原因详见上文:
安装GRID驱动
确保系统最新
1 | sudo apt update |
如果升级了内核,则需重启
1 | reboot |
安装依赖
1 | sudo apt install linux-headers-$(uname -r) gcc make dkms libglvnd-core-dev libglvnd0 libglvnd-dev |
禁用nouveau驱动
1 | echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf |
更新initramfs
1 | sudo update-initramfs -u -k all |
重启到多用户模式
1 | sudo systemctl set-default multi-user.target |
安装GRID驱动
1 | sudo -i |
弹出建议使用软件源安装的提示,选择继续安装
安装32位兼容库
注册为DKMS模块,这样内核更新后驱动会重新编译以自动适配新内核
我们需要手动生成X配置文件,选择No
重启到图形模式
1 | sudo systemctl set-default graphical.target |
激活vGPU许可
1 | sudo curl --insecure -X GET https://<fastapi-dls-ip>/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token.tok |
可以执行以下命令查看是否生效:
1 | rickg@clouddesktop:~$ nvidia-smi -q | grep "License" |
安装Sunshine
下载&安装
前往GitHub Release页面下载Sunshine
1 | sudo apt install ./sunshine-ubuntu-22.04-amd64.deb |
添加udev规则
Sunshine需要uinput的权限才能创建鼠标和虚拟手柄事件
1 | echo 'KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess"' | \ |
随后重启
1 | reboot |
配置GDM & Xorg
GDM
编辑/etc/gdm3/custom.conf
,去除WaylandEnable=false
的注释:
1 | # GDM configuration storage |
Xorg
编辑/etc/X11/xorg.conf
:
1 | Section "ServerLayout" |
BoardName即GPU型号,BusID根据实际情况来,执行lspci | grep VGA
:
1 | rickg@clouddesktop:~$ lspci | grep VGA |
可以看到vGPU的ID是01:00.0,BusID则为”PCI:1:0:0”
连接到VM
重启VM,ssh连接到VM,启动Sunshine服务:
1 | systemctl enable --now --user sunshine |
访问https://<vm-ip>:47990/
,进入WebUI
首次配置用户名密码
可以看到启用了NVENC硬件编码和NVFBC捕获
打开Moonlight,连接,配对,云桌面就在眼前: