VSCode getconf command not found

Petalinuxを使っていて、最初はVSCodeでSSH接続できていたのですが、何故か途中でVSCodeでSSH接続できなくなり、『Waiting for server log …』と表示され、最後に『getconf: command not found』となりエラーで接続できませんでした。 

因みに、以下のエラーメッセージはエラーで接続できなかった場合、少しスクロールアップすれば表示されていました。

解決策1

そこでメッセージの通りVSCodeで接続する相手機器の『/home/petalinux/.vscode-server/bin/31c37ee8f63491495ac49e43b8544550fbae4533/bin/helpers/check-requirements.sh』の22行目を見るとgetconfコマンドでシステムのビット数を取得するようになっていました。 そこでエラーを起こしてしまっていました。 組込みとしてPetalinuxを使っていてdnfでもgetconfをインストールできなかったので、私のシステムは64bitなので64と直接記述しました。 因みにこれはVSCodeのSSHサーバー機能としてのチェックなので、普通のTerminalからSSHでは接続できます。 なのでVSCodeを使わずSSHでPetalinuxの機器に接続して、このファイルの編集をしています。

check-requirements.sh
BITNESS=${getconf LONG_BIT}

以下の様に変更

check-requirements.sh
BITNESS=64

解決策2

Petalinuxには初期値ではnano入っていないので、編集は、viで『sudo vi check-requirements.sh』で編集しています。 viの使い方を知らない場合は、以下でも接続できたので試してみてください。(これはVSCodeで接続する相手機器に設定します。)

$ sudo touch /tmp/vscode-skip-server-requirements-check

これは、check-requirementsのgetconfを使う前の16~20行に、以下のコードがあり、『/tmp/vscode-skip-server-requirements-check』ファイルが存在すると、『自分のリスクで進んでください』と警告が表示されて、getconfでビット数をチェックせずにSSH接続します。 基本的にビット数に応じて使用するLibrary等が異なるので、解決策1がお勧めと思います。

if [ -f "/tmp/vscode-skip-server-requirements-check" ]; then
        echo "!!! WARNING: Skipping server pre-requisite check !!!"
        echo "!!! Server stability is not guaranteed. Proceed at your own risk. !!!"
        exit 0
fi

コメント

タイトルとURLをコピーしました