Як відображати зображення без запуску X11?


28

Я можу переглядати відео за допомогою OMXPlayer:

omxplayer -o hdmi video.h264

Як зробити те ж саме для нерухомих зображень?

Відповіді:


34

Ви можете скористатися програмою командного рядка fbi("перегляд зображень кадру"). Фреймбуфер також те , що oxmplayerвикористовує. Fbi доступний у розпорядженні rasbian, а також має бути в будь-якому іншому GNU / Linux дистрибутиві; це не специфічно для пі.

Він займає ім'я файлу або серію імен файлів, і ви можете використовувати для цього глобальну оболонку, наприклад:

fbi *.jpg

Показуватимуть усі файли .jpg у вашому поточному каталозі. Інструкції щодо переходу від однієї картинки у списку до наступної дивіться у розділі KEYS у man fbi. Ви також можете встановити автоматичне слайд-шоу за допомогою -tпараметра.

Ви можете отримати цю помилку:

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

Навіть під час входу на VT. Рішення полягає в тому, щоб вказати пристрій фреймбуфера, яким має бути:

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

Якщо ви використовуєте ssh, спробуйте:

fbi -T 1 [...]

Де "1" - номер вашого поточного VT ("віртуальний термінал", ака. VC, "віртуальна консоль"; до них можна отримати доступ через ctrl-alt-F[1-6]). Вам не доведеться входити в VT, де відображатиметься зображення, тому ви можете ввійти в систему дистанційно і використовувати це для розміщення зображень на дисплеї, прикріпленому до pi (припускаючи, що правильний VT на екрані). -Tвідсутня на довільній сторінці, але вона вказана в fbi --help.

Зауважте, ви не можете використовувати це для перегляду зображення на віддаленому терміналі; вони не пов'язані з фреймбуфером.

Кілька інших корисних варіантів - -aце збільшення масштабів зображень для розміщення на екрані, якщо вони занадто великі, і --editщо дозволяє обертати зображення (я вважаю, що вони потім зберігаються при такому обертанні, ви можете перевірити, що якщо це представляє питання).


Спасибі. Я спробував, fbi -d /dev/fb0 photo.jpgале все одно отримую помилку, яку ви згадуєте. Я входжу в Pi через SSH від емулятора терміналу Konsole Kubuntu Linux. Чи є у вас ідеї, як це виправити?
dotancohen

1
Ви маєте рацію - насправді і інтуїтів -d /dev/tty1не працює, але виявлено гуглінг -T 1 (відкритий через VT1), який не зафіксований на сторінці man: / Тому спробуйте це (припускаючи, що це перший VT, який ви бачите на екрані ); Я щось відредагую вище, і повідомте мене, якщо це спрацювало.
goldilocks

Дякую. Цікаво, що я гуляв навколо, але -T 1прапор не знайшов . Хоча використання команди насправді перешкоджає not a linux console?повідомленню, зображення не з’являється! Перегляд manсторінки виявляє: "fbi також потрібен доступ до консолі linux (тобто / dev / ttyN) для керування перемиканням консольної консолі. Очевидно, це не проблема для входу в консоль, але будь-якого типу псевдоти (xterm, ssh, screen) , ...) не буде працювати ". Навіть випадання tmuxне допомогло. Ви кажете, що вам вдалося відображати зображення через SSH без X?
dotancohen

Ні, ви не можете переглядати фреймбуфер віддалено, ви можете просто керувати ним.
золотинки

8

Робочий cmdline для мене (таким чином я відображаю зображення на HDMI-моніторі під час підключення до Rpi від ssh):

sudo fbi -T 2 img.jpg

це прекрасно працює, коли я використовую зовнішній міні-дисплей, підключений через s-video.
datay yes

0

Sudo fbi -T -пристрій / dev / fb0 -a img.jpg

Працює для мене, але без керування ключами ..


1
Ця відповідь потребує трохи детальніше. Потрібно хоча б вирішити питання, чи працює це з неконсольними входами - як описано вище.
Стів Робіллард

@SteveRobillard чому він не повинен працювати з неконсольних входів? є лише один фреймбуфер, де б ви не
входили

Це може спрацювати, але це чітко не стосується питань, обговорених у коментарях вище. Це також допоможе зрозуміти, чи можливе керування ключами.
Стів Робіллард

0

Коли я намагався записатись на spi framebuffer без доданого VT, з'являється як / dev / fb2

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

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

Я виявив, що мені потрібно використовувати -T 1, щоб дати fbi VT, мабуть, не важливо, який з них

-овербоза була тому, що я не хочу показувати текст

Я запускав цю команду з X11, яка мала побічний ефект тимчасового перезапису буфера X11, але оп і сам не буде працювати X11, це не проблема, я просто тестував пристрій fb зараз

Мене не дуже цікавить контроль, оскільки я просто знову закликаю fbi, коли хочу показати наступне зображення

Я був на одроїді С1 з openSUSE, але це не має значення


0

Я виявив, що 'sudo fbi -vt' працює.

Вам потрібно викликати "sudo", щоб запустити fbi, щоб мати доступ до фактичної віртуальної консолі, на якій працює "екран". (І сподіваємось, ти вже не працюєш як root ..!): D

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.