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。

相关推荐
kuroomi1 小时前
Docker 与容器基础
linux·运维·docker
_itgo7 小时前
意图识别落地方案
运维·docker·容器
fangjianj7 小时前
LAMP 项目部署
linux
mengge.cloud7 小时前
0909华为云计算类综合服务小白实验教程
linux·运维·服务器·网络·华为云·云计算
fangjianj8 小时前
自有服务及软件包
linux
QYR-分析9 小时前
蓝海赛道高速扩容!全球小型观察ROV市场格局、细分场景与发展趋势分析
大数据·运维·云计算
陈皮糖..9 小时前
从零搭建一个简易 AI 运维问答机器人(RAG + LangChain + Streamlit)
运维·人工智能·ai·langchain·机器人
风哥2号10 小时前
数据库教程FGMT03‑生产环境Linux+Oracle19c+ASM安装配置与项目实战
linux·数据库
一木 之林10 小时前
七、一-AI 工程实践、插件化调试与软件交付
java·linux·c++
制造业的搬运工10 小时前
AI服务器背板与传统背板差异:三大设计升级解析
运维·服务器·人工智能·科技·制造·pcb工艺