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

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

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

2
задан 05.05.2020, 15:53

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
ответ дан 05.05.2020, 15:54
  • 1
    Я только что создал двоичный файл без типа контента, определенного в нем, и со случайным расширением (.ttt). Я пытался открыть его в Наутилусе. Я добрался The file is of an unknown type сообщение, и была кнопка для выбора одной из зарегистрированных программ там. Я думаю, если Вы удалите какие-либо ассоциации для конкретного типа контента, что-то подобное произойдет:) – Tom Hosker 05.05.2020, 15:54
  • 2
    Спасибо! И что происходит, если оба .desktop файлы удалены? Это попросит, чтобы я выбрал который программа открыть его с? – Daniel Beck 05.05.2020, 15:54

Теги

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