fbv:FrameBuffer image Viewer,可在控制台下查看jpg,png,gif,bmp等格式的图片,可以结合FBTerm在控制台设置背景图片,也可在编译在嵌入式设备上使用。但是ubuntu源里没有提供,需下载fbv的源码编译,依赖于下面三个库,(源码里包含相应的头文件,所以不能只是简单的从有这些库的电脑中复制过来这几个库,还要有头文件),你可以只下载其中一个库只查看某个格式的图片,需要修改下Makefile和main.c。
下载安装libjpeg:
wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
下面的需要root权限:
tar -zxvf jpegsrc.v8d.tar.gz -C /usr/local/src
cd /usr/local/src/jpeg-8d
./configure && make && make install
下载安装libpng:
从http://www.libmng.com/pub/libpng.html
注:libpng需要zlib,ubuntu源里是zlib1g,zlib1g-dev
libungif可从源安装或http://sourceforge.net/projects/giflib/files/
系统默认支持bmp,根据编译时的错误提示去修改main.c和makefile中当前不支持的。
png库中的结构体发生了变化,若使用的是较高版本需修改fbv1.0中png.c中的部分代码,否则make时出错。

#if (PNG_LIBPNG_VER < 10500)
if (setjmp(png_ptr->jmpbuf))
{
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if(rp) free(rp);
fclose(fh); return(FH_ERROR_FORMAT);
}
#else
if (setjmp(png_ptr))
{
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if(rp) free(rp);
fclose(fh); return(FH_ERROR_FORMAT);
}
#endif

顺利安装后便可查看jpg和bmp,如:fbv xxx.jpg(会是全屏),按q退出。
当你尝试在控制台打开png图片时可能发现未找到libpng16.so.16等,但是用whereis,grep等查找到,可以运行sudo ldconfig。
打包成deb的方法:checkinstall -D(也许你先要下载checkinstall)

下面附上32位的deb包(去掉后缀zip)(可看png,jpg,bmp):fbv_1.0b-1_i386.deb.zip

有兴趣还可以使用fbgrab(fbcat的一个工具)来截图:fbgrab screenshot.png

另外可以用cat /dev/fb0 > screen.raw 来抓取控制台/dev/tty中的原始数据,fbgrab实际上是将其转换为png格式。要想查看刚捕获的,可以cat screen.raw > /dev/tty.

fbv (FrameBuffer Viewer)编译指南的更多相关文章

  1. openjdk 完全编译指南

    从openjdk.java.net下载openjdk的软件包,你就获得了所有相关的源码. 强烈建议首先仔细看懂 README-builds.html 指南. 在执行 make all 之前,首先要 执 ...

  2. HoloLens开发手记- SpectatorView for iOS编译指南

    微软前两天发布了HoloLens 2,给MR开发带来了新的希望,全面的性能和显示效果提升,让人期待. 去年推出的预览版的全新SpectatorView for iOS解决方案,这允许我们直接使用带AR ...

  3. 代码混淆防止APP被反编译指南

    本文来自网易云社区 安卓App安全包含很多内容,包括混淆代码.整体Dex加固.拆分 Dex 加固.虚拟机加固等方面.事实上,这些内容也是国内近几年Android App安全保护的一种主要趋势. 混淆代 ...

  4. 开源库SRT编译指南

    SRT(Secure,Reliable,Transport)是Haivision公司开发的一套开源媒体传输协议,用于在不稳定的网络环境下,优化媒体数据的传输性能.  SRT的码流加密基于开源库open ...

  5. 超级简单的跨平台高性能音视频播放框架QtAv编译指南

    目录 一.了解QtAv 二.相关文章 三.下载QtAv源码 四.下载QtAv依赖库 五.设置环境变量 1.gcc设置方式 2.msvc(cl)设置方式 六.编译 七.测试 一.了解QtAv 这几天抱着 ...

  6. 【英文文档】 Installing Go from source Go语言官方编译指南 2019.02.27

    Introduction Go is an open source project, distributed under a BSD-style license. This document expl ...

  7. jrtplib编译指南

    The library offers support for the Real-time Transport Protocol (RTP), The library uses the JThread  ...

  8. openCV3 Python编译指南

    这里主要对openCV官网的<Installation in Linux>文档进行了翻译和解释 原文见:https://docs.opencv.org/3.4.1/doc/tutorial ...

  9. Boost下载安装编译配置使用指南(含Windows和Linux

    理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...

随机推荐

  1. [LINK]OpenResty

    http://openresty.org/ http://www.tuicool.com/articles/M3yI3y http://www.oschina.net/question/28_6046 ...

  2. MyBatis拦截器原理探究

    MyBatis拦截器介绍 MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能.那么拦截器拦截MyBatis中的哪些内容呢? 我们进入官网看一看: MyBatis 允 ...

  3. java并发:阻塞队列

    第一节 阻塞队列 1.1 初识阻塞队列 队列以一种先进先出的方式管理数据,阻塞队列(BlockingQueue)是一个支持两个附加操作的队列,这两个附加的操作是:在队列为空时,获取元素的线程会等待队列 ...

  4. 微软分布式云计算框架Orleans(2):容灾与集群(1)

    在上一篇:微软分布式云计算框架Orleans(1):Hello World,我们大概了解了Orleans如何运用,当然上一篇的例子可以说是简单且无效的,因为用了Orleans不可能只写一个Hello ...

  5. 基于FPGA的通信信号源的设计

    通信信号源设计原理 通过设计一个DDS信号源,然后将该信号作为载波信号,再对基带信号进行2ASK.2FSK.2PSK.2DPSK调制,进而产生多种通信信号. 设计框图如下: 将PN序列进行2ASK.2 ...

  6. [CF#290 Div.1 C]Fox And Dinner(最大流)

    题目:http://codeforces.com/contest/512/problem/C 题目大意:给你若干个数,让你分成k组,每组围成一个圆,使得相邻两个数和均为素数,且每组人数应>=3个 ...

  7. 【JavaEE企业应用实战学习记录】struts2实现登录并获取各个范围的数据

    package sanglp; import com.opensymphony.xwork2.*; /** * Created by Administrator on 2016/10/6. */ pu ...

  8. Day One(Beta)

    站立式会议 站立式会议内容总结 331 今天:自己摸索了BaseAdapter删除元素的三种方式更新效率逐步上升 明天:学习webkit的webview的使用 442 今天:书籍评价界面,计划删除功能 ...

  9. impdp导入时卡死分析方法

    来源于: http://blog.csdn.net/yfleng2002/article/details/7973997 http://www.cnblogs.com/songling/archive ...

  10. java 时间操作

    设置获取时间日期格式 // 设置日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 为 ...