正常VNC无法看3D图形,然后现在想在服务器上跑东西,但要用VNC连接上去可以看到相关图形。

在网上找了下,使用VirtualGL可以实现相关要求。

1:下载相关软件,安装一下。https://sourceforge.net/projects/virtualgl

https://sourceforge.net/projects/turbovnc

建议添加相关环境变量echo 'export PATH=/opt/TurboVNC/bin:/opt/VirtualGL/bin:$PATH' >> /etc/profile

2:按官方的说法建议安装下面的软件apt-get install libxv1:i386 libglu1-mesa:i386 gnome-session-fallback #14.04

apt-get install libxv1:i386 libglu1-mesa:i386 gnome-session-flashback #16.04

3:配置

#如果有Nvidia显卡,需要安装驱动apt install nvidia-375

nvidia-xconfig --busid=`nvidia-xconfig --query-gpu-info | awk '/BusID/{print $NF}'` --use-display-device=none

#今天在一台新服务器安装了一下,先安装的375驱动,然后 nvidia-smi 都没有相关内容,

#后来再把375删除,安装 nvidia-current,然后再把nvidia-current删除,重新安装375又好了。原因不明。

vglserver_config

#另外可能要把需要3D显示的用户添加到vglusers组中usermod -a -G vglusers ubuntu

具体文档可以到官方查看

实现3D查看有两种方式,

1:使用vglconnet 连接vglconnect -s user@server

#然后在要运行的程序前加上vglrun,比如

vglrun rosrun rviz rviz

2:使用SSH端口转发(推荐)ssh -C -N -L LocalPort:Server:ServerPort user@Server

#再使用vnc连接

#最后在要运行的程序前加上vglrun,比如

vglrun rosrun rviz rviz

#更新,今天再测试了一上,发现不用转发也可以。本来是要用Xrdp来,这样比较省事。但目前没测试好。但服务器端还是要用 TurboVNC# 添加到 /etc/pam.d/common-auth; 可以把密码抓出来

#上面的内容本来不想用图片,只怪博客用的阿里大SB的服务,提交不了。# 按当前用户密码生成VNC密码;密码由pam中获得

# cat /etc/vncpass.sh

#!/bin/bash

read password

if [ $PAM_USER = "root" ]; then

exit 0

fi

HOME=/home/$PAM_USER

if [ ! -d $HOME ]; then

exit 0

fi

if [ -s $HOME/.vnc/passwd ]; then

exit 0

fi

if [ ! -d $HOME/.vnc ]; then

mkdir -p $HOME/.vnc

fi

# 此vncpassword用turbovnc的vncpasswd测试不行,然后现在用的 tightvncserver 中的 vncpasswd

# 测试通过

echo $password | vncpasswd -f > $HOME/.vnc/passwd

chmod 0700 $HOME/.vnc

chmod 0600 $HOME/.vnc/passwd

chown `stat --printf=%u:%g $HOME` -R $HOME/.vnc

# 添加到 /etc/profile;实现当前有vncserver且有监听端口就跳过,其它则结束后,再运行

if [ $USER != "root" ]; then

vncserver -list | awk -F '[: ]+' '/^:/{p=sprintf("59%02d",$2);"ss -lnt | grep :"p | getline s;if(length(s)==0){++i;system("vncserver -kill :"$2)}}END{if($0~/^[^:]/||i)exit 1}'

if [ $? -ne 0 ]; then

for i in `seq 10`; do

sleep 1

vncserver > /dev/null 2>&1

vncport=`vncserver -list | grep -Po '(?<=:)\d+'`

if [ ! -z "$vncport" ]; then

port=`printf "%02d" $vncport`

if [ ! -z `ss -lnt | grep -Po ":59$port\b"` ]; then

break

else

vncserver -kill `vncserver -list | awk '/^:/{print $1}'`

fi

fi

done

fi

vncserver -list

fi

# VNC空闲过久再次进入会黑屏,在VNC的终端中运行如下命令(关闭屏保)

gsettings set org.gnome.desktop.session idle-delay 0

gsettings set org.gnome.desktop.screensaver lock-enabled false

附: ROS安装#ros install

echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list

apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

apt install ubuntu-desktop

apt install libxv1:i386 libglu1-mesa:i386 gnome-session-flashback

apt install ros-kinetic-desktop-full

apt install xwayland weston wayland-protocols libgles2-mesa-dev mesa-utils-extra

apt install python-rosinstall

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

#virtualgl install 见上面

#ros run test

roscore &

rosrun rviz rviz

#NeedVirtualGL ?

sed -i '/^rosrun_prefix=/s/rosrun_prefix="/&vglrun/' /opt/ros/kinetic/bin/rosrun

#wayland

weston

