Как именно файлы открываются из Nautilus?

Я спрашиваю это из любопытства, чтобы узнать, что происходит «за кулисами», когда я дважды щелкаю файл в файловом браузере, скажем, Наутилус. В частности, с какими параметрами исполняемый файл выполняется? Где файл .desktop вступает в игру и как Nautilus отправляет имя файла?

Это было актуально для меня, когда Okular открывал несколько экземпляров одного и того же файла, и мне приходилось писать сценарий оболочки, который имел обыкновение терпеть неудачу, потому что имя файла не было передано должным образом. (Пробелы в именах файлов будут преобразованы в HTML% 20 символов, и мне пришлось много выяснить, как именно передаются имена файлов.)

2
задан 18 January 2014 в 16:29

1 ответ

Существуют две директории, которые содержат .desctop файлов: /usr/share/applications/ (глобальный список для всех пользователей) и ~/.local/share/applications/ (для конкретного пользователя). Оба каталога содержат список ассоциаций типов файлов (defaults.list и mimeapps.list соответственно).

Когда вы щелкаете файл, Nautilus находит соответствующий файл .desctop и запускает вашу программу. Каждый файл .desctop содержит клавишу Exec, которая задает командную строку (программу и ее параметры). См. этот документ для подробностей о клавише Exec.

Если в файле .desctop указана программа без полного пути, она будет найдена на вашем $PATH. При установке по умолчанию $PATH обычно включает в себя следующие каталоги: /usr/local/sbin, /usr/local/bin, /usr/sbin, /usr/bin, /sbin, /bin.

0
ответ дан 18 January 2014 в 16:29

Другие вопросы по тегам:

Похожие вопросы: