일부 이미지를 표시하는 데 사용합니다 fbi
. , , 등과 fbi
같은 일부 키보드 컨트롤을 사용하여 이미지를 제어할 수 있습니다.+
-
Page Up
Page Down
키보드를 사용하는 대신 SSH를 통해 이러한 제어 명령을 fbi
.
나는 다음을 시도했습니다 :
mkfifo /tmp/mycmd
fbi /myfolder/*.jpg < /tmp/mycmd &
이렇게 하면 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?)
문제가 무엇입니까?
SSH를 통해 명령을 보내는 방법 fbi
! ?
답변1
이미지를 표시하려면 fbi
TTY에 대한 액세스가 필요합니다. 따라서 다음을 사용해야 합니다 -T 1
.
fbi -d /dev/fb0 -T 1 zxcv.png
그것을 얻으면 를 access /dev/tty1: Permission denied
사용하여 명령을 실행할 수 있습니다 sudo
.
불행히도 나는 그것에 명령을 보내는 방법을 모릅니다. 나는 사용하려고티에호무언가를 보내지 /dev/tty1
만 fbi
충돌이 발생합니다. 귀하의 fifo
방법도 작동하지 않는 것 같습니다.
답변2
나는 또한이 문제에 직면했습니다. 가상 터미널 1로 변경했는데 작동했습니다.
# Change to virtual terminal 1
chvt 1
# Make a dummy image with ImageMagick if you need one
magick -size 640x480 xc:red image.jpg
# Display on framebuffer
fbi -d /dev/fb0 -T 1 image.jpg
/dev/fb0
문제가 있는 경우 실제로 프레임 버퍼인지, 쓰기 권한이 있는지 확인할 수 있습니다 .
cat /dev/random > /dev/fb0
화면이 무작위 색상의 픽셀로 덮여 있으면 /dev/fb0
그것이 실제로 프레임 버퍼라고 추론할 수 있습니다.
당신이 얻을 경우"허가가 거부되었습니다"오류가 발생했습니다. 다시 시도해 주세요.
sudo cat /dev/random > /dev/fb0
작동하는 경우 권한을 변경하십시오 /dev/fb0
. 예를 들면 다음과 같습니다.
sudo chmod 666 /dev/fb0
또는 관리자 권한 bash 셸을 시작하고 권한을 변경하고 모든 것을 한 번에 표시할 수 있습니다.
sudo bash -c "chvt 1; fbi -T 1 -d /dev/fb0 image.jpg"
그렇지 않으면 아무것도 얻지 못할 것입니다. 그런 경우에는 나보다 똑똑한 사람에게 물어봐야 할 것입니다. 많은 것들이 있습니다!
답변3
-d /dev/fb0
와 함께 옵션을 사용해 보세요 fbi
.
기본적으로 fbi
사용해야 하는 프레임버퍼 장치는 사용 중인 가상 콘솔 장치를 보면 알 수 있습니다. 분명히 이 목적을 위해 표준 입력을 살펴봅니다. FIFO에서 표준 입력을 리디렉션하면 콘솔이 아닌 장치를 가져오고 계속할 수 없습니다. 사용할 프레임버퍼 장치를 명시적으로 지정하는 것이 도움이 될 수 있습니다.
프레임 버퍼 장치를 사용하는 데 필요한 권한이 있는 한 FIFO도 필요하지 않을 수도 있습니다. fbi -d /dev/fb0 /myfolder/*.jpg
목적에 적합하다면 SSH 연결을 다시 시작하면 됩니다.