다음 명령을 사용하여 이미지를 성공적으로 표시할 수 있습니다.
sudo fbi -T 1 /home/pi/photo-screen/photos/*.jpg -t 4
이제 Raspberry PI가 부팅되자마자 이러한 이미지의 슬라이드쇼를 시작하고 싶습니다.
그래서 다음과 같은 시스템 파일을 추가했습니다.
[Unit]
Wants=graphical.target
After=graphical.target
[Service]
Type=simple
User=pi
Group=pi
WorkingDirectory=/home/pi/photo-screen
ExecStart=sudo bash -c "fbi -T 1 -d /dev/fb0 photos/*"
Restart=always
RestartSec=20
[Install]
WantedBy=multi-user.target
● photo-screen.service
Loaded: loaded (/etc/systemd/system/photo-screen.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-12-11 15:12:07 CET; 61ms ago
Main PID: 1080 (sudo)
Tasks: 2 (limit: 472)
CPU: 23ms
CGroup: /system.slice/photo-screen.service
├─1080 sudo bash -c fbi -T 1 -d /dev/fb0 photos/*
└─1082 fbi -T 1 -d /dev/fb0 photos/0058966c-7ee5-4fc0-80ec-55885809567b.jpg photos/04669eb7-bf5e-4cbf-ab8f-fc7b3566186d.jpg photos/0cc1ad40-1b05-4f1c-beae-0c285d6b62>
Dec 11 15:12:07 foto systemd[1]: Started photo-screen.service.
Dec 11 15:12:07 foto sudo[1080]: pi : PWD=/home/pi/photo-screen ; USER=root ; COMMAND=/usr/bin/bash -c fbi -T 1 -d /dev/fb0 photos/*
Dec 11 15:12:07 foto sudo[1080]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
저는 SSH를 통해 로그인하고 있으므로 올바른 tty를 할당하면 해당 -T 1
매개변수가 제대로 작동합니다.
나는 시도했다:
chvt 1;
내 스크립트에 포함됨- 다음과 같이 실행
root
-d /dev/fb0
내 스크립트에 옵션 추가- 하지만 나는 사용하여
fim
똑같은 문제가 있습니다 - 비상대 경로 사용
화면이 연결되어 있고 로그인 프롬프트가 가끔 검게 표시되지만 이미지가 표시되지 않습니다.
OOPS Terminated
어느 시점에서 로그인 프롬프트 위의 화면에 표시되었습니다.
또한 화면을 임의의 항목으로 채우면 잠시 후 화면의 약 80%를 덮는 검은색 막대로 덮이게 됩니다.
cat /dev/random > /dev/fb0
FBI 스크립트를 다음으로 바꾸려고 시도했지만 cat /dev/random > /dev/fb0
화면이 채워지지 않았습니다.
나는 높은 bash 터미널을 제공하면 문제를 해결할 수 있다고 생각했습니다.
sudo bash -c "chvt 1; fbi -T 1 -d /dev/fb0 images/*"
이것은 다시 내 SSH 터미널을 통해 작동하지만 systemd를 사용하지 않습니다.
답변1
나는 성공하지 못한 채 이 토끼굴 아래로 내려왔습니다. systemd 데몬에서 fbi의 tty1에 액세스하는 방법을 찾을 수 없습니다.
대신 crontab을 사용합니다. 먼저 기본 설정 > Raspberry Pi 구성을 선택하여 GUI를 통한 자동 로그인을 비활성화했습니다. "시스템" 탭에서 "자동 로그인"을 "사용 안 함"으로 설정했습니다.
그런 다음 cron 항목을 추가했습니다( sudo crontab -e
따라서 루트로 실행됩니다).
@reboot fbi -a --noverbose -T 1 -d /dev/fb0 -l /home/ed/Documents/PictureFrame/images.txt --random --blend 120 -t 30
따라서 pi가 나타나면 명령이 실행됩니다. 그러나 그것은 작동하지 않았습니다. 슬라이드쇼가 잠시 시작되는 것을 볼 수 있지만 그 후 로그인 화면으로 이동합니다. 슬라이드쇼가 너무 일찍 시작되었습니다. 괜찮습니다. 어쨌든 제가 정말로 원하는 것은 SmugMug에서 매번 새로운 이미지 배치를 다운로드하는 것입니다. 그래서 이미지를 다운로드한 다음 fbi를 호출하는 쉘 스크립트를 만들었습니다. 따라서 내 cron 작업에서는 네트워크 연결을 기다린 다음 다음을 수행하는 쉘 스크립트를 호출합니다.
@reboot /bin/bash -c 'until nc -z 8.8.8.8 53; do sleep 1; done; /home/ed/Documents/PictureFrame/FBISlideShow'
나는 NC를 얻기 위해 도망쳤다 sudo apt install netcat-traditional
. sleep 10 등을 사용할 수 있습니다.
이제 Pi가 부팅된 후 잠시 지연되기는 하지만 내 슬라이드쇼가 자동으로 시작됩니다.
이것은 Debian Bookworm이 설치된 Raspberry Pi 4에 있습니다.