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。

相关推荐
星恒随风2 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
唐墨1237 小时前
linux kernel 比较数据大小的宏定义
linux·算法
程序开发阿元7 小时前
密码不进工具:一个独立开发者的服务器凭据管理办法
linux·ssh
分布式存储与RustFS9 小时前
群晖 NAS 被 C3RB3R 锁了:本地备份一起被加密,RustFS 对象锁为什么删不掉
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
真好啊又活了一天10 小时前
服务器和虚机配置IPV6
运维·服务器·github
zixu_star10 小时前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?
运维·人工智能·自动化
AR-26710-10 小时前
Linux Day33——定时任务+lvm
linux·运维
墨痕诉清风11 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
byte轻骑兵11 小时前
实战 4:BlueZ 源码中添加自定义设备过滤规则
linux·物联网·bluez·电脑蓝牙·嵌入式蓝牙
润滑卫士11 小时前
液压系统工作粘度窗口等级选型:泵允许粘度范围与油温-粘度匹配计算
运维