Открыть файл из терминала в конкретном приложении
Я использую 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
предназначен для открытия файлов с приложениями по умолчанию, а не единственным приложением, которое пользователь хочет использовать в тот самый момент, когда он хочет открыть файл. Вы не можете сделать это, кроме как изменить приложение по умолчанию перед открытием файла, но это не удобно для пользователя и не позволяет получать приложения по умолчанию.
Таким образом, лучшее решение для вас - это забыть общие решения и открыть файл так же, как конкретное приложение, которое вы хотите использовать.