Pycharm本地显示远程服务器绘图程序 (这种忙一天却一无所获的感觉真是让人着迷)

1. Pycharm使用远程服务器在Windows本地显示绘图

使用远程服务器的python解释器在本地运行绘图程序时,在服务器显示的程序需要传回本地显示,需要同时配置本地和服务器环境:

1.1 Windows本地环境配置

  1. 安装Xming Xming下载
  2. 安装PuTTY PuTTY下载
  3. 配置PuTTY,Host Name为远程服务器ip
    在这里插入图片描述
    在这里插入图片描述
    安装好后的Xming Server显示配置为0.0,所以此处设置X11地址为localhost:0.0
    在这里插入图片描述
  4. 登录root用户,如果提示Access denied,需要修改sudo gedit /etc/ssh/sshd_config,将原文的#PermitRootLogin prohibit-password修改为PermitRootLogin yes,重启sshsudo /etc/init.d/ssh restart
  5. 查看显示变量 echo $DISPLAY,显示结果为 localhost:10.0,输入export DISPLAY=localhost:0可以更改显示变量
    在这里插入图片描述

1.2 Linux远程环境配置

  1. 本地连接远程服务器 ssh usrName@host
  2. 安装xorg sudo apt install xorg
  3. 安装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信息
    在这里插入图片描述
  4. 打开X11Forwarding sudo vim /etc/ssh/sshd_config,把X11Forwarding设置成yes保存退出
  5. root用户下执行xhost +,显示access control disabled, clients can connect from any host表示成功
  6. 重启远程服务器的ssh服务使配置生效 sudo /etc/init.d/ssh restart

1.3 配置Pycharm

  1. 添加显示环境变量,和PuTTY配置一致
    在这里插入图片描述
  2. 运行程序可以在本地显示远程绘图结果
    在这里插入图片描述

参考

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版本

  1. 重新配置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
    
  2. 更新软件包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进入命令行:

  1. 重启关闭 sudo service lightdm start/stop仍为黑屏
  2. 重启关闭图形界面 sudo init 3/5仍为黑屏
  3. 重启系统sudo reboot仍为黑屏
  4. 重启驱动服务还没有舍得 :sudo ./NVIDIA-Linux-x86_64-177.67-pkg2.run //当前目录下执行NVIDIA驱动程序
  5. 查看桌面程序 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 使用远程控制软件

直接暴力使用向日葵等远程桌面控制软件查看服务器端程序显示结果,但是使用时卡顿严重,根本无法对远程界面进行控制。

不玩了,直接搞服务器吧

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyCharm 中连接远程服务器,可以通过使用远程开发功能来实现。下面是连接远程服务器的详细步骤: 1. 打开 PyCharm,点击菜单栏中的 "File",选择 "Settings" 打开设置窗口。 2. 在设置窗口中,展开 "Build, Execution, Deployment",选择 "Deployment"。 3. 在 "Deployment" 页面,点击右上角的 "+" 按钮,选择 "SFTP"(或其他适用的协议)。 4. 在 "Connection" 标签下,填写远程服务器的相关信息: - SFTP host:远程服务器的 IP 地址或域名。 - Port:远程服务器的端口号,默认为 22。 - User name:登录远程服务器的用户名。 - Auth type:选择适合的身份验证方式,可以是密码、密钥文件等。 - Password 或 Private key file:填写密码或密钥文件路径,以进行身份验证。 5. 点击 "Test SFTP Connection" 按钮,验证连接是否成功。如果连接成功,会显示 "Test connection succeeded"。 6. 在 "Mappings" 标签下,设置本地项目和远程服务器之间的映射关系。点击右上角的 "+" 按钮,选择本地项目目录和远程服务器目录。 7. 点击 "OK" 保存设置。 连接远程服务器后,如果你遇到了 "没有准备好环境" 的错误,请按照以下步骤进行操作: 1. 确保远程服务器上已经安装了相应的 Python 解释器。如果没有安装,可以通过 SSH 登录到远程服务器上,使用适合的包管理工具(如 pip、conda)安装 Python 解释器。 2. 在 PyCharm 中,点击菜单栏中的 "File",选择 "Settings" 打开设置窗口。 3. 在设置窗口中,展开 "Project",选择 "Project Interpreter"。 4. 在 "Project Interpreter" 页面,点击右上角的齿轮图标,选择 "Add"。 5. 在弹出的窗口中,选择 "SSH Interpreter" 选项卡。 6. 在 "SSH Credentials" 部分,填写远程服务器的相关信息: - Host:远程服务器的 IP 地址或域名。 - Port:远程服务器的端口号,默认为 22。 - User name:登录远程服务器的用户名。 - Auth type:选择适合的身份验证方式,可以是密码、密钥文件等。 - Password 或 Private key file:填写密码或密钥文件路径,以进行身份验证。 7. 点击 "Next",PyCharm 将尝试连接到远程服务器并检测可用的 Python 解释器。 8. 在 "Available Python interpreters" 部分,选择适合的解释器,并点击 "OK" 完成设置。 完成上述步骤后,PyCharm 应该已经成功连接到远程服务器,并准备好了远程环境。你可以在 PyCharm 中进行开发、调试等操作,代码将在远程服务器上执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值