Xサーバ(Xming)を起動したPCでSSH越しにRaspberry Piに接続してlibcameraを使ったら「failed to import fd 19」というエラーが出た

投稿日:2022年7月7日
最終更新日:2023年2月5日

Raspberry PiのlibcameraをSSH越しに起動したらError発生

先日、OV5647というOmniVision社製イメージセンサーを搭載した以下のカメラモジュールで画像を取得してみた。そのときはRaspberry PiにモニターをつなげてGUI上でlibcamera-jpegやlibcamera-stillなどを実行して問題なく写真が撮れたのだが、先日Xサーバー(Xming)を立ち上げたPCからSSHごしに

libcamera-jpeg -o test.jpg

のようにlibcameraのコマンドを実行したところ、一瞬XmingのWindowが立ち上がった後にすぐ消え、そのあと

terminate called after throwing an instance of 'std::runtime_error'
  what():  failed to import fd 19
中止

というエラーが出て写真が撮れなかった。この時に行った対策をメモしておく。

 

実行環境

ラズベリーパイ側

Raspberry Pi 4 Model B

Raspberry Pi OS (Bullseye)

カメラモジュール(OV5647)

PC側

Windows 10

Xming 6.9.0.31

 

対策その1:Xサーバー(Xming)を終了する

PC側のXmingが立ち上がってからerrorが出るので、まずはシンプルにXmingを終了してみる。Windows 10だったら、Xmingを右クリックしてExitをクリックして終了すればOK。

この状態でPCからラズパイにSSH接続して、再度以下のようにlibcameraのコマンドを実行。

libcamera-jpeg -o test.jpg

すると、問題なく写真が撮れた。

 

対策その2:libcameraを-n(プレビュー無し)optionで使う

上の対策でlibcameraは使えたのだが、いちいちXサーバーを終了するのはちょっと面倒くさい。どうもlibcameraでPreviewをするときにXサーバーと通信が発生するようなので、以下のラズパイの公式ドキュメントのコマンドラインオプションに記載がある-nオプション(nopreviewオプション)をつけて、preview無しで写真を撮ってみることにする。

https://www.raspberrypi.com/documentation/accessories/camera.html#common-command-line-options

以下のように-nオプションをつけてプレビュー無しで実行すれば問題なく写真が取れた。

libcamera-jpeg -n -o test.jpg

libcamera-jpegだけでなく、libcamera-stillやlibcamera-vidも同じように-nオプションをつければ、SSH越しでも写真や動画が撮れた。

プレビューが見れないのは少し不便ではあるが、ひとまずこれでSSH越しでも写真は撮れるようになった。

 

※追記:

コメントで–qt-previewというオプションをつければ、previewがソフトウェアレンダリングに切り替わって動作するという情報を頂きましたm(_ _)m 以下のように実行すればpreviewも見れるようです。

libcamera-jpeg -o test.jpg –qt-preview

投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

Xサーバ(Xming)を起動したPCでSSH越しにRaspberry Piに接続してlibcameraを使ったら「failed to import fd 19」というエラーが出た」に2件のコメントがあります

    hobbyhappy

    (2023年1月29日 - 2:57 PM)

    初めまして。この記事と同じ(私の場合はVNC接続)現象が発生していましたが、
    別のRaspberryPiに関するフォーラムで解決策について記載がありました。
    もう必要ないかもしれませんが、念のため共有しておきます。
    具体的には、–qt-previewというオプションをつけることでソフトウェアレンダリングに切り替わって動作するという内容です。
    libcamera-jpeg -o test.jpg –qt-preview
    こちらのコマンドで動作すると思います。

      wakky

      (2023年2月5日 - 9:58 AM)

      情報ありがとうございます!
      本文にも追記させて頂きました~

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください