Cách tắt thiết bị đầu cuối cục bộ hiển thị khi phát video


15

Bất kỳ văn bản thiết bị đầu cuối cục bộ nào (dấu nhắc đăng nhập, v.v.) đều hiển thị qua các khu vực của màn hình không được bao phủ bởi video (tức là các thanh màu đen ở trên cùng và dưới cùng) khi tôi sử dụng thiết bị đầu cuối từ xa để phát video với omxplayer. Nếu tôi đợi 10 - 15 phút, thiết bị đầu cuối cục bộ hoàn toàn tối đen do không hoạt động để khắc phục sự cố, nhưng đó là một cách giải quyết khập khiễng.

Tôi nghĩ rằng việc sử dụng omxplayer cục bộ sẽ khắc phục được sự cố, nhưng tôi không thể xác minh vì RPi của tôi ghét tất cả các bàn phím của tôi. Tôi cũng không muốn phát video theo cách đó lâu dài.

Làm cách nào tôi có thể bôi đen thiết bị đầu cuối cục bộ để thiết bị không hiển thị khi sử dụng thiết bị đầu cuối từ xa để phát video qua HDMI?

Câu trả lời:


9
sudo sh -c "TERM=linux setterm -foreground black >/dev/tty0"
sudo sh -c "TERM=linux setterm -clear all >/dev/tty0"

Điều này sẽ thay đổi màu phông chữ thành màu đen, hơn là xóa màn hình.

Hoặc trong một dòng duy nhất:

sudo sh -c "TERM=linux setterm -foreground black -clear all >/dev/tty0"

Và đặt nó trở lại bình thường:

sudo sh -c "TERM=linux setterm -foreground white -clear all >/dev/tty0"

Đó là một giải pháp khá tốt. Nó vẫn để lại một con trỏ nhấp nháy ở góc trên bên trái.
Wisteso

chạy sudo sh -c "TERM = linux setterm -forground black> / dev / tty0" trước lệnh trên :)
mcpgza

điều đó đã lừa Tôi lo lắng về việc nó gây rối với thiết bị đầu cuối khi không phát phim (như khi tắt), nhưng đó có thể là một trận chiến khác.
Wisteso

Vui lòng cập nhật câu trả lời để bao gồm các giải pháp đầy đủ.
Alex Chamberlain

1
Tôi đã thêm cái này để /etc/rc.localnó được thực thi tự động khi khởi động
NimsDotNet

7

Bây giờ omxplayer có một tùy chọn để đặt nền thành màu đen.

omxplayer -b

Nó hoạt động cả trên thiết bị đầu cuối và trong X. Tính năng này phải có trong phiên bản hiện tại có sẵn bằng tiếng raspbian.


1
Nó vẫn đen sau khi phát lại. Làm thế nào để tôi quay trở lại?
Mailo Světel

4

Các -r ( --refresh ) tùy chọn để omxplayer xóa màn hình khi nó reset độ phân giải video và không có điều gì.

-r / --refresh                 adjust framerate/resolution to video

Một bí danh có thể hữu ích ở đây:

alias omxplayer='omxplayer -r -o hdmi '

Sau đó sẽ luôn làm mới (xóa) màn hình và gửi âm thanh đến đầu ra hdmi. Và vâng, không gian dấu trong bí danh là có chủ ý vì nó cho phép hoàn thành tab tiếp theo xảy ra. ( Rất hữu ích!)

Đối với con trỏ bị mờ, tôi hiếm khi (!) Từng sử dụng bàn phím với số pi của mình, luôn đăng nhập từ xa (Tôi đã xây dựng một nhà sản xuất thẻ SD, cấu hình sẵn mọi thứ), vì vậy tôi đã thêm phần sau vào /etc/rc.local:

# turn off console blanking
setterm -blank 0 -cursor off

/etc/rc.local được chạy dưới quyền root trong khi khởi động và điều này sẽ tắt tính năng xóa bảng điều khiển, điều này sẽ hữu ích khi không có hoạt động bàn phím (vật lý) nào được cảm nhận và cũng tắt con trỏ.

Vì việc đặt lại video thường khôi phục con trỏ bị mờ, tôi có một đoạn mã tôi chạy để gửi lệnh đến bàn điều khiển (thực tế là tty1):

#!/bin/bash
#
# send 'setterm' commands to /dev/tty1 (physical console)
setterm $* | sudo tee /dev/tty1 > /dev/null

Vì vậy, bất cứ khi nào con trỏ xuất hiện trở lại, tôi gõ:

tty1 -cursor off

và nó đã biến mất! Tất nhiên, bạn sẽ cần thiết lập người dùng của mình với các đặc quyền sudo, ít nhất là cho lệnh tee. (tra cứu / etc / sudoers và /etc/sudoers.d) Tập lệnh có thể được chỉnh sửa để luôn tắt con trỏ nếu muốn.

Hoặc phát điên với sự kết hợp của những điều này:

alias omxplayer='tty1 -cursor off; omxplayer -r -o hdmi '

Điều này sẽ đảm bảo con trỏ tắt, sau đó khởi động omxplayer. Chơi với nó!


0

Đây là những gì tôi làm (trong một kịch bản):

setterm -cursor off;
clear;
omxplayer -o hdmi "video file.mkv" | echo "";
setterm -cursor on;

Nếu bạn làm sử dụng một kịch bản để gọi omxplayer, bạn có thể muốn thêm

complete -F _longopt watch

đến .bashrc(hoặc tương tự cho bất kỳ thiết bị đầu cuối nào bạn sử dụng) để bạn có thể hoàn thành tab tên tệp.


Tôi cảm thấy một lập trình viên C / C ++ / Java / PERL ở đây ... Bạn chỉ cần dấu chấm phẩy nếu bạn đang xâu chuỗi tất cả các lệnh đó trên một dòng. Tất nhiên, tôi AM một C / C ++ / Java / PERL / etc lập trình viên, vì vậy tôi làm điều này bằng thói quen quá.
lornix

0
set PS1=""
setterm -cursor off
clear

Và voila, màn hình của bạn màu đen, ngay cả sau khi người chơi dừng lại.


0

Tôi định cấu hình Raspberry Pi của mình để khởi động thẳng vào pingười dùng, sau đó ~/.profiletôi thêm dòng sau:

setterm -foreground black -clear all && sleep 600

Điều này hoạt động vì Pi sẽ chuyển sang chế độ trống DPMS sau 10 phút và điều này chỉ đảm bảo rằng bạn sẽ thấy một màn hình trống "phía sau" omxplayer cho đến lúc đó.

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.