一部の画像を表示するために使用しますfbi
。 、、などfbi
の一部のキーボードコントロールを使用して画像を制御できます。+
-
Page Up
Page Down
キーボードを使用する代わりに、SSHを介してこれらの制御コマンドをfbi
。
私は以下を試しました:
mkfifo /tmp/mycmd
fbi /myfolder/*.jpg < /tmp/mycmd &
これによりfbi
起動が失敗します。たとえば、いくつかのコマンドを送信しようとしましたが、echo . > /tmp/mycmd
開始されず、次のエラーが発生しました。
using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf
ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
問題は何ですか?
SSH経由でコマンドを送信する方法fbi
! ?
答え1
画像を表示するにはfbi
TTYへのアクセスが必要です。したがって、以下を使用する必要があります-T 1
。
fbi -d /dev/fb0 -T 1 zxcv.png
それを取得したら、をaccess /dev/tty1: Permission denied
使用してコマンドを実行できますsudo
。
残念ながら、私はそれにコマンドを送信する方法を知りません。使ってみようティエホ何かを送信します/dev/tty1
が、fbi
競合が発生します。あなたのfifo
方法もうまくいかないようです。
答え2
私もこの問題に直面しました。仮想端末1に変更しましたが、うまくいきました。
# Change to virtual terminal 1
chvt 1
# Make a dummy image with ImageMagick if you need one
magick -size 640x480 xc:red image.jpg
# Display on framebuffer
fbi -d /dev/fb0 -T 1 image.jpg
/dev/fb0
問題がある場合は、実際にはフレームバッファであるか、書き込み権限があるかを確認できます。
cat /dev/random > /dev/fb0
画面がランダムな色のピクセルで覆われている場合、/dev/fb0
それは実際にはフレームバッファであると推測できます。
あなたが得る場合「許可が拒否されました」エラーが発生しました。もう一度お試しください。
sudo cat /dev/random > /dev/fb0
機能している場合は、権限を変更してください/dev/fb0
。たとえば、次のようになります。
sudo chmod 666 /dev/fb0
または、管理者権限の bash シェルを起動し、権限を変更し、すべてを一度に表示することもできます。
sudo bash -c "chvt 1; fbi -T 1 -d /dev/fb0 image.jpg"
そうでなければ何も得られないでしょう。そのような場合は、私よりスマートな人に尋ねる必要があります。たくさんあります!
答え3
-d /dev/fb0
でオプションを試してくださいfbi
。
デフォルトで使用する必要がfbi
あるフレームバッファデバイスは、使用している仮想コンソールデバイスを見るとわかります。明らかに、この目的のために標準入力を見てください。 FIFOから標準入力をリダイレクトすると、コンソール以外のデバイスをインポートして続行できません。使用するフレームバッファデバイスを明示的に指定すると便利です。
フレームバッファデバイスを使用するために必要な権限がある限り、FIFOも必要ないかもしれません。fbi -d /dev/fb0 /myfolder/*.jpg
目的に適している場合は、SSH接続を再開してください。