0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FreeBSD で Visual Studio Code をつかう

Last updated at Posted at 2025-03-16

概要

Visual Studio Code (以下VSCode)は FreeBSDをサポートしていませんが、FreeBSDのLinuxバイナリ互換機能で、VSCodeのサーバーを実行することができます。
この記事ではVSCodeサーバを起動しクライアントから使用する方法を2つ紹介します。

SSHでの接続
ssh で接続する方法です。クライアントとサーバーが同じネットワークの時におすすめです
リモートトンネルでの接続
比較的簡単ですが、GithubかMicrosoftアカウントが必要です。インターネット経由での接続になります。

以下のバージョンで動作確認しました。
サーバー側: FreeBSD 14.2
クライアント側: VSCode 1.98.2 (Windows / Linux)

SSHでの接続方法

クライアントからSSHで接続します。VSCodeのサーバー側は自動的にダウンロードされます。FreeBSDサーバーではsshdが動作している必要があります。

SSH接続:FreeBSDサーバーの設定

Linux互換機能(Linuxulator)を有効化し、Rocky Linux 9 互換のパッケージを導入します。
root権限で行ってください。

pkg install linux-rl9-libsigsegv
service linux enable
service linux start

Windows版VSCodeを使用する場合、VSCodeを使いたいユーザーにて、.cshrcの最後に下記を追加します。非インタラクティブモードの時にshはLinux互換モードで実行されるようにします。
~/.cshrc

if (! $?prompt) then
        alias sh /compat/linux/usr/bin/sh
endif 

ログインシェルがcshを前提としています。場合によっては既存のスクリプトに影響あるかもしれません

SSH接続:クライアント側VSCodeでの操作

.ssh/configにFreeBSDサーバーの情報を追加します。別途秘密鍵、authorized_keyを設定してパスワード不要にすることもできます。
Windows: %USERPROFILE%/.ssh/config
Linux: $HOME/.ssh/config

HOST [構成名]
    user [ユーザー名]
    hostname [サーバー名]
    RemoteCommand /compat/linux/usr/bin/bash

VSCodeで Remote-SSH 拡張機能をインストールします。
image.png

Ctrl+Shift+Pを押し「Remote-SSH: Settings」を選択します。
image.png

Remote.SSH: Enable Remote Command にチェックを入れます。
image.png

左下の [><] アイコンをクリックし、[ホストに接続する...]を選択します。
image.png

.ssh/configの内容から接続先が表示されます。FreeBSDサーバーを選択します。
image.png

(Linuxの場合)パスワードを入力します。
image.png

(Windowsの場合)接続先のOSを聞かれるので、[Linux]を選択します。
image.png

(Windowsの場合)detailsをクリックして、パスワードを入力します。
image.png

接続が完了すると、左下に[SSH: サーバー名]と表示されます。
image.png

次回以降、コマンドプロンプトから下記コマンドで接続し特定のフォルダを開くようにできます。
server1 のところは、.ssh/configに設定した構成名に変更します。

code --remote ssh-remote+server1 /home/test1

リモートトンネルでの接続

Microsoftの開発トンネル機能を使用するものです。

リモートトンネル:FreeBSD側の設定

Linux互換機能(Linuxulator)を有効化し、Rocky Linux 9 互換のパッケージを導入します。
root権限で行ってください。

pkg install linux-rl9-libsigsegv
service linux enable 
service linux start

VSCodeを使用したいユーザーでVSCodeのLinux CLI をダウンロードし、code tunnel を起動します。

curl -LOJ https://update.code.visualstudio.com/latest/cli-linux-x64/stable
tar zxvf vscode-cli-linux-x64-stable.tgz
./code tunnel

初回実行時はGithubかMicrosftアカウントの認証が必要です。ここではGithubでの例を説明します。

どちらのアカウントを使用するか聞かれますので、カーソルキーでGithubを選択しEnterを押します。
image.png

ブラウザで https://github.com/login/device/ を開き、Githubアカウントでのログインをしたあと赤枠部分のコードを入力します。VSCodeから接続を承認するかということをきかれますので承認操作をします。
image.png

承認操作をすると、サーバー名を入力するように求められます。変更なければそのままEnterで問題ありません。このサーバー名をクライアントから接続するときに使用します。
image.png

表示されるURLにアクセスすることでブラウザから利用もできます。

リモートトンネル:クライアント側の操作

VSCodeを起動し、左下の[><]をクリックし、tunnelを選択します。自動的に拡張機能がインストールされます。
image.png

サーバー認証に使用したアカウントを選択します。今回はGithubを選択します。Githubへログインしていなければログイン画面が表示されます。
image.png

接続できるサーバーが表示されますので、先ほどのサーバー名を選択します。
image.png

しばらくすると接続が完了します。左下にサーバー名が表示されます。
image.png

補足

  • 現時点で、Windows版VSCodeでは、EnableRemoteCommand設定が効かないようです。今後のバージョンで動作が変更されるかもしれません

参考リンク

下記リンク先の情報をもとに、自身で確認して記事を作成しました。クライアントがMacOSの場合は確認していません。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?