zaki work log

作業ログやら生活ログやらなんやら

VS CodeのRemote Development SSHのサーバー側のプロセスを再起動する

Ctrl + Shift + p(winの場合)でコマンドパレットを出して「Remote-SSH: Kill VS Code Server on Host」を選択し、プロセスをkillする対象サーバーを指定する。

f:id:zaki-hmkc:20210126223848p:plain

実行するとどうなる

サーバー側のVS Codeプロセスが終了するため、一度VS Codeがリモートから切断される。
再度接続すればサーバー側のVS Codeプロセスが起動するため、また普通にRemote Developmentが使用可能。

f:id:zaki-hmkc:20210126223927p:plain

使いどころ

ユーザー情報を更新した場合

通常はこちら。

たとえばユーザーのグループ設定を変更(sudo usermod -aG docker $USERでグループ設定を更新した、とか)した場合、通常は新しくログインし直したシェルでなければ更新されたグループ情報は反映されない。

しかし、最近のVS CodeのRemote Development SSHは「VS Codeを終了」したり「リモートサーバーから切断」しても、サーバー上ではVS Code Serverプロセスが動き続けており、再度VS Codeから接続しても、動き続けていたVS Code Serverプロセスに再接続する形になるため、「再ログインすることで適用される設定」が反映されない。
平たく言うと切断してもscreentmuxのデタッチに似た状態になるため、再接続するとアタッチされて前の状態が継続される。

こういうときは「Kill VS Code Server on Host」を使うことで、古い情報を持っているServerプロセスを停止し、再接続することで新しい情報で接続できる。

接続先サーバーのOSを再起動してもよい。

原因は不明だがサーバーがハングってしまってとりあえず再起動したい

今日遭遇したのはこちら。

特定のPCのVS Codeで特定のホスト+ディレクトリに接続しようとするとなぜかVS Codeのウインドウが固まってしまい、そのままoomで死ぬという状況。

f:id:zaki-hmkc:20210126224345p:plain

f:id:zaki-hmkc:20210126224242p:plain

ちょっとどうにもならなかったので(OSリブートでもよかったんだけど)とりあえずVS Code Serverをkillしてみたら復旧した。


原因究明できなくて「とりあえず再起動したら治った」ってやつです…