Можно ли вызвать окно выбора приложения (щелкните правой кнопкой мыши -> Открыть с помощью -> Другие) из консоли linux? - PullRequest
2 голосов
/ 10 февраля 2009

В Gnome / KDE вы можете выбрать, в каком приложении вы хотите открыть файл (щелкните правой кнопкой мыши по файлу -> Открыть с помощью -> Другие). Можно ли открыть файл таким способом, но из консоли?

Например: вы печатаете «file.ext» и вместо открытия в конкретном приложении появляется принудительное окно выбора приложения, а затем пользователь выбирает - запускает выбранную программу.

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

«edit file.ext» не соответствует моим потребностям, потому что он запускает предпочитаемое приложение, и вы не можете выбрать, какое именно. А также на моем рабочем столе написано: "Ошибка: не найдено" изменить "правила mailcap для типа" image / jpeg "

Итак, могу ли я вывести это "открытое окно" из консоли? Если да, можете ли вы сказать, как? И на Windows, и на Mac вы можете делать такие вещи.

// редактировать в 2009-02-10 14: 17

Большое спасибо за ответы. Команда будет использоваться в программном коде, поэтому, к сожалению, вероятно, я не смогу сделать несколько дополнительных сценариев bash.

Ответы [ 3 ]

1 голос
/ 10 февраля 2009

Взгляните на man run-mailcap, вы можете изменять или добавлять выбранные приложения для каждого mimetype, изменяя файлы /etc/mailcap, ~/.mailcap и некоторые другие.

1 голос
/ 10 февраля 2009

Для GNOME:

gnome-open <file>

Для KDE:

kfmclient exec <file>

Эти команды должны открыть <file> в предпочтительном приложении в GNOME или KDE соответственно, хотя у меня нет ни одной из них для тестирования.

0 голосов
/ 10 февраля 2009

Традиционно в Unix-системах (и, следовательно, в Linux) вы запускаете приложения из консоли (а не из пользовательского интерфейса). В командной строке (или консоли) ожидается, что вы введете имя приложения, а затем имя файла (плюс некоторые параметры).

Это позволяет использовать приложения (или команды) в сценариях оболочки.

В Windows нет настоящей консоли (окно DOS - всего лишь воспоминание о мрачных веках MS DOS). Таким образом, разработчики MS пришли к мысли, чтобы ОС воспринимала все как команду. Если это не настоящая команда или приложение, ОС определит тип файла (по расширению в Windows и по некоторой информации заголовка на Mac). Для каждого типа файла в справочной таблице будет установлено соответствующее приложение.

Вот почему в Windows кажется, что вы можете ввести имя файла на консоли, и вы получите приложение для редактирования этого файла.

Если вы хотите быстро исправить это в консоли Unix, создайте сценарий с именем «open» или «o» и используйте команду file с параметром --mime, чтобы определить тип файла. Затем вы можете использовать case case для запуска вашего любимого редактора.

Что касается ошибки, связанной с «правилами mailcap»: в Unix существует файл под названием «mailcap», в котором вы можете определить абстрактные «команды» (открыть, изменить, просмотреть, напечатать) для типов файлов. См. Справочную страницу mailcap .

...