Я часто использую xdg-open
в терминале; это открывает файл в приложении по умолчанию. Однако иногда я хотел бы открыть файл в другом приложении (не по умолчанию). Есть ли способ добиться этого из терминала?
(Очевидно, что некоторые приложения могут принимать файл в качестве аргумента, например, vlc /path/to/movie.mp3
, но я ищу более общий способ, который работает во всех ситуациях , аналогично xdg-open
.)
Преимущество подобной xdg-open
команды заключается в том, что окно терминала может быть закрыто после открытия файла / приложения. Однако, если я использую (например) vlc /path/to/movie.mp3 & amp;, то мне нужно будет держать окно терминала открытым.
Существуют псевдо-решения, такие как «Веб-браузер Gnome» (gnome-www-browser
) или «Текстовый редактор Gnome» (gnome-text-editor
). То же самое для X-сервера с его браузером (x-www-browser
) и эмулятором терминала (x-terminal-emulator
). Существует также «editor
» для текстового редактора терминала (nano
, vi
или любой другой). Вы можете настроить их с помощью командной строки update-alternatives
.
xdg-open
, предназначена для открытия файлов с приложениями по умолчанию, а не единственным приложением, которое пользователь хочет использовать в тот самый момент, когда он хочет открыть файл. Вы не можете сделать это, кроме как изменить приложение по умолчанию перед открытием файла, но это не удобно для пользователя и не позволяет получать приложения по умолчанию.
Так что лучшее решение для вас - это забыть общие решения и открыть файл, как это делает конкретное приложение, которое вы хотите использовать.
xdg-open
, конечно, предназначен для использования приложений по умолчанию. Чтобы использовать приложения не по умолчанию, я думаю, у вас есть три варианта.
1) Наберите programname filename
как обычно.
2) Сделайте это за пределами терминала, щелкнув правой кнопкой мыши в Nautilus и используя , открыв с помощью .
3) Используйте свой собственный скрипт в терминале. Предположим, у вас есть достаточно короткий список программ по умолчанию, которые вы можете выбрать.
#!/bin/bash
read filename
myvar=$(zenity --list --text="Chose a non-default program" --column="Programs" firefox gedit)
$myvar filename &
Это позволит вам указать имя файла, а затем выбрать программу для его открытия. Это минимальная реализация, поэтому может потребоваться дополнительная работа. Но попробуйте.
Может не быть много преимуществ для этого подхода, но он дает вам контроль над процессом и вариантами, чтобы удовлетворить любые ваши потребности.