Как я могу открыть файл в моем терминале, например, nautilus? [Дубликат]

77

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

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

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

    
задан David Halter 30.06.2012 в 12:17
источник

8 ответов

94

xdg-open — opens a file or URL in the user's preferred application

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

Попробуйте

Вы можете использовать программу 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
    
ответ дан CoalaWeb 30.06.2012 в 12:36
источник
56
  • gnome-open открывает файл с приложением Gnome по умолчанию
  • kde-open открывает файл с приложением KDE по умолчанию
  • xdg-open открывает файл с приложением X по умолчанию
ответ дан Puggan Se 30.06.2012 в 16:27
21

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

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

gnome-open blah.pdf

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

In manual of xdg-open

xdg-open - opens a file or URL in the user's preferred application

Также из здесь

xdg-open is part of the xdg-utils package available in [extra]. xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.

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

$ xdg-mime default xpdf.desktop application/pdf

Источник: Ссылка

    
ответ дан geoh 20.02.2013 в 18:58
17

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

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

alias go='xdg-open'

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

ответ дан Jeromy Anglim 30.06.2012 в 15:19
11

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

xdg-open somename.pdf

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

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

evince somename.pdf

откроет somename в evince.

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

xdg-open somename.pdf &
    
ответ дан Javier Rivera 20.02.2013 в 18:22
6

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

xdg-open somefile.pdf
    
ответ дан Florian Diesch 20.02.2013 в 18:23
4

Очень полезно! Я добавил немного к этому и создал сценарий оболочки «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
    
ответ дан Peter Teuben 05.07.2012 в 21:24
1

Существует диспетчер файлов терминалов, называемый Midnight Commander .

sudo apt-get install mc

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

    
ответ дан shsh 21.02.2013 в 16:43