Есть ли в командной строке способ получения рекомендованного списка программ, используемых для открытия определенного файла, в зависимости от типа файла? Например, .pdf
файл будет содержать open with...
рекомендации с использованием программ Evince
и Document Viewer
.
Я использую командную строку для большинства вещей, но иногда я забываю название программы, которую я хочу использовать, чтобы открыть файл определенного типа.
Кстати, я использую Ubuntu 13.10.
про-наконечник
Благодаря выбранному ответу @slm, приведенному ниже, я создал следующий скрипт bash в файле с именем openwith.sh
:
xdg-mime query default $(xdg-mime query filetype $1)
Добавить как псевдоним или выполнить непосредственно как openwith
команду.
gnome-open file
. Я добавилalias o='gnome-open'
к моему.bashrc
для простоты.gnome-open
работает аналогичноxdg-open
.gvfs-open
. Вопрос Что я могу использовать вместо gnome-open? с просьбой убунту .Ответы:
Я не видел ни одной команды, которая бы действовала как "открыть с помощью ...", но вы можете использовать эту команду,
xdg-open <file>
чтобы открыть данные<file>
в приложении, которые связаны с этим конкретным типом файла.Примеры
Открытие текстового файла:
В результате файл
tstfile.txt
открывается вgedit
:Открытие документа LibreOffice Writer:
В результате файл
tstfile.odt
открывается в Writer:Какие приложения используются?
Вы можете использовать
xdg-mime
для запроса системы, чтобы выяснить, какие приложения связаны с данным типом файла.Это двухэтапная операция. Сначала я запрашиваю MIME-тип данного файла
xdg-mime query filetype tstfile.txt
, который вернетсяtext/plain
. Затем он используется для выполнения другого поиска, чтобы узнать список приложений, связанных с этим MIME-типом. Как вы можете видеть выше, у меня есть 2 приложения, связанные,gedit
иcalibre
для.txt
файлов.Вы также можете
xdg-mime
изменить ассоциации. Смотритеman xdg-mime
для более подробной информации.источник
okular
для просмотра PDF, но ваш пример выше показывает, толькоevince
когда я запускаю его в PDF-файл..txt
связаны с Gedit и Calibre, например..desktop
файлы для перечисленных программ? Например, когда я запускаю скрипт для.pdf
файла, он возвращаетсяevince.desktop
, хотя я тоже могу его запуститьokular
.Если вы в основном работаете в командной строке, вы можете посмотреть на файловый менеджер на основе curses, например, ranger или vifm . Оба позволяют вам определять действия по умолчанию для типов файлов.
Например, в vifm
~/.vifm/vifmrc
вы можете определить ассоциации следующим образом:При нажатии Enterкурсора на любом файле с одним из определенных действий он будет открыт соответствующим приложением. Как вы можете видеть в случае
.html
файлов, вы можете запускать как скрипт, так и приложение.источник
Вроде, но в результате это изменит ваше приложение по умолчанию. Я не уверен, на каких других операционных системах это работает, но приведенные ниже инструкции работают для Ubuntu 12.04 - Desktop X86-64. У меня не было удобных PDF-файлов, поэтому я проверил архив .zip.
Общие шаги
Шаг 1В терминале типа:
снимок экрана № 1 = https://copy.com/qfWSZaZ4FzlAВыберите из списка, введя нужное
снимок экрана № 2 = https://copy.com/um6Rf7zRdceT#
приложение и нажав enter. Файл сразу же откроется в выбранном вами приложении.Заметки
Примечание № 1Это меняет приложение по умолчанию на выбранное вами, и поэтому каждый раз, когда вы открываете этот тип файла, оно теперь открывается в любом приложении, которое вы в последний раз выбрали из списка.
источник
Полагаю, зависит от того, какой Unix вы используете. В OS X вы можете использовать
open
команду:источник
open
команда впервые появилась в NextStep и была унаследована OS X, поэтому она может быть доступна в той или иной форме на других, более или менее основанных на OpenStep платформах (например, AfterStep, LiteStep).