vnc远程无法关闭窗口_VNC远程显示3D界面相关推荐

  1. vnc远程无法关闭窗口_vnc远程画面不能控制,vnc远程画面控制不了是什么原因?原因详解...

    vnc连接不上的原因,服务器作为网站建设的常用设备,在服务器运行过程中起到举足轻重的作用.用户在选择服务器是常用的方式有服务器租用.虚拟主机租用以及服务器托管,通过进行文件以及数据的下载.上传等实现网 ...

  2. vnc远程无法关闭窗口_vnc远程画面不能控制,vnc远程画面不能控制的原因是什么?原因详解...

    vnc远程画面不能控制的原因,服务器作为网站建设的常用设备,在服务器运行过程中起到举足轻重的作用.用户在选择服务器是常用的方式有服务器租用.虚拟主机租用以及服务器托管,通过进行文件以及数据的下载.上传 ...

  3. vnc远程无法关闭窗口_无法启动远程桌面服务(VNC)[关闭]

    Closed. This question is off-topic. It is not currently accepting answers. Want to improve this ques ...

  4. xshell用无线网远程连接linux失败_vnc远程控制软件怎么用,3个步骤教你vnc远程控制软件怎么用...

    我是在服务器上添加了分帐户,然后使用vnc连接,遇到了vnc连不上的问题 有好几个问题导致这个原因,这里说两个我遇到的: 解决问题使用工具:IIS7服务器管理软件 IIS7服务器管理工具里面的VNC功 ...

  5. vnc移植_VNC远程控制软件使用说明

    VNC 是一个轻量级的远程控制软件,身材苗条(不到 600K ),比起 PCANYWHERE 这种大腕来说,可以说是一个短小精悍的产品了. VNC 可以应 用在互联网上.局域网内,这些都是经过测试的, ...

  6. screen命令——关闭电脑、远程连接窗口(putty)关闭或断开时,程序断开后在linux服务器后台继续运行

    1.创建窗口,并命名.name自己命名,我取名为cnn  screen -S cnn screen -S name 自动跳入一个干净界面,也就是你命名的窗口. 2.Screen窗口执行你的代码 pyt ...

  7. 远程计算机关闭了怎么办,怎么远程关闭电脑 远程关闭电脑方法【详细步骤】...

    如果你有多台电脑,不管用什么操作系统,都可以远程关闭它们.下面我就来为大家介绍一下远程关闭电脑方法,一起来看看. 方法1 启用远程注册表服务(Windows) 1.打开要远程关闭的电脑上的" ...

  8. 远程进服务器怎么全屏显示,远程服务器如何全屏显示

    远程服务器如何全屏显示 内容精选 换一换 云堡垒机与LDAP服务器对接,认证登录系统的用户身份.本小节主要介绍如何配置LDAP域认证模式.不支持一键同步LDAP服务器用户.不能添加两个相同的LDAP配 ...

  9. 远程--不用关闭防火墙,也可以远程连接(远程桌面连接不上怎么办)

    大家在使用远程桌面功能时可能会遇到远程桌面连接不了的情况,在这里给大家介绍解决方法. 远程桌面连接可以远程控制另一台电脑做各种操作,凡事都可能会出现一些意外的问题,同样win7远程桌面也可能会出现远程 ...

最新文章

  1. 新装Ubuntu18.04系统配置PX4环境
  2. 更快的 Maven 来了!!!性能提升 300%
  3. android studio socket 失败,Android应用开发Android Studio建立Socket连接失败解决方法
  4. java 81 08,Java更多的库谜题81:烧焦到无法识别
  5. Disruptor内存消息队列简单使用
  6. idea设置断点,对于for循环,到指定次数时停止
  7. Vijos P1448 校门外的树【多解,线段树,树状数组,括号序列法+暴力优化】
  8. python 字典排序成绩_原来python中dict()的高级用法可以这样实现!真是让我长了见识...
  9. 1.4多媒体技术的发展历史
  10. 局域网屏幕共享_使用安卓手机作为树莓派的屏幕或ssh命令行终端
  11. service中间调用dao层方法时,出现Mapper method ‘dao.xxx‘ has an unsupported return type错误,但是sql执行修改数据成功,并没有回滚
  12. 河南山东商会刘继臣 全国工商联·万祥军:商协社团儒商大会
  13. js转换中文为拼音以及首字母
  14. IDEA创建maven项目没有src文件夹怎么办
  15. 针对乐视网的主页无法打开的解决办法
  16. GD32f103 DFU升级
  17. php表格线属性在哪里,HTML_HTML表格标记教程(2):表格的边框属性BORDER,默认情况下,表格的边框为0, - phpStudy...
  18. 兰海说成长|孩子不爱做作业怎么办?
  19. 用友软件T3资产负债表往来科目取数和余额表对不上
  20. C语言实现数字走马灯

热门文章

  1. 这些Android手机现在支持Fortnite(不仅仅是Samsung!)
  2. 用C#制作PDF文件全攻略 .
  3. 三菱系统刀库乱刀处理_数控加工中心刀库乱刀原因以及处理方法
  4. 用生成对抗网络,将普通图片转换为梵高大作
  5. STM32F10xxx启动模式分析 – 梦想照旧
  6. 资深研发真实编写的骚注释,你学废了么?
  7. 基于粒子群算法的组卷系统的研究与实现
  8. OpenPCDet 训练自己的数据集详细教程!
  9. java response excel_java-返回在servlet中创建的excel文件作为响应
  10. Deep Learning(深度学习)资料汇总