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ęć?

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).


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

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.


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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.