Bagaimana cara menampilkan gambar tanpa memulai X11?

28

Saya dapat melihat video menggunakan OMXPlayer:

omxplayer -o hdmi video.h264

Bagaimana saya melakukan hal yang sama untuk gambar foto?

tompreston
sumber

Jawaban:

34

Anda dapat menggunakan fbiaplikasi baris perintah ("framebuffer image viewing"). The framebuffer juga apa oxmplayermenggunakan. Fbi tersedia dari repo raspbian dan juga harus ada di distro GNU / Linux lainnya; ini tidak spesifik untuk pi.

Dibutuhkan nama file atau serangkaian nama file, dan Anda dapat menggunakan shell globbing untuk ini, jadi mis:

fbi *.jpg

Akan menampilkan semua file .jpg di direktori Anda saat ini. Untuk instruksi tentang cara memajukan dari satu gambar dalam daftar ke gambar berikutnya, lihat bagian KUNCI dari man fbi. Anda juga dapat mengatur tayangan slide otomatis dengan -topsi.

Anda mungkin mendapatkan kesalahan ini:

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

Bahkan ketika masuk di VT. Solusinya adalah menentukan perangkat framebuffer, yang seharusnya:

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

Jika Anda menggunakan ssh, coba:

fbi -T 1 [...]

Di mana "1" adalah nomor VT Anda saat ini ("terminal virtual", alias. VC, "konsol virtual"; ini diakses melalui ctrl-alt-F[1-6]). Anda tidak harus masuk pada VT di mana gambar akan ditampilkan, sehingga Anda dapat masuk dari jarak jauh dan menggunakan ini untuk meletakkan gambar pada layar yang terpasang pada pi (anggap VT yang benar ada di layar). -Ttidak ada di halaman manual, tetapi terdaftar dengan fbi --help.

Catatan Anda tidak dapat menggunakan ini untuk melihat gambar pada terminal jarak jauh; itu tidak terkait dengan framebuffer.

Beberapa opsi berguna lainnya adalah -a, yang akan memperbesar gambar agar muat di layar jika terlalu besar, dan --edit, yang memungkinkan Anda memutar gambar (saya percaya mereka kemudian disimpan dengan rotasi itu, Anda mungkin ingin memeriksa apakah itu menyajikan masalah).

goldilocks
sumber
Terima kasih. Saya sudah mencoba fbi -d /dev/fb0 photo.jpgtetapi saya masih mendapatkan kesalahan yang Anda sebutkan. Saya masuk ke Pi melalui SSH dari emulator terminal Konsole Kubuntu Linux. Apakah Anda punya ide bagaimana cara memperbaikinya?
dotancohen
1
Anda benar - pada kenyataannya intuituve -d /dev/tty1juga tidak berfungsi, tetapi beberapa googling terungkap -T 1 (buka via VT1) yang tidak didokumentasikan di halaman manual: / Jadi cobalah (anggap itu adalah VT pertama yang Anda lihat di layar) ); Saya akan mengedit sesuatu di atas, dan beri tahu saya di sini jika itu berhasil.
goldilocks
Terima kasih. Menariknya, saya melakukan google sekitar tetapi tidak menemukan -T 1bendera. Meskipun menggunakan perintah itu sebenarnya mencegah not a linux console?pesan, tidak ada gambar yang muncul! Membaca dengan teliti manhalaman tidak mengungkap: "fbi juga membutuhkan akses ke konsol linux (yaitu / dev / ttyN) untuk penanganan sakelar konsol waras. Itu jelas tidak masalah untuk login konsol, tetapi segala jenis pseudo tty (xterm, ssh, layar , ...) tidak akan bekerja." Bahkan keluar dari sekolah tmuxtidak membantu. Apakah Anda mengatakan bahwa Anda telah berhasil menampilkan gambar melalui SSH tanpa X?
dotancohen
Tidak, Anda tidak dapat melihat framebuffer dari jarak jauh, Anda cukup mengontrolnya.
goldilocks
8

Bekerja cmdline untuk saya (dengan cara ini saya menampilkan gambar pada HDMI-monitor saat terhubung ke Rpi oleh ssh):

sudo fbi -T 2 img.jpg
BALEPA
sumber
ini berfungsi sempurna ketika saya menggunakan layar mini eksternal yang terhubung melalui s-video.
datayeah
0

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

Bekerja untuk saya, tetapi tidak ada kontrol kunci ..

pengguna9216
sumber
1
Jawaban ini perlu sedikit lebih detail. Setidaknya harus menjawab pertanyaan apakah ini bekerja dengan login non-konsol - seperti dijelaskan di atas.
Steve Robillard
@SteveRobillard mengapa tidak bekerja dari login non-konsol? hanya ada satu framebuffer, di mana pun Anda masuk ...
lenik
Mungkin berhasil, tetapi tidak secara eksplisit mengatasi masalah yang dibahas dalam komentar di atas. Ini juga akan membantu memperjelas jika kontrol kunci dimungkinkan.
Steve Robillard
0

Ketika saya mencoba untuk menulis ke framebuffer spi tanpa VT terlampir muncul sebagai / dev / fb2

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

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

Saya menemukan saya perlu menggunakan -T 1 untuk memberikan fbi VT sepertinya tidak masalah yang mana

-Noverbose adalah karena saya tidak ingin menampilkan teks

Saya menjalankan perintah itu dari dalam X11 yang memang memiliki efek samping sementara menimpa buffer X11 tetapi op dan saya sendiri tidak akan menjalankan X11 itu bukan masalah, saya hanya menguji perangkat fb untuk saat ini

Saya tidak terlalu peduli dengan kontrol karena saya hanya memanggil fbi lagi ketika saya ingin menunjukkan gambar berikutnya

Saya menggunakan Odroid C1 dengan openSUSE tetapi itu tidak masalah

simotek
sumber
0

Saya menemukan bahwa 'sudo fbi -vt' berhasil.

Anda perlu memanggil 'sudo' untuk menjalankan fbi, untuk dapat mengakses konsol virtual aktual tempat 'layar' dijalankan. (Dan mudah-mudahan Anda belum berjalan sebagai root ..!): D

pengguna53739
sumber