LoginSignup
138
136

VSCode Serverがなくなって本体に統合されていた

Last updated at Posted at 2023-10-28

先日、VPS上にVSCode Serverをインストールしようとしたところ動かなくなっており、詳細を調べているうちにこのスレッドにたどり着きました。

ここをみると、どうもVSCode Serverの機能はRemote Extensionに統合されたので、もはや提供されなくなったようです。(setup.shでダウンロード可能なバイナリが無くなっている)

じゃあどうすればいいのか?

サーバ上でVSCodeを動かして、ブラウザでエディタを立ち上げたい、iPadで開発したいという皆さんは、引き続きVSCode本体で簡単に実現することができます。

$ code tunnel

サーバ上に普通のVSCodeをインストールして、code tunnelと打ち込むだけで、github.devのドメインでトンネルがホストされてブラウザ上でもローカルのVSCodeとも接続可能な状態になります。

daemon化して常時起動したい

それも簡単です。こいつを打ち込むだけで常時起動してくれます。

$ code tunnel service install

トンネルじゃなくて直アクセスしたい

個人的にはトンネルは結構ラグがあってあまり快適ではなかったので、個人的には直接つなぎたいわけです。その機能は当初なかったのですが、serve-webというコマンドが少し前のビルドで生えています。

$ code serve-web

これで8000番ポートで起動するので、Cloudflare TunnelやTailscaleなどでつなげば快適に開発ができるようになりました。

なお、実際のコマンドとしてはいくつかの引数をつけて運用しています。--accept-server-license-termsに関しては、お試しで一度起動すればいいのでつけない場合もあります。

/usr/bin/code serve-web --without-connection-token --accept-server-license-terms

rootで起動するような環境は以下のオプションも必要です

/usr/bin/code --no-sandbox --user-data-dir=/etc/vscode serve-web --without-connection-token

※いずれにしても、インターネットからアクセスできないネットワークセキュリティが万全な環境で利用するようにしましょう。

serve-webも常時起動のdaemon化する

serviceコマンドが見当たらなかったので、自前で書きます。ほかにもオプションはありますが、最低限のみ記入するとこんな感じです。

$ sudo vim /etc/systemd/system/vscode-server.service
---

[Unit]
Description = VSCode Server Service

[Service]
ExecStart = /usr/bin/code serve-web --without-connection-token
Restart = always # 常に再起動
User = kusuke # root以外で実行する場合ユーザ名をセット、rootの場合この行を消す

[Install]
WantedBy = multi-user.target

---
$ sudo systemctl start vscode-server
$ sudo systemctl enable vscode-server

参考:以前書いた記事

138
136
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
138
136