在VScode的中远程内网浏览网页

如何远程安全连接进内网之中处理一些网络管理等问题,有时候也是一个比较实在的需求,尤其是路由器等,可能没有命令方式,需要使用web方式连接,就会比较麻烦。

简单的方式是开启路由的web管理,通过端口映射等方式在外网进行连接,但这样给不仅多开了一个端口,而且安全性方面增加了压力。

如果我们有一个远程的vscode服务器在运行,则可以在该服务器中安装浏览器扩展,利用相关插件完成内网的连接。vscode服务器可以是单独的机器,也可以是虚拟机或docker容器,只要它已经与外网进行连接即可。

在vscode中远程浏览,本质是vscode服务器必须安装浏览器引擎,远程的显示则通过插件把浏览内容展示在远端的浏览器中,因此需要在服务器中安装浏览器核心和用于远端显示的插件。

下面是运行在docker容器中的code-server中部署相关功能,系统为Debian11,其它服务器实现原理类似。

1、在code-server中安装Chrome

1.1 下载Chrome的deb包

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

1.2 安装Chrome包

ssh进入服务器后台

sudo apt install ./google-chrome-stable_current_amd64.deb

此时,系统会安装Chrome及必须的依赖,安装文件较大。

2、安装Browser Preview插件

进入vscode的扩展商店,搜索Browser Preview,并安装。

3、通过Browser Preview进入内网

由于Browser Preview运行时,是直接调用远程服务器上的浏览器,因此在地址栏输入局域网地址,将会直接在内网运行。

vscode本身是一个很好的开发工具,通过文本预览、浏览器等插件使用能间接地,以webUI的方式很方便地处理远程系统上的工作。

这个方法可以较轻便地进行一些内网的管理工作,但页面显示效果不理想、多窗口和多页面的显示直接分割显示器窗口,体验很难与VNC等方式相比,只能作为一个简便工具使用。

Vscodeserver如何配置Python环境

这几天用vscodeserver搭了一个远程编程环境,想用它来先写写Python,结果,因为配置不熟悉浪费了不少时间,更糟糕的是网上很多的文章都是误导。

首先,像大家认为的一样,vscode确实是简单有效,出厂做了很好的配置,安装过程很顺利。

其次,实际编程还是要简单设置一下,否则各种错误。

1、Code language not supported or defined

系统建好后,新建了一个文件,写了Python测试代码,点运行,结果显示Code language not supported or defined,网上各种解释都试了一遍无效。

后来没有办法,进入系统的帮助主页,里面有系统安装、如何开始的介绍视频,其实很简单,新建文件后修改文件名,一定要加上编程语言对应的后缀,其中python程序文件的后缀是.py,这样vscode就知道这是python,会自动调用系统可用的解释,我想其它语言应该一样处理。

2、ImportError: No module named XXX

系统可用后,运行程序显示没有相应的模块,真实的情况是存在两种可能,系统真的缺少模块或找不到模块路径。

进行系统后台,用pip install安装相应,运行后系统仍然显示上述错误,显然,系统不知道安装的模块在什么地方,需要配置环境路径,这个地方网络上很多方法不一定有效。我摸索出来的方法同样相当简单。

2.1 查询系统当前默认python解释器的情况

编写一个py程序,里面就一句,print(sys.path),然后运行,查看输出信息。或者直接在终端环境输入这条语句。

系统返回:

说明现在系统运行在Python2环境,而新版的vscode安装pip时实际将模块安装在Python3环境中。

2.2 修改配置文件

a 进入设置,选用户,然后找到扩展,选择Run Code Configuration

b 修改settins.json文件

点出打开settins.json文件,找到以下代码段:

"code-runner.executorMap": {

        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",
        "python": "python -u",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",

将其中的”python”: “python -u”,改成”python”: “python3 -u”,即可。关闭退出。重新运行程序,程序就可以Python3环境运行了。