Открыть файл из терминала в конкретном приложении

Я использую xdg-open много в терминале; это открывает файл в приложении по умолчанию. Однако иногда я хотел бы открыть файл в другом приложении (не по умолчанию). Есть ли способ добиться этого из терминала?

(Очевидно, что некоторые приложения могут принимать файл в качестве аргумента, например, vlc /path/to/movie.mp3, но я ищу более общий способ, который работает во всех ситуациях, аналогично xdg-open.)

Преимущество xdg-open-подобная команда в том, что окно терминала можно закрыть после открытия файла / приложения. Однако, если я использую (например) vlc /path/to/movie.mp3 &, мне нужно будет оставить окно терминала открытым.

2 ответа

Решение

xdg-open конечно, предназначен для использования приложений по умолчанию. Чтобы использовать приложения не по умолчанию, я думаю, у вас есть три варианта.

1) Тип programname filename по-прежнему.

2) Сделайте это за пределами терминала, щелкнув правой кнопкой мыши в Nautilus и используя open с.

3) Используйте свой собственный скрипт в терминале. Предположим, у вас есть достаточно короткий список программ по умолчанию, которые вы можете выбрать.

#!/bin/bash
read filename
myvar=$(zenity --list --text="Chose a non-default program" --column="Programs" firefox gedit)
$myvar filename &

Это позволит вам указать имя файла, а затем выбрать программу для его открытия. Это минимальная реализация, поэтому может потребоваться дополнительная работа. Но попробуйте.

У этого подхода может быть не так много преимуществ, но он дает вам контроль над процессом и вариантами, чтобы удовлетворить любые ваши потребности.

Существуют псевдо-решения, такие как "Веб-браузер Gnome" (gnome-www-browser) или "текстовый редактор Gnome" (gnome-text-editor). То же самое для X-сервера с его браузером (x-www-browser) и его эмулятор терминала (x-terminal-emulator). Существует также "editor"для текстового редактора терминала (nano, vi или что еще). Вы можете настроить их с помощью update-alternatives командная строка.

Но не было реального решения. Универсальная программа для открытия приложений, таких как xdg-open предназначен для открытия файлов с приложениями по умолчанию, а не единственным приложением, которое пользователь хочет использовать в тот самый момент, когда он хочет открыть файл. Вы не можете сделать это, кроме как изменить приложение по умолчанию перед открытием файла, но это не удобно для пользователя и не позволяет получать приложения по умолчанию.

Таким образом, лучшее решение для вас - это забыть общие решения и открыть файл так же, как конкретное приложение, которое вы хотите использовать.

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