Як відображати зображення без запуску 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.