FBI(1)
πΈ NAME πΈ
fbi β Linux framebuffer imageviewer π
okay bestie, so fbi is literally the girl for showing pictures on your linux console. no X, no window manager, no drama. she just takes over the framebuffer device and does her thing. iconic behavior honestly. π
β¨ SYNOPSIS β¨
fbi [options] file ...
π DESCRIPTION π
so here's the vibe: fbi displays the file(s) you give it on the linux console, using the framebuffer device. she's not like other viewers. π¦
PhotoCD, jpeg, ppm, gif, tiff, xpm, xwd, bmp, png and webp formats are supported natively β no middleman, no fuss. and for anything else? she tries to use ImageMagick(1)'s convert(1). she's resourceful like that. π
π OPTIONS π
-h,--helpβ print usage info. the "what do i even do here" button π«Ά-V,--versionβ print thefbiversion number. slay, tell me who you are π--storeβ write the command line arguments to the config file~/.fbirc. she remembers. π-l file,--list fileβ read the image filelist from file.-P,--textβ enable textreading mode. in this modefbiwill display large images without vertical offset (default is to center the images). the SPACE command will first try to scroll down and go to the next image only if it is already on the bottom of the page. super useful if the images you're watching are text pages β all you have to do to get the next piece of text is press space... π-a,--autozoomβ enable autozoom.fbiwill automagically pick a reasonable zoom factor when loading a new image. no notes. β¨--(no)autoupβ like autozoom, but scale up only.--(no)autodownβ like autozoom, but scale down only.--(no)fitwidthβ use width only for autoscaling.-v,--(no)verboseβ be verbose: enable the status line on the bottom of the screen (enabled by default). she's a talker, and honestly? we love her for it π¬-u,--(no)randomβ randomize the order of the filenames. chaos mode, main character energy π²--(no)commentsβ display comment tags (if present) instead of the filename. probably only useful if you added reasonable comments yourself (usingwrjpgcom(1)for example), otherwise you likely just find texts pointing to the software which created the image. lowkey a jumpscare if you didn't write them yourself π-e,--(no)editβ enable editing commands. (yes, she can edit. we'll get to that. π³)--(no)backupβ create backup files (when editing images). bestie, protect yourself π-p,--(no)preserveβ preserve timestamps (when editing images).--(no)readaheadβ read ahead images into cache. she's already thinking about the next one π§--cachemem sizeβ image cache size in megabytes (default is256).--blend timeβ image blend time in miliseconds.-T n,--vt nβ start on virtual console n.-s steps,--scroll stepsβ set scroll steps in pixels (default is50).-t sec,--timeout secβ start a continuous slideshow where each image is loaded at sec second intervals without any keypress. hands-free, we stan π-1,--(no)onceβ don't loop (only use with-t).-r n,--resolution nβ select resolution, n =1..5(default is3, only PhotoCD).-g n,--gamma nβ gamma correction. requires Pseudocolor or Directcolor visual, doesn't work for Truecolor (default is1).-f <arg>,--font <arg>β set font. this<arg>can be anything fontconfig accepts (seefonts-conf(5)). tryfc-list(1)for a list of known fonts on your system. the fontconfig config file is evaluated as well, so any generic stuff defined there (such asmono,sans) will work as well. it is recommended to use monospaced fonts β the textboxes (help text, exif info) look better then. π-d /dev/fbN,--device /dev/fbNβ use/dev/fbNdevice framebuffer. default is the one your virtual console is mapped to.-m videomode,--mode videomodeβ name of the video mode to use (video mode must be listed in/etc/fb.modes). default is not to change the video mode.--(no)interactiveβ allow interactively controlling the program from the keyboard. this requires that stdin is a TTY. default is to allow interactive control.
π ENVIRONMENT π
fbi uses the following environment variables:
FBGAMMAβ this variable may be used to specify a default gamma correction.
π COMMAND USAGE π
the commands take effect immediately; it is not necessary to type a carriage return. no enter key, just vibes β¨
in the following commands, i is a numerical argument.
π« Scrolling
LEFT_ARROW,RIGHT_ARROW,UP_ARROW,DOWN_ARROWβ scroll large images. get those arrows working πPREV_SCREEN,kβ previous image.NEXT_SCREEN,SPACE,jβ next image.igβ jump to image #i.RETURNβ write the filename of the current image tostdout(3), then go to the next image.
the RETURN vs. SPACE key thing can be used to create a file list while reviewing the images and use the list for batch processing later on:
fbi file1.gif file2.jpg file3.jpg > fileimagelist.lst
some RETURN and SPACE...
fbi -l fileimagelist.lst
okay that's actually genius. build your own playlist by just... pressing enter. periodt. π
π Zoom
aβ autozoom.+β in.-β out.isβ set zoom to i%.
πΈ Other
ESQ,qβ quit. bye bestie πvβ toggle status line.hβ display textbox with brief help.iβ display textbox with some EXIF info.pβ pause the slideshow (if started with-t, toggle).
π Edit mode
fbi also provides some very basic image editing facilities. you have to start fbi with the -e switch to use them.
D,Shift+dβ delete image.rβ rotate 90 degrees clockwise.lβ rotate 90 degrees counter-clock wise.xβ mirror image vertically (top / bottom).yβ mirror image horizontally (left to right).
β οΈ the delete function actually wants a capital letterD, thus you have to typeShift+d. this is done to avoid deleting images by mistake because there are no safety bells: if you askfbito delete the image, it will be deleted without questions asked. no "are you sure", no take-backs. π be careful bestie.
the rotate function actually works for JPEG images only. it does a lossless transformation of the image. so clean, so iconic π₯
π BUGS π
fbi needs rw access to the framebuffer devices (/dev/fbN), i.e you (or your admin) have to make sure fbi can open the devices in rw mode. the IMHO most elegant way is to use PAM(7) to chown the devices to the user logged in on the console. another way is to create some group, chown the special files to that group and put the users which are allowed to use the framebuffer device into the group. you can also make the special files world writable, but be aware of the security implications this has. on a private box it might be fine to handle it this way though.
fbi also needs access to the linux console (/dev/ttyN) for sane console switch handling. that is obviously no problem for console logins, but any kind of a pseudo tty (xterm, ssh, screen, ...) will not work. yeah. she's picky about her environment, and honestly? fair. π
π¦ SEE ALSO π¦
convert(1), fbset(1), fc-list(1), imagemagick(1), wrjpgcom(1), fonts-conf(5), PAM(7)
π AUTHOR π
Gerd Hoffmann <gerd@kraxel.org>
β COPYRIGHT β
Copyright (c) 1999-2012 Gerd Hoffmann <gerd@kraxel.org>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
and that's the whole page bestie!! πβ¨π this was fbi 2.09, Β© 1998-2012 Gerd Hoffmann, and it lives in the FBI(1) section of your manual. go forth and view some pictures on your console. you got this. mwah π
π¦
π¦ where this page comes from
- alpine 3.24: fbida-doc 2.15-r0 Β· GPL-2.0-only
- arch rolling: fbida 2.14-6 Β· GPL2
- fedora 43: fbida 2.15-1.fc43 Β· GPL-2.0-or-later
- fedora 44: fbida 2.15-1.fc44 Β· GPL-2.0-or-later
- nixos 26.05: fbida 2.15-1
- nixpkgs unstable: fbida 2.15-1
- opensuse-leap 16.0: fbi 2.14-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: fbi 2.14-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: fbi 2.14-bp160.1.12 Β· GPL-2.0-or-later
- opensuse-leap 16.0: fbi 2.14-bp160.1.12 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms