Làm cách nào tôi có thể thoát omxplayer trên toàn màn hình?


13

Tôi muốn phát tệp video bằng cách nhân đôi nhấp vào nó bằng cách sử dụng omxplyaer. Lần đầu tiên, tôi nhấp đúp vào nó, nó yêu cầu tôi chọn một ứng dụng để mở tệp. Vì tôi không thể tìm thấy omxplayer trong tab ứng dụng đã cài đặt, tôi chọn tab Dòng lệnh Custome và nhập 'omxplyer' trong dòng lệnh để thực thi và một lần nữa 'omxplayer' trong tên Ứng dụng.

Bây giờ khi tôi nhấp vào video, nó bắt đầu phát trong omxplayer nhưng các phím nóng không còn hoạt động. Ví dụ: tôi không thể thoát video bằng cách nhấn 'q' trên bàn phím và không có phím nóng nào hoạt động. Điều này đã từng hoạt động khi tôi phát một tệp video từ lxterminal bằng cách nhập 'omxplayer video.mp4'. Nhưng đây không còn là trường hợp nữa.

Nếu một video bắt đầu phát ở chế độ toàn màn hình và vì tôi không còn có thể thoát omxplayer nữa, tôi phải xem video để kết thúc để người chơi sẽ thoát. Vì vậy, câu hỏi của tôi là ...

  1. Làm cách nào để bật lại phím nóng khi tôi phát tệp video với tùy chọn 'mở bằng và sau đó là omxplayer'?

  2. Làm cách nào để xóa dòng lệnh trước đó để thực thi nơi tôi nhập omxplayer để khi tôi nhấp vào tệp video, nó sẽ hỏi tôi một lần nữa để chọn ứng dụng?


Bạn có thể thay đổi chương trình để mở tệp bằng cách nhấp chuột phải vào tệp, "Mở bằng .." và sau đó chọn chương trình. Hãy chắc chắn kiểm tra hộp kiểm ở phía dưới "Đặt ứng dụng được chọn làm hành động mặc định cho loại tệp này" nếu bạn muốn điều này hoặc không nếu nó chỉ sử dụng một lần.
Lonefish

Chọn tùy chọn "Thực thi trong thiết bị đầu cuối". Các phím tắt không hoạt động mà không có thiết bị đầu cuối.
Wally

Câu trả lời:


6

Từ một thiết bị đầu cuối:

pid=$(pidof omxplayer)
kill $pid

Nếu nó vẫn không dừng lại , kill -9 $pid.

Bạn cũng có thể sử dụng killall omxplayerkillall -s 9 omxplayer, nên dừng tất cả các phiên bản đang chạy (nếu có thể có nhiều hơn một).


Nhân tiện, tôi đã gặp lỗi sau khi tôi nhập nó vào thiết bị đầu cuối sau khi video phát xong. "kill: cách sử dụng: kill [-s sigspec | -n Signum | -sigspec] pid | jobspec ... hoặc kill -l [sigspec]"
Zip

2
Hãy chắc chắn rằng có một cái gì đó thực sự trong $pid(bạn không thể giết thứ gì đó không tồn tại) và đó chỉ là một con số : echo $pid. Nếu có nhiều hơn một con số, bạn psđã sai; nó phải được chính xác ps -o pid= -C omxplayer. Tôi đã chỉnh sửa phiên bản tập lệnh để giải thích điều này.
goldilocks

Xin lỗi Noob đây. Tôi không biết câu trả lời của bạn liên quan đến câu hỏi của tôi như thế nào. Kịch bản có phải giết phiên bản omxplayer đang chạy không? Người chơi không thoát sau khi video phát xong. Tôi chỉ muốn thoát trình phát khi nó đang phát video, như nhấp vào nút 'x' trên cửa sổ thay vì đợi nó phát xong toàn bộ video.
Zip

1
Nếu bạn không thể thoát omxplayer qua giao diện bình thường, thì bạn phải đợi nó kết thúc hoặc bạn giết nó bên ngoài. Kịch bản chỉ là một công phu của khái niệm đó. Ý tưởng cơ bản là bạn mở một thiết bị đầu cuối khác trong khi omxplayer đang chạy và giết nó. Nếu bạn không thể làm điều đó (vì omxplayer lấy bộ đệm khung - tôi chưa bao giờ thử nó từ bên trong X), hãy chuyển sang VT khác (thiết bị đầu cuối ảo - có ít nhất 6) thông qua ctrl-alt F[1-6](chỉ cần thử các phím F để cho đến khi bạn nhận được một dấu nhắc đăng nhập).
goldilocks

BTW: Toàn bộ vấn đề của các phím nóng thông thường không hoạt động có thể là do LXDE đang lấy chúng, bạn sẽ có thể định cấu hình thiết bị đầu cuối LXDE / LXDE để không sử dụng các phím nóng chồng chéo.
goldilocks

2

Tôi chỉ sử dụng Alt + F4 để kết thúc video.


1

Trong khi các câu trả lời khác cung cấp một số phép thuật vỏ sáng tạo để giết một quá trình chạy một lệnh cụ thể, thực tế có hai lệnh để thực hiện chính xác điều này, và chúng được gọi pkillkillall. Từ trang người đàn ông:

pgrep,  pkill  -  look  up  or signal processes based on name and other
                  attributes

killall - kill processes by name

Vì thế

pkill omxplayer
killall omxplayer

Cả hai nên làm thủ thuật.

Bây giờ, người ta có thể tự hỏi tại sao có hai lệnh để làm điều tương tự. Những lý do chủ yếu mang tính lịch sử, có từ thời xa xưa khác nhau một chút so với ngày nay họ thường làm.

Cũng có sự khác biệt trong những lựa chọn họ chấp nhận. Để thảo luận lâu hơn về sự khác biệt của pkillkillall, vui lòng xem /unix/91527/whats-the-difference-b between-pkill- and- killall


1

Nếu bạn sử dụng tùy chọn "Mở bằng" từ GUI, bạn phải chọn tùy chọn "Thực thi trong trình giả lập thiết bị đầu cuối".

lxterminal -e omxplayer %F cũng hoạt động nếu bạn đang ở trên lxde,

Có vẻ như nút 'q' và các phím tắt khác không hoạt động nếu thiết bị đầu cuối không mở. Tôi đã phải tắt nguồn Pi rất nhiều lần cho đến khi tôi nhận ra điều này.


-1

Sử dụng lệnh này trong một thiết bị đầu cuối để tiêu diệt omxplayer:

ps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9

Điều đáng chú ý là nếu đường dẫn đến omxplayermột vị trí khác, chẳng hạn như /usr/local/binlệnh này sẽ không hoạt động. Một phương pháp chắc chắn hơn sẽ làps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Greenonline

bạn đúng rồi. tôi chỉ sao chép từ thiết bị đầu cuối của tôi và dán. cảm ơn bạn.
Rubayet

1
Đó là một triển khai gọn gàng của pkill;)
Bex

-2

này, hãy thử chạy omxplayer trong gui bằng cách liên kết nó với trình phát tbo, nó hoạt động hoàn hảo


2
Chào mừng đến với Raspberry Pi! Vui lòng tham quan và ghé thăm người trợ giúp để xem mọi thứ hoạt động ở đây như thế nào. Làm thế nào để giải quyết câu hỏi này? Xin được giải thích nhiều hơn để làm cho đó là một câu trả lời hữu ích.
Ghanima
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.