Jak wyświetlić obrazy bez uruchamiania X11?

28

Mogę oglądać filmy za pomocą OMXPlayer:

omxplayer -o hdmi video.h264

Jak zrobić to samo dla zdjęć?

Tompreston
źródło

Odpowiedzi:

34

Możesz użyć fbiaplikacji wiersza polecenia („wyświetlanie obrazu bufora ramki”). Wykorzystywany jest także bufor ramkioxmplayer . Fbi jest dostępny z repozytoriów raspbian i powinien być również w każdej innej dystrybucji GNU / Linux; nie jest specyficzne dla pi.

Wymaga nazwy pliku lub serii nazw plików i można do tego użyć globowania powłoki, np .:

fbi *.jpg

Wyświetli wszystkie pliki .jpg w bieżącym katalogu. Aby uzyskać instrukcje na temat przechodzenia od jednego obrazu z listy do następnego, zobacz sekcję KLUCZEman fbi . Możesz również ustawić automatyczny pokaz slajdów z -topcją.

Możesz otrzymać ten błąd:

ioctl VT_GETSTATE: Invalid argument (not a linux console?)

Nawet po zalogowaniu na VT. Rozwiązaniem jest określenie urządzenia buforującego ramki, które powinno być:

fbi -d /dev/fb0 [...]

Jeśli używasz ssh, spróbuj:

fbi -T 1 [...]

Gdzie „1” to numer twojego obecnego VT („terminal wirtualny”, inaczej VC, „konsola wirtualna”; są one dostępne przez ctrl-alt-F[1-6]). Nie musisz być zalogowany na VT, w którym obraz będzie wyświetlany, więc możesz zalogować się zdalnie i użyć tego, aby umieścić obrazy na wyświetlaczu dołączonym do pi (zakładając, że prawidłowy VT jest na ekranie). -Tnie ma go na stronie podręcznika, ale znajduje się na liście z fbi --help.

Uwaga: nie można tego użyć do wyświetlenia obrazu na zdalnym terminalu; nie są one powiązane z buforem ramki.

Istnieje kilka innych przydatnych opcji -a, które powiększą obrazy, aby zmieściły się na ekranie, jeśli są zbyt duże, i --editktóre pozwalają obracać obrazy (uważam, że są one następnie zapisywane z tym obrotem, możesz sprawdzić, czy jeśli przedstawia problem).

Złotowłosa
źródło
Dzięki. Próbowałem, fbi -d /dev/fb0 photo.jpgale nadal pojawia się błąd, o którym wspomniałeś. Jestem zalogowany do Pi przez SSH z emulatora terminalu Konsole Kubuntu Linux. Czy masz jakieś pomysły, jak to naprawić?
dotancohen
1
Masz rację - w rzeczywistości intuituve -d /dev/tty1też nie działa, ale ujawniono niektóre googlingi -T 1 (otwarte przez VT1), które nie są udokumentowane na stronie podręcznika: / Więc spróbuj tego (zakładając, że jest to pierwszy VT, który widzisz na ekranie ); Zredaguję coś powyżej i dam znać tutaj, jeśli zadziałało.
Złotowłosa
Dziękuję Ci. Co ciekawe, wyszukiwałem w Google, ale nie znalazłem -T 1flagi. Chociaż użycie polecenia w rzeczywistości uniemożliwia wyświetlenie not a linux console?komunikatu, nie pojawia się obraz! Przejrzenie manstrony odkrywa: „fbi potrzebuje również dostępu do konsoli linux (tj. / Dev / ttyN) do obsługi przełączników konsoli rozsądnych. To oczywiście nie stanowi problemu dla logowania do konsoli, ale jakikolwiek pseudo tty (xterm, ssh, screen , ...) nie będzie działać." Nawet porzucenie tmuxnie pomogło. Czy mówisz, że udało Ci się wyświetlać obrazy przez SSH bez X?
dotancohen,
Nie, nie możesz wyświetlić bufora ramki zdalnie, możesz go po prostu kontrolować.
Złotowłosa
8

Działająca cmdline dla mnie (w ten sposób wyświetlam obraz na monitorze HDMI podczas połączenia z Rpi przez ssh):

sudo fbi -T 2 img.jpg
BALEPA
źródło
działa to idealnie, gdy używam zewnętrznego miniwyświetlacza podłączonego przez s-video.
datayeah
0

Sudo fbi -T -device / dev / fb0 -a img.jpg

Działa dla mnie, ale nie ma kluczowej kontroli.

użytkownik9216
źródło
1
Ta odpowiedź wymaga nieco więcej szczegółów. Powinien przynajmniej rozwiązać pytanie, czy działa to z logowaniem innym niż konsola - jak opisano powyżej.
Steve Robillard
@ SteveRobillard, dlaczego nie powinien działać z logowań innych niż konsole? jest tylko jeden bufor ramki, bez względu na to, skąd się logujesz ...
lenik
Może dobrze działać, ale nie rozwiązuje wyraźnie problemów omówionych w powyższych komentarzach. Pomogłoby to również wyjaśnić, czy kluczowa kontrola jest możliwa.
Steve Robillard
0

Gdy próbowałem napisać do bufora ramki SPI bez podłączonego VT, pojawia się jako / dev / fb2

http://www.hardkernel.com/main/products/prdt_info.php?g_code=G142060963922

fbi -T 1 -d /dev/fb2 -noverbose my.jpg

Odkryłem, że muszę użyć -T 1, aby dać FBI VT, nie wydaje się mieć znaczenia, który z nich

-naturbose było dlatego, że nie chcę pokazywać tekstu

Uruchomiłem to polecenie z poziomu X11, które miało efekt uboczny tymczasowego zastąpienia bufora X11, ale operacja i ja nie będziemy uruchamiać X11, to nie jest problem, na razie testowałem tylko urządzenie fb

Tak naprawdę nie dbam o kontrolę, ponieważ ponownie dzwonię do fbi, kiedy chcę wyświetlić następny obraz

Byłem na odroidie C1 z openSUSE, ale to nie powinno mieć znaczenia

simotek
źródło
0

Odkryłem, że działa „sudo fbi -vt”.

Musisz uruchomić „sudo”, aby uruchomić FBI, aby uzyskać dostęp do faktycznej konsoli wirtualnej, na której działa „screen”. (I mam nadzieję, że jeszcze nie działasz jako root ...!): D

użytkownik53739
źródło