Làm cách nào để hiển thị hình ảnh mà không bắt đầu X11?


28

Tôi có thể xem video bằng OMXPlayer:

omxplayer -o hdmi video.h264

Làm thế nào để tôi làm tương tự cho hình ảnh tĩnh?

Câu trả lời:


34

Bạn có thể sử fbidụng ứng dụng dòng lệnh ("xem hình ảnh bộ đệm khung"). Bộ đệm khung cũng là những gì oxmplayersử dụng. Fbi có sẵn từ các repos raspbian và cũng nên có trong bất kỳ bản phân phối GNU / Linux nào khác; nó không cụ thể cho pi.

Nó lấy một tên tệp hoặc một loạt tên tệp và bạn có thể sử dụng shell shellbing cho việc này, vì vậy, ví dụ:

fbi *.jpg

Sẽ hiển thị tất cả các tệp .jpg trong thư mục hiện tại của bạn. Để biết hướng dẫn về cách chuyển từ một hình ảnh trong danh sách sang hình ảnh tiếp theo, hãy xem phần KEYS của man fbi. Bạn cũng có thể đặt trình chiếu tự động với -ttùy chọn.

Bạn có thể gặp lỗi này:

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

Ngay cả khi đăng nhập vào VT. Giải pháp là chỉ định thiết bị bộ đệm khung, nên:

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

Nếu bạn đang sử dụng ssh, hãy thử:

fbi -T 1 [...]

Trong đó "1" là số VT hiện tại của bạn ("thiết bị đầu cuối ảo", còn gọi là VC, "bảng điều khiển ảo"; chúng được truy cập qua ctrl-alt-F[1-6]). Bạn không cần phải đăng nhập vào VT nơi hình ảnh sẽ được hiển thị, vì vậy bạn có thể đăng nhập từ xa và sử dụng điều này để đưa hình ảnh lên màn hình được gắn vào pi (giả sử VT chính xác trên màn hình). -Tkhông có trong trang man, nhưng nó được liệt kê với fbi --help.

Lưu ý bạn không thể sử dụng điều này để xem hình ảnh trên một thiết bị đầu cuối từ xa; những người không liên quan đến bộ đệm khung.

Một vài tùy chọn hữu ích khác là -a, nó sẽ phóng to hình ảnh vừa với màn hình nếu chúng quá lớn và --editcho phép bạn xoay hình ảnh (tôi tin rằng chúng được lưu với xoay đó, bạn có thể muốn kiểm tra xem nó trình bày một vấn đề).


Cảm ơn. Tôi đã thử fbi -d /dev/fb0 photo.jpgnhưng tôi vẫn nhận được lỗi mà bạn đề cập. Tôi đã đăng nhập vào Pi thông qua SSH từ trình giả lập thiết bị đầu cuối Konsole của Kubfox Linux. Bạn có bất cứ ý tưởng làm thế nào để khắc phục điều này?
dotancohen

1
Bạn nói đúng - trên thực tế, trực giác -d /dev/tty1cũng không hoạt động, nhưng một số thông tin được tiết lộ -T 1 (mở qua VT1) không được ghi lại trong trang man: / Vì vậy, hãy thử (giả sử đó là VT đầu tiên bạn nhìn thấy trên màn hình ); Tôi sẽ chỉnh sửa một cái gì đó ở trên, và cho tôi biết ở đây nếu nó hoạt động.
goldilocks

Cảm ơn bạn. Thật thú vị, tôi đã làm google xung quanh nhưng không tìm thấy -T 1cờ. Mặc dù sử dụng lệnh trong thực tế ngăn chặn not a linux console?thông báo, không có hình ảnh xuất hiện! Việc mantruy cập trang không phát hiện ra: "fbi cũng cần quyền truy cập vào bảng điều khiển linux (tức là / dev / ttyN) để xử lý chuyển đổi bảng điều khiển lành mạnh. , ...) sẽ không làm việc." Ngay cả bỏ học tmuxcũng không giúp được gì. Bạn có nói rằng bạn đã quản lý để hiển thị hình ảnh qua SSH mà không cần X không?
dotancohen

Không, bạn không thể xem bộ đệm khung từ xa, bạn chỉ có thể kiểm soát nó.
goldilocks

8

Làm việc với cmdline cho tôi (theo cách này tôi hiển thị hình ảnh trên màn hình HDMI trong khi được kết nối với Rpi bằng ssh):

sudo fbi -T 2 img.jpg

điều này hoạt động hoàn hảo khi tôi sử dụng màn hình mini bên ngoài được kết nối qua s-video.
datayeah

0

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

Làm việc cho tôi, nhưng không có kiểm soát chính ..


1
Câu trả lời này cần thêm một chút chi tiết. Ít nhất nên giải quyết câu hỏi liệu điều này có hoạt động với thông tin đăng nhập không phải bàn điều khiển không - như được mô tả ở trên.
Steve Robillard

@SteveRobillard tại sao nó không hoạt động từ thông tin đăng nhập không phải bàn điều khiển? chỉ có một bộ đệm khung, bất kể bạn đăng nhập từ đâu ...
lenik

Nó có thể hoạt động tốt, nhưng nó không giải quyết rõ ràng các vấn đề được thảo luận trong các ý kiến ​​trên. Nó cũng sẽ giúp làm rõ nếu điều khiển chính là có thể.
Steve Robillard

0

Khi tôi đang cố gắng viết thư cho một bộ đệm khung spi không có VT kèm theo là / dev / fb2

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

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

Tôi thấy tôi cần phải sử dụng -T 1 để cung cấp cho VT một VT, dường như không có vấn đề gì

-noverbose là vì tôi không muốn hiển thị văn bản

Tôi đã chạy lệnh đó từ bên trong X11, nó có tác dụng phụ là ghi đè tạm thời bộ đệm X11 nhưng op và bản thân tôi sẽ không chạy X11, đó không phải là vấn đề, hiện tại tôi chỉ đang thử nghiệm thiết bị fb

Tôi không thực sự quan tâm đến việc kiểm soát vì tôi chỉ gọi lại fbi khi tôi muốn hiển thị hình ảnh tiếp theo

Tôi đã sử dụng odroid C1 với openSUSE nhưng điều đó không thành vấn đề


0

Tôi thấy rằng 'sudo fbi -vt' hoạt động.

Bạn cần phải gọi 'sudo' để chạy fbi, để có thể truy cập bảng điều khiển ảo thực tế có 'màn hình' đang chạy. (Và hy vọng bạn chưa chạy bằng root ..!): D

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.