I'm having trouble controlling fbi through a named pipe, it seems fbi simply stops listening to the pipe after the first write and I can't figure out why.

I'm running something like:

$ mkfifo /tmp/fbi
$ sudo fbi -T 1 *.png < /tmp/fbi &
[1] 19374
$ echo -n "." > /tmp/fbi
using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf

After this it looks like something starts listening to STDIN (line becomes black with no cursor showing but I can type in whatever) but after pressing enter I simply get:

[1]+  Done                    fbi -T 1 *.png < /tmp/fbi

fbi keeps on running normally after this, but it won't listen to the fifo anymore. If I try to write something into the fifo after this I get stuck there until I CTRL-C out of it, which is the same that happens when writing to a fifo which has nothing listening to it.

Things to keep in mind:

  • I'm using a RPI 3 with Raspbian Jessie Lite
  • I'm running this from SSH
  • fbi version 2.09, compiled on Oct 21 2014
  • If I run fbi manually it won't listen to STDIN for commands either, it simply puts me back on bash and continues to run with whatever arguments I launched it

Things I have tried:

  • Using nohup to launch fbi
  • Writing to process via echo "something" > /proc/[fbi pid]/fd/0
  • Using both root and normal user pi
  • Writing these commands to .bashrc so it runs on autologin without having to ssh into the raspberry

None of the previous worked for me. What could I be doing wrong? Thanks for reading.

migrated from raspberrypi.stackexchange.com Aug 1 '17 at 21:35

This question came from our site for users and developers of hardware and software for Raspberry Pi.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.