Как открыть файл в моем терминале, как это делает nautilus?

Я хочу иметь возможность открывать такие файлы, как моя операционная система, с консоли.

например, файл .pdf должен быть открыт с помощью evince или любым другим приложением, используемым по умолчанию для открытия PDF-файлов. Все остальное должно работать; изображения -> eog , текстовые файлы -> gedit и т. д.

Я надеюсь, что для этого есть решение, это было бы действительно практично.

xdg-open – открывает файл или URL-адрес в предпочтительном приложении пользователя

Но что, если вы хотите изменить предпочтительное приложение с терминала?

Попробуй это

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

 $ xdg-mime query default application/pdf AdobeReader.desktop $ xdg-mime default evince.desktop application/pdf $ xdg-mime query default application/pdf evince.desktop 

Теперь, как упоминалось jokerdino, вы можете использовать xdg-open, чтобы открыть файл с вашим предпочтительным приложением:

 $ xdg-open file.pdf 
  • gnome-open открывает файл с приложением Gnome по умолчанию
  • kde-open открывает файл с приложением KDE по умолчанию
  • xdg-open открывает файл с приложением X по умолчанию

Хорошо, если вы имеете в виду команду с тем, что вы можете открыть все, она будет выбирать автоматически, есть gnome-open

Если вы хотите открыть .pdf или любой другой файл, просто введите:

 gnome-open blah.pdf 

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

В руководстве по xdg-open

xdg-open – открывает файл или URL-адрес в предпочтительном приложении пользователя

Также отсюда

xdg-open является частью пакета xdg-utils , доступного в [extra]. xdg-open предназначен для использования только в сеансе рабочего стола. Не рекомендуется использовать xdg-open как root.

И обязательно измените приложение «по умолчанию», вам понадобится xdg-mime
Пример изменения программы просмотра PDF по умолчанию:

 $ xdg-mime default xpdf.desktop application/pdf 

Источник: https://wiki.archlinux.org/index.php/Xdg-open

Чтобы добавить к существующим точкам.

Я считаю эту команду настолько важной, что у меня есть псевдоним в ~/.bashrc :

 alias go='xdg-open' 

Я также нахожу команду xdg-open . или с псевдонимом go . действительно полезно. Период представляет рабочий каталог, и он открывает Nautilus в рабочем каталоге. Таким образом, если вам необходимо временно воспользоваться функциями Nautilus, например, открывать файлы в альтернативных программах, удалять файлы со странными именами, выбирать странные комбинации файлов и т. Д., Тогда вы можете сделать это относительно простым способом.

Вы можете использовать xdg-open, он должен открыть файл с программой по умолчанию:

 xdg-open somename.pdf 

откроет somename с вашим PDF-считывателем по умолчанию.

Или, как правило, вы можете просто использовать имя программы, за которым следует имя (или путь и имя) файла, который вы хотите открыть

 evince somename.pdf 

откроет somename в evince.

Если вы хотите иметь возможность использовать терминал во время работы с файлом, вы можете добавить & в конце команды, он будет выполнен в фоновом режиме, и вы можете продолжать связывать команды в терминале. В противном случае вы не сможете использовать терминал, пока программа не будет закрыта.

 xdg-open somename.pdf & 

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

 xdg-open somefile.pdf 

Очень полезно! Я добавил немного к этому и создал сценарий оболочки «open». По сути, если нет аргументов для открытия или если аргумент open является каталогом, вы используете nautilus, иначе команда xdg-open:

версия bash:

 #! /bin/bash # # this emulates the mac 'open' command, which figures out fromthe # file how to 'display' a file # # gnome-open kde-open xdg-open if [ $* > 0 ] ; then if [ -d $1 ] ; then nautilus $1 else xdg-open $* fi else nautilus . fi 

Версия csh:

 #! /bin/csh -f # # this emulates the mac 'open' command, which figures out fromthe # file how to 'display' a file # # gnome-open kde-open xdg-open if ($#argv > 0) then if (-d $1) then nautilus $1 else xdg-open $* endif else nautilus . endif 

Существует диспетчер файлов терминалов Midnight Commander Установить mc ,

 sudo apt-get install mc 

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