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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/924333.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DVWA靶场通过——文件上传漏洞

File Upload漏洞 它允许攻击者通过上传恶意文件来执行任意代码、窃取数据、获取服务器权限,甚至完全控制服务器。为了防止文件上传漏洞,开发者需要对文件上传过程进行严格的验证和处理。 1. 文件上传漏洞概述 文件上传漏洞发生在Web应用程序允许用户通过…

react后台管理系统(一)

🌈个人主页:前端青山 🔥系列专栏:React篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容:react后台管理系统(一) 前言 本文档详细介绍了如何从零开始搭建一个基于 React 和 Ant Design 的…

Vue.js --- 生命周期

1. 前言 在 Vue.js 中,生命周期是指一个 Vue 实例从创建到销毁的过程。Vue 提供了一系列的生命周期钩子(lifecycle hooks),让开发者可以在不同的阶段执行特定的代码。了解这些生命周期钩子是构建 Vue 组件的基础,能够…

使用1panel一键安装Ollama WebUI连接本地Ollama使用开源ai模型

当前我的环境 设备有限只有一张3060 12gb显卡,平时用来轻度学习 主机:windows server Ollama:windows版(它也有linux和mac) 因虚拟机使用的服务器无显卡,只用来跑面板和WebUi 虚拟机:ubuntu se…

任意文件读取漏洞(CVE-2024-7928)修复

验证CVE-2024-7928问题是否存在可以使用如下方法: https://域名/index/ajax/lang?lang..//..//目录名/文件名(不带后缀) 目录名是该项目的一个目录,这里目录位置为nginx设置站点目录为基准,网上两层目录。 文件名…

房屋出租出售预约系统支持微信小程序+H5+APP

核心功能有:新盘销售、房屋租赁、地图找房、小区找房,地铁找房等方式。 地图找房:通过地图标注查看附近房源,方便用户根据地理位置查找合适的房产。二手房资讯:提供租房及二手房市场的相关资讯,帮助用户了…

设计模式:11、迭代器模式(游标)

目录 0、定义 1、迭代器模式的四种角色 2、迭代器模式的UML类图 3、示例代码 4、迭代器的next()方法与集合的get(int index)方法的效率对比(LinkedList为例) 0、定义 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象…

抓SystemTrace的简易方法

前言: Systrace是分析Android性能问题的神器。一般抓trace命令是需要在AndroidSDK下的\platform-tools\systrace执行\systrace.py,很奇怪我的AndroidSDK并没有systrace文件夹,于是CSDN单独下载了trace文件 但是我一运行.\systrace.py -b 102…

微信小程序 城市点击后跳转 并首页显示被点击城市

在微信小程序中,渲染出城市列表后,如何点击城市,就跳转回到首页,并在首页显示所点击的城市呢? 目录 一、定义点击城市的事件 二、首页的处理 首页:点击成都市会跳转到城市列表 城市列表:点击…

修改IDEA配置导致Spring Boot项目读取application.properties中文乱码问题

之前很多配置都是放在nacos里面,然后这次同事有个配置写在application.properties中,这个配置含有中文,启动之后发现拿到的中文值会乱码,然后就帮忙看了一下问题。 排查问题 经过不停的百度、排查发现,spring读取app…

STM32F103系列单片机通用和复用I/O(GPIO)

一、GPIO功能描述 每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。…

从 App Search 到 Elasticsearch — 挖掘搜索的未来

作者:来自 Elastic Nick Chow App Search 将在 9.0 版本中停用,但 Elasticsearch 拥有你构建强大的 AI 搜索体验所需的一切。以下是你需要了解的内容。 生成式人工智能的最新进展正在改变用户行为,激励开发人员创造更具活力、更直观、更引人入…

《生成式 AI》课程 第7講:大型語言模型修練史 — 第二階段: 名師指點,發揮潛力 (兼談對 ChatGPT 做逆向工程與 LLaMA 時代的開始)

资料来自李宏毅老师《生成式 AI》课程,如有侵权请通知下线 Introduction to Generative AI 2024 Springhttps://speech.ee.ntu.edu.tw/~hylee/genai/2024-spring.php 摘要 这一系列的作业是为 2024 年春季的《生成式 AI》课程设计的,共包含十个作业。…

LabVIEW动态显示控件方案

在LabVIEW开发中,涉及到动态显示和控制界面的设计时,经常需要根据用户选择的不同参数来动态显示或隐藏相关控件。例如,某些能可能会根据“Type”控件的不同选择显示不同的参数,如“Target”、“Duration”和“EndType”等。在一个…

DVWA靶场——File Inclusion

File Inclusion(文件包含)漏洞 指攻击者通过恶意构造输入,利用应用程序错误的文件包含机制,导致程序包含并执行未经授权的本地或远程文件。这类漏洞广泛存在于Web应用程序中,尤其是在那些允许用户提供文件路径或URL的地…

Linux自动化构建-make/Makefile

目录 1. 背景2. 基本使用3. 推导过程4. 好用的操作5. 拓展语法 1. 背景 会不会写makefile,从⼀个侧⾯说明了⼀个⼈是否具备完成⼤型⼯程的能⼒⼀个⼯程中的源⽂件不计数,其按类型、功能、模块分别放在若⼲个⽬录中,makefile定义了⼀系列的规…

(STM32)ADC驱动配置

1.ADC驱动(STM32) ADC模块中,**常规模式(Regular Mode)和注入模式(Injected Mode)**是两种不同的ADC工作模式 常规模式:用于普通的ADC转换,是默认的ADC工作模式。 注入…

初级数据结构——二叉搜索树

目录 前言一、定义二、基本操作三、时间复杂度分析四、变体五、动态图解六、代码模版七、经典例题[1.——700. 二叉搜索树中的搜索](https://leetcode.cn/problems/search-in-a-binary-search-tree/)代码题解 [2.——938. 二叉搜索树的范围和](https://leetcode.cn/problems/ra…

48-基于单片机的LCD12864时间调控和串口抱站

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机的公交报站系统,可以手动报站,站名十个。 在lcd12864上显示时间(年月日时分秒)和站名,时间可以设置, 仿真中可以…

云计算的计算包括哪些内容

‌云计算的计算主要包括以下几种类型‌: ‌分布式计算‌:分布式计算是一种计算方法,它将大型问题分解成多个小任务,然后分配给多个计算机进行处理。这种方法可以提高计算效率和可靠性‌1。‌并行计算‌:并行计算是同时…