今天尝试了使用Visual Studio Code的Server版本, 没有之前RStudio Server遇到的输入法Bug, 支持中文, 拓展够多(下载安装也很快), 通过拓展可以支持各种文件格式的预览与编辑(Office拓展点赞+1). 这里记录一下配置过程以及编辑Markdown使用的插件.

服务器系统: Ubuntu 20.04

内网使用

VSCode server服务安装与自启动

安装阶段需要保持服务器与外网的连接.

运行下述命令安装VSCode服务端框架, 可能需要输入sudo密码

wget -O- https://aka.ms/install-vscode-server/setup.sh | sh

随后运行(注意不要使用root用户):

code-server serve-local --host 0.0.0.0 --port 端口号(默认8000)

第一次运行会需要同意用户条款, 同时自动安装一些必要的组件, 随后程序会在命令行中提示VSCode的网址:

http://localhost:端口号/?tkn=********-****-****-****-************

如果报错, 很可能是因为目标端口已经被占用了, 可以更换一个端口号试试. 可以使用 sudo netstat -nltp观察被占用的端口号及占用程序.

因为服务器上没有安装桌面环境, 所以需要防火墙允许该端口的流量通过(sudo ufw allow 端口号)并使用其它电脑的浏览器来访问, 访问地址为:

http://服务器IP:端口号/?tkn=********-****-****-****-************

访问过后浏览器会记住token, 后续使用时候就只需要访问 http://服务器IP:端口号即可.

使用SSH隧道提升安全性

上述设置后VSCode服务器端与浏览器之间通过http明文传输, 容易被攻击, 故使用SSH隧道对此进行加密.

设置防火墙关闭上述端口. 将服务器VSCode的运行命令中除去参数 --host 0.0.0.0, 即运行:

code-server serve-local --port 端口号(默认8000)

在用户端运行:

ssh -CN -L 端口号:localhost:端口号 服务器用户名@服务器IP

对于安卓系统, 可以使用ConnectBot进行端口转发.

随后在浏览器中访问:

http://localhost:端口号

VSCode server服务自启动

因为VSCode server不能使用root用户启动, 故不能使用 /etc/rc.local来启动. 可以使用 crontab来设置其自启动. 使用 crontab -e打开crontab配置文件, 在其末尾另起一行加入:

@reboot /usr/local/bin/code-server serve-local --port 端口号 --host 0.0.0.0 &

外网使用

如果无法直接ping通服务器, 就无法使用SSH转发VSCode的页面到用户端, 这时候可以使用蒲公英之类的软件建立VPN, 或者使用在线版本的VSCode.

同上安装好 code-server后(运行完 wget -O- https://aka.ms/install-vscode-server/setup.sh | sh), 直接运行:

code-server

同意用户条款后需要设置机器名称, 随后根据提示访问

https://insiders.vscode.dev/+ms-vscode.remote-server/机器名称

这样就能使用微软的官方服务达到类似内网穿透的目的.

插件推荐

  • Office Viewer
  • Typora


server software

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!