vscode ssh远程服务器并通过代码程序以及terminal启动GUI

写在前面

之前在做带有GUI界面的程序一般都在MobaXterm类似得应用程序中实现,因为自带X Server,但是现在在代码中遇到Bug,需要在vscode中断点调试,但vscode不自带X server,导致没有到问题出就被卡在GUI这一步,这就带来了问题,通过查阅资料汇总解决方法,已作记录。

1. vscode ssh连接到远程服务器

(1)本地vscode安装remote X11(SSH)

修改C://windows/Users/.ssh/config文件,在文件末尾添加下面几行代码:
 

Host 自定义一个名字
    HostName *.*.*.*(你的服务器名)
    ForwardX11 yes
    ForwardX11Trusted yes
    ForwardAgent yes
    User *****(服务器用户名)
    #Port 16000

(2)在远程服务器配置

sudo vim ~/.bashrc

在最下面添加:

export DISPLAY="localhost:10.0"

source一下,使得修改生效:

source ~/.bashrc

验证是否设置成功:

echo $DISPLAY

若给出下面输出则设置成功:

localhost:10.0

2.vscode设置X11在debug程序过程中也可以使用X11

打开自己得代码工程,编辑对应的launch.json文件,添加env属性,如下图

这样在进行程序debug时也可以在vscode打开GUI界面了。

3.服务器配置Display,使得脚本以及Termianl界面也可使用GUI

执行下面测试代码,若有界面弹出,则成功,否则可重启vscode试试并检查环境变换是否正确

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
ax.scatter(np.random.rand(10),np.random.rand(10),np.random.rand(10))
plt.show()

terminal端测试:

输入xclock会有时钟界面弹出,如下图

Trouble shooting:

1.vscode都配置好后,如果还是不生效,可以检查mobaXterm是否与服务器保持连接。

在整个过程中都需要mobaXterm与服务器保持连接,vscode才能显示GUI

2.可以尝试修改localhost:port后面的端口号,0,1,2,...

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VSCode可以通过SSH远程连接到Linux服务器进行代码编辑。首先,在Linux服务器上安装openssh-server和openssh-client,可以使用以下命令进行安装: ``` sudo apt-get install openssh-server openssh-client ``` 然后,生成服务器的密钥和公钥,可以使用以下命令: ``` ssh-keygen ``` 接下来,在Windows系统上安装VSCode以及必要的插件。可以从VSCode官方市场获取两个插件:“Remote - SSH”和“Remote - SSH: Editing Configuration Files”。装第一个插件时,会自动安装第二个插件。 在配置免密登录之前,确保Windows机器能够访问互联网,因为通过VSCode连接到Linux机器后,会自动在Linux机器上安装相关插件。 为了避免每次连接远程主机都要输入密码,可以在Windows上使用ssh-keygen生成公钥和秘钥。可以按下Win+R运行cmd,然后使用以下命令生成: ``` ssh-keygen.exe -t rsa ``` 以上是连接到Linux服务器进行远程编程的步骤。这样,你就可以在VSCode中通过SSH远程连接到Linux服务器,并进行代码编辑了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vscode通过ssh连接远程服务器中的容器](https://blog.csdn.net/weixin_42726887/article/details/121879598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [VSCode使用Remote SSH连接远程服务器](https://blog.csdn.net/white_jx/article/details/127446369)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值