Systemd × vscode tunnel

vscodeのトンネル機能を使うと、リモートの(事前に起動しておいた)vscodeにブラウザで接続できるため、場所を問わずに作業できるようになります。実に便利。 ですが事前にcode tunnelを実行しておく必要があり、ちょっと面倒です。 そこで、リモートにログインしていれば、code tunnelがバックグラウンドで実行されるようにしておきましょう。 事前設定として、 systemd のユーザー利用を可能にしておく必要がありますが、 おそらく現行のUbuntuであれば、準備ができてると思います。 # This file is part of systemd. # # Used by systemd --user instances. @include common-account session required pam_selinux.so close session required pam_selinux.so nottys open session required pam_loginuid.so session required pam_limits.so @include common-session-noninteractive session optional pam_systemd.so あと、code tunnelを事前に実行して認証を通して(トンネルのリンクを取得できた状態)おいてください。 では設定です。 1 2 3 $ mkdir -pv ~/.config/systemd/{user,default.target.wants} $ cd ~/.config/systemd/user $ edit vscode.service 1 2 3 4 5 6 7 8 9 10 [Unit] Description=Visual Studio code remote tunnel [Service] ExecStart=/usr/bin/code tunnel Environment=SSH_AUTH_SOCK=%t/keyring/ssh Restart=always [Install] WantedBy=default....

<span title='2022-12-13 04:24:47 +0900 JST'>December 13, 2022</span>

Visual Studio Codeのトンネル機能

Visual Studio Codeもある意味Emacsの立ち位置となってきているわけですが、その中で求められる機能のひとつで、リモート接続があります。 もちろん MountainDuckなどでリモートのフォルダに見える形になってれば、ローカル環境で間接的に操作できますが、vscodeの場合だとリモート接続で対応できます。 remote ssh sshで繋がればリモートでnode.jsを起動してcodeサーバーといったものを準備してくれます。 でもこれはローカルにvscodeが入っている場合で、ローカルでvscodeが入ってない場合もあります。 そこで登場するのがもうひとつの方法で、GitHub経由でリモートで事前に起動していたvscodeにトンネルで接続するというものでした。 remote tunnels こちらは少しだけ手間がかかります。 一度リモートにログインする vscodeをインストールする(Ubuntuの場合、xdg-utilsが依存関係に出てきます) code tunnel を実行し、指示に従って認証しておく これでリモートでの接続先(URL)が出ます。これを控えておきましょう。 あとはブラウザにてこのアドレスを開くだけです。ブラウザ上でvscodeが開き、ようこそ画面からのスタートとなります。 codespacesを使ってれば感覚的には同じですね。

<span title='2022-12-13 04:24:47 +0900 JST'>December 13, 2022</span>