目标:我正在为帧缓冲区编写一个非常简单的图像查看器/dev/fb0(类似于fbi)。
当前状态:
/sys/class/graphics/fb0/virtual_size我的软件从(例如)中获取像素分辨率1920,1080。/dev/fb0. 这在我的一台分辨率为 1920x1080 的笔记本电脑上运行得非常好。y更准确地说:在-row x-col =>处设置一个像素,arr[y * 1920 * 4 + x * 4 + channel]其中值为channel(0,1,2,3分别为B、G、R和A)。问题:
/sys/.../virtual_size当我在旧笔记本电脑上使用( ->分辨率)尝试相同的软件时1366,768,图像未正确显示(有点倾斜)。所以我研究了像素宽度值,发现该值为1376(而不是 1366)。
问题:
我已经看过这个问题,并且解决方案在我可以在我的虚拟控制台中显示图像的范围内有效。但是,如果我首先tmux在虚拟控制台中启动 a ,然后尝试fbi <imagename>,则会失败并显示以下错误。
using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
Run Code Online (Sandbox Code Playgroud)
是否有解决方法,例如某些设置tmux将允许它使用fbi?
我fbi用来显示一些图像。fbi有一些键盘控制,如+,-,Page Up,Page Down,等来控制图像。
我不想使用键盘,而是想通过 SSH 将这些控制命令发送到fbi.
我已经尝试过以下方法:
mkfifo /tmp/mycmd
fbi /myfolder/*.jpg < /tmp/mycmd &
Run Code Online (Sandbox Code Playgroud)
这样做后,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?)
Run Code Online (Sandbox Code Playgroud)
问题是什么?
如何fbi通过 SSH发送命令!?