Команда запуска в терминале гнома, затем близком терминале гнома, не заканчивая выполняемую команду?

У меня есть полу чудная вещь, которую я переделываю. Я ищу способ сделать запуск MPV (видеоплеер) к видеосвязи легче. Поведение MPV по умолчанию состоит в том, чтобы или запуститься mpv https://url.of.video в терминале, или перетаскивают/отбрасывают URL к окну MPV. Я не нахожу это кошерное, являющееся клавиатурой центральный человек. Вместо этого я хотел бы инициировать раскрывающееся поле, вставить URL, совершил бы нападки, входят и имеют запуск MPV видео к тому URL. Тем путем я мог связать эту команду с сочетанием клавиш, сведя с ума полный легкий процесс. Я имею, это завершается, но с одним незначительным papercut - бродит вокруг окно терминала гнома. Это - простой один лайнер:

URL=$(yad --entry) && gnome-terminal -- bash -c "mpv $URL"

Если я запускаю ту команду, я получаю раскрывающееся поле благодаря YAD. В этой точке я вставляю URL, совершаю нападки, входят, и за 1-2 секунды окно MPV открывается к тому видео.Потрясающе. Точно, что я хотел.

Порез, который я упомянул, является тем, что терминал гнома остается рабочим. Не крупная проблема, но я хотел бы выяснить, существует ли путь к этой команде выше, чтобы запустить терминал гнома, призвать MPV, добавить переменную (URL) и затем иметь терминал гнома близко сам, не заканчивая видеопоток.

Любопытный, если у кого-либо есть какие-либо идеи. Большое спасибо!

2
задан 5 November 2017 в 11:43

1 ответ

Решение Вашей проблемы

Правильное решение здесь состоит в том, чтобы опустить звонить gnome-terminal и bash и даже устанавливая ненужную переменную во-первых, все это не нужно в Вашем случае:

mpv -- "$(yad --entry)"

Я добавил кавычки для обработки URL правильно, это гарантирует, что он может содержать, например, пробелы и знаки амперсанда (&) и команда все еще работает. -- говорит mpv чтобы прекратить искать опции и обработки вообще, Вы принимаете решение дать его как аргумент вместо этого. Отобразите общий падеж, где Вам назвали файл --version в каталоге Вы запускаете mpv с и просто вводите это имя файла, как может mpv знайте, показать ли Вам его строку версии или открыть файл?

Ответьте на свой вопрос

nohup или disown может использоваться для отсоединения процесса от оболочки, которая запустила его, посмотрите Различия между" <командой> и отрицайте" и "nohup <команда> и отрицайте".

В Вашем случае правильное решение было бы:

gnome-terminal -e nohup mpv -- "$(yad --entry)"

Однако для намного лучшего решения посмотрите выше.

11
ответ дан 2 December 2019 в 01:27

Другие вопросы по тегам:

Похожие вопросы: