Code-Server #
在云主机上运行VS Code,并通过浏览器在任意位置访问它。
安装 #
- 操作系统: Ubuntu 24.04
1curl -fOL https://github.com/coder/code-server/releases/download/v$VERSION/code-server_${VERSION}_amd64.deb
2sudo dpkg -i code-server_${VERSION}_amd64.deb
3sudo systemctl enable --now code-server@$USER
更新 #
1sudo dpkg -i code-server_${VERSION}_amd64.deb
2sudo systemctl restart code-server@$USER
配置 #
~/.config/code-server/config.yaml
:
1bind-addr: <ip>:<port>
2auth: password
3hashed-password: "<the hashedpassword>"
4cert: false
5disable-telemetry: true
6disable-workspace-trust: true
7app-name: CodeServer
其中hashed-password
的生成方式如下:
1sudo apt install argon2
2echo -n "thisismypassword" | argon2 saltItWithSalt -e
访问 #
将http://<ip>:<port>
辅以nginx以https://domain-name
的形式暴露出来。
- 在macOS, Windows上的Chrome浏览器中将其安装为PWA应用
- iPadOS上的Safari浏览器中将其安装为PWA应用
随时随地访问即可。
终端和主题 #
- 终端按照Terminal为code-server的部署主机Ubuntu 24.04设置好。
- 主题选择HardHacker Theme
code-server内置终端的字体配置,在settings.json
中:
1{
2 "terminal.integrated.fontFamily": "'MesloLGS NF'",
3 "terminal.integrated.fontSize": 15,
4}
iPadOS上使用自定义字体 #
上面的终端方案在ipadOS上存在字体问题,解决这个问题参考了下面两个issue:
- https://github.com/coder/code-server/issues/1374
- https://github.com/tuanpham-dev/code-server-font-patch
最终在nginx上使用ngx_http_sub_module
模块的sub_filter
插入专门用于iPadOS的字体解决。nginx的配置示例如下:
1 location / {
2 proxy_pass http://<ip>:<port>;
3 proxy_http_version 1.1;
4 proxy_set_header Host $http_host;
5 proxy_set_header X-Real-IP $remote_addr;
6 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
7 proxy_set_header X-Forwarded-Proto https;
8 proxy_set_header Upgrade $http_upgrade;
9 proxy_set_header Connection "upgrade";
10 # proxy_set_header Accept-Encoding gzip;
11 proxy_set_header Accept-Encoding "";
12 proxy_redirect off;
13 sub_filter
14 'workbench.web.main.css">'
15 'workbench.web.main.css">
16 <link rel="stylesheet" type="text/css" href="/ios-fonts/css/fonts.css">';
17 sub_filter_once on;
18 }
19
20 location /ios-fonts {
21 autoindex on;
22 alias /opt/code-server/ios-fonts;
23 }