4

I am not using X and I'm using fbi to display an image on the /dev/fb0 framebuffer device. When I boot up my Pi, I see all the usual text and it boots up to where I can log in on the console. After I use fbi like this:

fbi -T 2 -d /dev/fb0 -a myimage.png

My image is displayed and replaces the text.

How do I 'discard' the image painted in fb0 and recover my text session so I can type?

Steve Robillard
  • 34,988
  • 18
  • 106
  • 110
PhilBot
  • 71
  • 3
  • 7
  • 25

2 Answers2

1

From man fbi:

COMMAND USAGE

ESQ, q Quit.

I think that should be "ESC" -- anyway, lots of informative stuff in the man page.

In case you are unaware, there are 6 virtual terminals (VTs) with log-in prompts created at boot, but only the first one is where init messages appear. You can access these via CtrlAltF1-6.

Which I think you know since you are using -T 2, making it sort of a strange question...

goldilocks
  • 60,325
  • 17
  • 117
  • 234
1

Using Esc or Q to quit the 'fbi' app is great when it's still running. What also works is sending SIGINT or SIGQUIT, i.e: kill -2 $PID or killall -2 fbi to interrupt (and quit), or kill -3 $PID or killall -3 fbi to tell FBI to quit.

I've run into issues where fbi doesn't cleanly quit, leaving /dev/fb0 filled with whatever image was displayed when fbi died/was killed. You can display over it by running fbi again, but I haven't found a way to reset/re-initialize the framebuffer to provide a usable TTY on the console again. That is, if you re-run your fbi command with a different image, it'll function and display, and even cleanly quit if you tell it to...then display the prior image still.