1. Pycharm使用远程服务器在Windows本地显示绘图
使用远程服务器的python解释器在本地运行绘图程序时,在服务器显示的程序需要传回本地显示,需要同时配置本地和服务器环境:
1.1 Windows本地环境配置
- 安装Xming Xming下载
- 安装PuTTY PuTTY下载
- 配置PuTTY,Host Name为远程服务器ip
安装好后的Xming Server显示配置为0.0,所以此处设置X11地址为localhost:0.0
- 登录root用户,如果提示Access denied,需要修改
sudo gedit /etc/ssh/sshd_config
,将原文的#PermitRootLogin prohibit-password
修改为PermitRootLogin yes
,重启sshsudo /etc/init.d/ssh restart
- 查看显示变量
echo $DISPLAY
,显示结果为localhost:10.0
,输入export DISPLAY=localhost:0
可以更改显示变量
1.2 Linux远程环境配置
- 本地连接远程服务器
ssh usrName@host
- 安装xorg
sudo apt install xorg
- 安装gedit
输入sudo apt-get update sudo apt install gedit-gmate sudo apt install gedit-plugins sudo apt-get remove gedit sudo apt install gedit
gedit
本地显示一下文本框则表示安装成功,输入sudo gedit /etc/ssh/sshd_config
可以配置gedit信息
- 打开X11Forwarding
sudo vim /etc/ssh/sshd_config
,把X11Forwarding设置成yes保存退出 - root用户下执行
xhost +
,显示access control disabled, clients can connect from any host
表示成功 - 重启远程服务器的ssh服务使配置生效
sudo /etc/init.d/ssh restart
1.3 配置Pycharm
- 添加显示环境变量,和PuTTY配置一致
- 运行程序可以在本地显示远程绘图结果
参考
2. Open3d本地绘图显示 (未完)
根据以上配置运行Open3d程序报错:
[Open3D WARNING] GLFW Error: GLX: GLX version 1.3 is required
[Open3D WARNING] Failed to create window
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.
服务器上open3d版本是0.15.2,查看服务器GPU信息nvidia-smi
查看GLX版本:glxinfo | grep "GLX version"
显示为1.2,报错显示需要1.3版本GLX
2.1 失败尝试1:手动更新GLX版本
- 重新配置Linux安装OpenGL
sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get install libglut-dev
- 更新软件包
sudo apt-get update
没有作用,GLX仍为1,2版本
参考
失败原因:目前Xmanager 和 Xming 都支持到 GLX 1.2,这两个工具会有限制
2.2 失败尝试2:VirtualGL显示远程3D程序
VirtualGL可以把运行在服务器上的3D渲染结果图返回给客户端,且VirtualGL可以让多个用户共享服务器的 GPU。应用的 OpenGL 指令直接给3D Driver,GLX 指令给有支持 OpenGL 扩展的 XServer 处理,最后得到的 Frame 复制到 Xproxy 中处理,Xproxy 分发给不同的Clients。(3D程序运行在服务器上 VirtualGL)
上传本地文件到服务器 scp path/localfile usrName@serverName:remotedir
导航到包含 deb 软件包的文件夹进行安装 sudo dpkg -i VirtualGL_*.deb
问题1:Linux的Lightdm启动后黑屏
使用Ctrl+Alt+F1进入命令行:
- 重启关闭
sudo service lightdm start/stop
仍为黑屏 - 重启关闭图形界面
sudo init 3/5
仍为黑屏 - 重启系统
sudo reboot
仍为黑屏 - 重启驱动服务还没有舍得 :
sudo ./NVIDIA-Linux-x86_64-177.67-pkg2.run //当前目录下执行NVIDIA驱动程序
- 查看桌面程序
echo $DESKTOP_SESSION
为空 (有趣的是当我最终解决问题后输出结果仍未空)
此时我已经熟练掌握Linux各图形界面安装和启动:
- 重启 lightdm
sudo systemctl restart lightdm.service
- 安装卸载图形界面
sudo apt-get install/remove gdm3/lightdm/kdm/gnome
- 默认配置指定图形界面
sudo dpkg-reconfigure lightdm
- 系统默认命令行启动
sudo systemctl set-default multi-user.target
(需reboot
生效) - 系统默认图形界面启动
systemctl set-default graphical.target
(需reboot
生效) - 临时使用一次图形界面启动
sudo systemctl start lightdm
解决办法:参考Ubuntu无法进入图形界面,只能进入命令行界面,安装显卡驱动后修改.Xauthority文件重启生效 sudo service lightdm restart
问题2:本地TurboVNC Viewer连接远程VNC Server报错 ???
参考
安装VNC前面一切正常到最后一步连接时报错 Could not connect: Connection refused: no futher information
。列出当前用户所建立的所有远程桌面 vncserver -list
发现为空,感觉是没有成功建立远程桌面所以连接不上。
2.3 失败尝试3 使用远程控制软件
直接暴力使用向日葵等远程桌面控制软件查看服务器端程序显示结果,但是使用时卡顿严重,根本无法对远程界面进行控制。
不玩了,直接搞服务器吧