Як я можу вийти з omxplayer у повноекранному режимі?


13

Я хотів відтворити відеофайл, подвоївши клацання по ньому, використовуючи omxplyaer. Перший раз, коли я двічі клацнув на ньому, він просить вибрати програму, щоб відкрити файл. Оскільки я не можу знайти omxplayer на вкладці встановленого додатка, я вибираю вкладку Custome Command Line і ввожу 'omxplyer' у командному рядку для виконання та знову 'omxplayer' у назві програми.

Тепер, коли я натискаю на відео, воно починає відтворюватися в omxplayer, але гарячі клавіші вже не працюють. Наприклад, я не можу вийти з відео, натиснувши клавішу "q" на клавіатурі, і нічого з гарячої клавіші не працює. Це працювало, коли я відтворював відеофайл із lxterminal, набравши "omxplayer video.mp4". Але це вже не так.

Якщо відео починає відтворюватися в повноекранному режимі, і оскільки я більше не можу вийти з omxplayer, я повинен переглянути відео, щоб закінчитися, щоб програвач вийшов. Отже, моє запитання ...

  1. Як знову ввімкнути гарячу клавішу, коли я відтворюю відеофайл із опцією "відкрити, а потім omxplayer"?

  2. Як видалити попередній командний рядок, щоб виконати місце введення omxplayer, щоб після натискання на відеофайл знову попросив вибрати програму?


Ви можете змінити програму, щоб відкрити файл, клацнувши правою кнопкою миші на файл "Відкрити з ..", а потім вибрати програму. Не забудьте встановити прапорець у нижній частині "Встановити вибрану програму як дію за замовчуванням для цього типу файлів", якщо ви цього хочете, або не потрібно, якщо вона призначена для одноразового використання.
Lonefish

Виберіть варіант "Виконати в терміналі". Клавіші швидкого доступу не працюють без терміналу.
Уоллі

Відповіді:


6

З терміналу:

pid=$(pidof omxplayer)
kill $pid

Якщо він по- , як і раніше не зупиняється, kill -9 $pid.

Ви також можете використовувати killall omxplayerі killall -s 9 omxplayer, що має зупинити всі запущені екземпляри (якщо їх може бути більше).


До речі, я отримав таку помилку, коли вводив її в термінал після того, як відео закінчиться. "убити: використання: убити [-s sigspec | -n signum | -sigspec] pid | jobspec ... або убити -l [sigspec]"
Zip

2
Переконайтеся , що є що - то на самому справі в $pid(ви не можете вбити то , що не існує) , і що це просто номер: echo $pid. Якщо число більше, ніж просто число, ви psпомилилися; вона повинна бути точно ps -o pid= -C omxplayer. Я редагував версію сценарію, щоб врахувати це.
золотинки

Вибачте тут нуб. Я не знаю, як ваша відповідь пов’язана з моїм запитанням. Чи повинен скрипт вбивати поточний запущений екземпляр omxplayer? Програвач все-таки виходить із відео після закінчення відтворення відео. Я просто хочу вийти з програвача, коли він відтворює відео, як-от натиснути кнопку "x" у Windows, замість того, щоб чекати, коли відтворення закінчило все відео.
Zip

1
Якщо ви не можете вийти з omxplayer через звичайний інтерфейс, то або доведеться чекати, поки він закінчиться, або ви його вб'єте зовні. Сценарій - це лише розробка цієї концепції. Основна ідея полягає в тому, щоб ви відкрили інший термінал, поки omxplayer працює і вбили його. Якщо ви не можете цього зробити (оскільки omxplayer захоплює фреймбуфер - я ніколи не пробував це зсередини X), перейдіть до іншого VT (віртуального терміналу - їх принаймні 6) через ctrl-alt F[1-6](просто спробуйте F-клавіші для того, щоб отримати запит на вхід).
золотинки

BTW: Вся проблема нормальних гарячих клавіш не працює, тому що LXDE захоплює їх, ви повинні мати можливість налаштувати LXDE / термінал LXDE, щоб не використовувати гарячі клавіші, що перекриваються.
золотинки


1

Хоча інші відповіді дають деяку винахідницьку магію оболонки, щоб знищити процес, який виконує певну команду, насправді є дві команди зробити саме це, і вони називаються pkillі killall. З чоловічої сторінки:

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

killall - kill processes by name

Так

pkill omxplayer
killall omxplayer

повинні обидва робити трюк.

Тепер можна було б задуматися, чому є дві команди зробити те саме. Причини переважно історичні, починаючи з часів, коли різні уряди відрізнялися трохи більше, ніж зазвичай.

Існують також відмінності в тому, які варіанти вони приймають. Для більш тривалої дискусії про відмінності pkillта killall, будь ласка, дивіться /unix/91527/whats-the-difference-bet between- pkill- and- killall


1

Якщо ви використовуєте опцію "Відкрити з" у графічному інтерфейсі, вам слід вибрати опцію "Виконати в емуляторі терміналу".

lxterminal -e omxplayer %F також працює, якщо ви перебуваєте на lxde,

Схоже, кнопка 'q' та інші ярлики не працюють, якщо термінал не відкритий. Мені довелося вимикати Пі багато разів, поки я не з'ясував це.


-1

Використовуйте цю команду в терміналі, щоб вбити omxplayer:

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

Варто зазначити, що якщо шлях до omxplayerіншого місця, наприклад, /usr/local/binця команда не буде працювати. Більш впевненим методом було бps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Greenonline

ти правий. Я щойно скопіював з мого терміналу і вставив. Дякую.
Рубает

1
Це акуратне виконання pkill;)
Бекс

-2

ей просто спробуйте запустити omxplayer в gui, пов'язуючи його з tbo player, він працює чудово


2
Ласкаво просимо до Raspberry Pi! Відвідайте екскурсію та відвідайте довідковий центр, щоб побачити, як тут все працює. Як це вирішує питання? Будь ласка, поясніть, щоб зробити цю корисну відповідь.
Ghanima
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.