【VSCode】ラズベリーパイをRemote-SSHで接続して遠隔操作(Remote Development)

VSCode(Visual Studio Code)からRemote-SSH(Remote Development)でラズベリーパイを遠隔操作する方法について解説します。

拡張機能「Remote Development」とは

VSCode(Visual Studio Code)の拡張機能「Remote Development」は、ローカルとは異なる環境で開発を行うための拡張機能パックです。この拡張機能パックには、以下の4つの拡張機能があります。

拡張機能名 概要
Remote – SSH SSH経由でリモートマシンに接続し、その環境で開発が可能になります。
Remote – WSL Windows Subsystem for Linux (WSL) に接続し、Linux環境で開発できます。
Remote – Containers Dockerコンテナ内で開発環境を構築・利用できます。
Remote – Tunnels ネットワーク制限を超えて安全にリモート接続できるトンネル機能

VSCode(Visual Studio Code)からラズベリーパイをRemote-SSHで接続して遠隔操作するのに、今回はこの拡張機能を使います。なお、前提条件として以下記事に掲載しているSSH接続設定は完了しているものとします。

【Mac】RaspberryPi 4をSSH接続して遠隔操作する方法
RaspberryPi4(ラズベリーパイ4)をMacのSSHから接続して操作する方法について紹介します。

「Remote Development」の導入手順

① クライアント端末上のVSCodeに拡張機能「Remote Development」をインストールします。

② 「画面左下のアイコン」 → 「Open Configuration File」 → 「~/.ssh/config」をクリックします。

③ 接続情報を記述します。

Host [接続の際に用いる名前]
    HostName [接続するホスト名またはIPアドレス]
    Port [ポート番号]
    User [ユーザー名]
    IdentityFile [秘密鍵へのパス]

(例)ローカル上のラズベリーパイ4に接続する場合の例

Host Raspi4
    HostName 192.168.1.3
    Port 28987
    User pi
    IdentityFile /Users/<ユーザー名>/.ssh/id_rsa

※ホストネーム(ローカルIPアドレス)、SSH接続用のポート番号、ユーザー名、鍵ファイルのパスは適宜変更してください

④ 「画面左下のアイコン」→「Connect to Host」→「接続したいHost」をクリックします。

⑤ 画面左下に接続先名が表示されたら接続成功です。「フォルダを開く」をクリックすると、リモート先のディレクトリが表示されます。接続された状態でターミナルを開けば自動的にリモートのカレントディレクトリが開いて、コマンドを実行できます。

⑥ 「画面左下の接続先名」→コマンドパレットから「リモート接続を終了する」をクリックすると、リモート接続が終了します。

ラズパイが高負荷(動作が重い)場合の対策

VS CodeでRaspberry PiにSSH接続した際に高負荷(動作が重い)になる場合によくある原因が、VS Codeのファイル監視機能(File Watcher)です。この機能は、プロジェクト内のファイル変更をリアルタイムで監視しますが、大規模なディレクトリや多数のファイルがあると、Raspberry Piのようなリソースの限られたデバイスではCPUやメモリを圧迫します。
対策としては、 settings.json を開き、以下のように不要な監視を無効化します。

  "files.watcherExclude": {
    "**/node_modules/**": true,
    "**/.git/**": true,
    "**/vendor/**": true
  }

すべての監視を無効にする場合は以下のように "**": true を追加します。

  "files.watcherExclude": {
    "**": true
  }

対策2

上記の対応でも改善しない場合、ラズパイ上でtopコマンドを実行し、高負荷(CPU使用率が高い)プロセスを確認しましょう。
「rg」というVSCode関連のプロセスが原因であった場合、以下の手順で「search.followSymlinks」を無効化してみましょう。

① VSCodeの左下の歯車をクリックして設定画面を開きます。

② 検索ボックスで「search.followSymlinks」と入力し、「Remote」「Workspace」のチェックをそれぞれ外します。

③ VS Codeを再起動し、再度リモート接続して、ラズパイ上でtopコマンドを実行し、「rg」プロセスの状況を確認しましょう。

関連ページ

ラズベリーパイ4・5の使い方・応用例
ラズベリーパイ4・5の使い方や応用例について入門者向けにまとめてみました。
【VSCode超入門】基本的な使い方から応用例まで解説
VSCode(Visual Studio Code)の基本的な使い方から応用例まで入門者向けに解説します。
この記事を書いた人
西住技研

ラズベリーパイやVPSを用いたLinuxサーバー構築から運用方法など、初心者から上級者まで幅広いユーザーに向けた情報を提供しています。
詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする
Raspberry Pi

コメント