首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从系统服务中使用fbi

如何从系统服务中使用fbi
EN

Unix & Linux用户
提问于 2019-08-07 04:51:10
回答 1查看 1.2K关注 0票数 3

我试图在没有Xserver的系统(Raspbian )的电视上显示图像。我不能让联邦调查局在系统服务部门工作,但它可以通过ssh终端工作。

下面的工作通过ssh..。

代码语言:javascript
复制
sudo fbi -T 1 /path/to/image.jpg

但它不能从systemd服务(wallpaper.service).

代码语言:javascript
复制
[Unit]
Description=display image     

[Service]
Type=simple
ExecStart=/usr/bin/fbi -T 1 /path/to/image.jpg

...when我试着用.

代码语言:javascript
复制
sudo systemctl daemon-reload
sudo systemctl start wallpaper.service

我试着添加..。

代码语言:javascript
复制
StandardInput=tty
StandardOutput=tty
TTYPath=/dev/tty1

在服务文件中没有运气。

编辑:

来自sudo systemctl status wallpaper.service的输出

代码语言:javascript
复制
● wallpaper.service - random wallpaper change script
   Loaded: loaded (/etc/systemd/system/wallpaper.service; static; vendor preset: enabled)
   Active: inactive (dead) since Wed 2019-08-07 01:34:34 EDT; 12s ago
  Process: 888 ExecStart=/usr/bin/fbi -T 1 -a /home/deanresin/temp/fire.dragon.jpg (code=exited, status=0/SUCCESS)
 Main PID: 888 (code=exited, status=0/SUCCESS)

Aug 07 01:34:34 kl3mmput3r systemd[1]: Started random wallpaper change script.
Aug 07 01:34:34 kl3mmput3r fbi[888]: using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
Aug 07 01:34:34 kl3mmput3r systemd[1]: wallpaper.service: Succeeded.

来自journalctl -u wallpaper.service的输出

代码语言:javascript
复制
Aug 07 01:34:34 kl3mmput3r systemd[1]: Started random wallpaper change script.
Aug 07 01:34:34 kl3mmput3r fbi[888]: using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
Aug 07 01:34:34 kl3mmput3r systemd[1]: wallpaper.service: Succeeded.

编辑:我在某个地方读到fbi必须在控制台上运行--这是程序的限制。系统糟透了..。从那以后什么都不管用。

EN

回答 1

Unix & Linux用户

发布于 2020-05-25 12:59:01

您缺少指向实际帧缓冲区设备的-d /dev/fb0选项。顺便说一句,我现在正在尝试让-T 1选项工作,但是不管我做什么,它都失败了。fbi问题的另一个答案是“如果没有给出虚拟终端,则使用/dev/console”。(如果我让-T在systemd上工作,我会编辑它)

以下工作(以显示图像)为systemd服务,并在/etc/systemd/system/splashscreen.service中找到:

代码语言:javascript
复制
[Unit]
Description=Splash screen
DefaultDependencies=no
After=local-fs.target

[Service]
#ExecStart=/usr/bin/fbi --noverbose -d -T 1 /dev/fb0 -t 60 -a -l /path/to/some/images.lst
ExecStart=/usr/bin/fbi --noverbose -d /dev/fb0 -t 60 -a -l /path/to/some/images.lst
#ExecStart=/usr/bin/fbi --noverbose -d /dev/fb0 -a /path/to/some/image.png
StandardInput=tty
StandardOutput=tty
#TTYPath=/dev/tty1

[Install]
WantedBy=sysinit.target

#线路是我正在测试的自动取款机,第二和第三ExecStart线将显示一个图像。

如果您从(默认引导)虚拟控制台切换,您将丢失框架缓冲区输出(屏幕为空白/黑色),尽管键输入仍然有效(q用于退出-通过pssystemctl进行验证)。我猜想,如果您不切换,一切都将按预期工作,但我不能验证atm,因为这是来自于一个虚拟机的操作系统作为它的主要操作系统,默认情况下打开在另一个终端,并使用帧缓冲设备。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/534269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档