ubuntu 20 桌面版安装备忘

最近攒了一台服务器,安装上去ubuntu20然后用vnc在开发的电脑上控制,使用了virtualgl和tourboVnc来保证游戏画面也可以正常映射,下面是安装配置的过程:

安装后:

安装smb

sudo apt install samba

配置/etc/samba/smb.conf

systemctl start samba

支持opengl的vnc

从这里下载virtual gl

https://sourceforge.net/projects/virtualgl/

缺少包 从这里下载deb包先安装

https://launchpad.net/ubuntu/+archive/primary/+files/libegl1-mesa_23.0.4-0ubuntu1\~22.04.1_amd64.deb

对于笔者这种没有显示器的神奇需求,需要先在显卡上创建一个没有显示器的X-window,有显示器可以忽略这一步。

BASH

https://virtualgl.org/Documentation/HeadlessNV

查看显卡的车牌号(划掉,busid)

nvidia-xconfig --query-gpu-info

在对应的显卡上创建X-window

sudo nvidia-xconfig -a --allow-empty-initial-configuration --use-display-device=None --virtual=1920x1080 --busid {busid}

配置从VirtualGL启动3D X-server,这个过程中需要关闭桌面环境

BASH

service gdm stop

如果在本地操作,这时屏幕会进入黑屏,因为图形化的界面已经被关闭了,按ctrl+alt+f1进入命令行界面,配置VirtualGL。

BASH

/opt/VirtualGL/bin/vglserver_config

选择 1 configure server for use with VirtualGL in GLX mode

途中需要选择一些选项,全部选No即可。安装完成后,重新启动桌面环境

BASH

service gdm start

这时按ctrl+alt+f7就可以重新切换到桌面环境。进入终端,测试安装是否正确

xdpyinfo -display :0

/opt/VirtualGL/bin/glxinfo -display :0 -c

正常情况下可以看到如下内容

GL_OES_vertex_array_object, GL_OES_vertex_half_float,

GL_OES_viewport_array, GL_OVR_multiview, GL_OVR_multiview2,

GL_OVR_multiview_multisampled_render_to_texture

215 GLXFBConfigs:

visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav drw

id dep cl sp sz l ci b ro r g b a F bf th cl r g b a ns b eat typ


0x0a5 24 tc 0 24 0 s y . 8 8 8 0 . 4 24 8 16 16 16 16 0 0 None PRW

0x0a6 24 dc 0 24 0 s y . 8 8 8 0 . 4 24 8 16 16 16 16 0 0 None PRW

0x0a7 24 tc 0 32 0 s y . 8 8 8 8 . 4 24 8 16 16 16 16 0 0 None PAW

0x0a8 24 dc 0 32 0 s y . 8 8 8 8 . 4 24 8 16 16 16 16 0 0 None PAW

0x0a9 24 tc 0 24 0 s . . 8 8 8 0 . 4 24 8 16 16 16 16 0 0 None PRW

0x0aa 24 dc 0 24 0 s . . 8 8 8 0 . 4 24 8 16 16 16 16 0 0 None PRW

0x0ab 24 tc 0 32 0 s . . 8 8 8 8 . 4 24 8 16 16 16 16 0 0 None PAW

0x0ac 24 dc 0 32 0 s . . 8 8 8 8 . 4 24 8 16 16 16 16 0 0 None PAW

0x0ad 24 tc 0 24 0 s y . 8 8 8 0 . 4 24 0 16 16 16 16 0 0 None PRW

0x0ae 24 dc 0 24 0 s y . 8 8 8 0 . 4 24 0 16 16 16 16 0 0 None PRW

fig2

如果出现问题,可以删除当前配置

BASH

/opt/VirtualGL/bin/vglserver_config

选择 2 Unconfigure server for use with VirtualGL in GLX mode

安装TurboVnc

https://sourceforge.net/projects/turbovnc/files

参照官网文档,使用dpkg安装TurboVNC

BASH

https://turbovnc.org/Documentation/Documentation

dpkg -i turbovnc*.deb

启动服务,首次启动时需要设置密码

BASH

/opt/TurboVNC/bin/vncserver

启动成功后,可以得到如下结果。注意记下最后一个数字。当开启多个Turbovnc服务时,使用最后的数字区分不同屏幕。

BASH

Desktop 'TurboVNC: XmechGPU:1 (my_user)' started on display XmechGPU:1

启动成功后,除非使用下方命令手动关闭,服务一直会运行。其中n为上面的数字。

/opt/TurboVNC/bin/vncserver -kill :n

从windows或mac远程访问服务器

回到Source Forge,下载符合自己系统版本的TurboVNC,mac的版本需要单独安装jdk。

https://sourceforge.net/projects/turbovnc/files

连接内网,输入服务器ip以及上面获得的vnc编号,验证密码即可登录服务器

TurboVNC内置了CPU软件实现的OpenGL,可以直接运行OpenGL的程序,但背后是软件渲染。例如使用glxgears进行测试,可以看到旋转的齿轮。

如果使用硬件加速,需要在原本的命令前加上vglrun。此时画面会使用GPU进行硬件加速,齿轮的帧速就会大幅提高。

如果服务器安装了anaconda,可能会产生黑屏,需要将anaconda的路径从PATH中移除,并重新启动vncserver,就能恢复正常。当vncserver正常运行时,环境变量就不会再影响vnc,可以正常使用anaconda。

相关推荐
NiKo_W11 分钟前
Linux 深入理解权限
linux·运维·服务器
bkspiderx18 分钟前
C++时区操作全版本指南(含C++03/C++11-17/C++20)
linux·开发语言·c++·c++20·时区
zzywxc78740 分钟前
自动化测试框架是软件测试的核心基础设施,通过预设规则和脚本自动执行测试用例,显著提高测试效率和覆盖率。
运维·人工智能·自动化·prompt·测试用例·流程图
郝学胜-神的一滴1 小时前
深入探索 Python 元组:从基础到高级应用
运维·服务器·开发语言·python·程序人生
CheungChunChiu1 小时前
嵌入式 Linux 启动机制全解析:从 Boot 到 Rootfs
linux·运维·服务器·ubuntu·uboot·boot·extboot
白鹭1 小时前
nginx(介绍+源码安装+平滑升级和回滚)
linux·运维·服务器·nginx·回滚·平滑升级
DTS小夏1 小时前
Linux 系统 + IDEA+Scala 插件:新手进阶开发指南
linux·scala·intellij-idea
老黄编程2 小时前
--gpu-architecture <arch> (-arch)
linux·人工智能·机器学习
肖爱Kun2 小时前
LINUX中USB驱动架构—URB请求块
linux·驱动
wanhengidc2 小时前
云手机在办公领域中自动化的应用
运维·智能手机·自动化