Я пытаюсь заставить xdg-open открывать файлы css с помощью правильного редактора, но не могу заставить file
сообщить правильный mimetype для файла file.css. В /etc/mime.types есть запись, и файл уже существует как /usr/share/mime/text/css.xml, но это всегда происходит:
➜ ~ echo ". {}" > file.css
➜ ~ file --mime-type file.css
file.css: text/plain
➜ ~
Когда я отслеживаю код, Я вижу, что он использует магию вместо / usr / share / mime / text mime db. Как я могу получить файл, чтобы сообщить об этом как text / css вместо text / plain?
AFAIK Вы не можете использовать file -i
или file --mime-type
протестировать функциональность базы данных MIME в масштабе всей системы. file
использование magic
и его конфигурация по умолчанию, так для изменения поведения file
, необходимо было бы измениться magic
конфигурация.
Проверить и изменить xdg-open
поведение вместо этого, необходимо использовать XDG-утилиты. Например, можно проверить текущие настройки, как обработать файлы с text/plain
Тип MIME:
~ $ xdg-mime query default text/plain
На моем ноутбуке Монетного двора это возвращается
gedit.desktop
Для text/css
, обычно нет никакого набора приложения по умолчанию (можно проверить это использование xdg-mime query default text/css
). Чтобы изменить это и установить GEdit как редактор CSS по умолчанию, Вы могли использовать следующую команду:
~ $ xdg-mime default gedit.desktop text/css
Это вставит строку в /home/<Username>/.local/share/applications/mimeapps.list
с text/css=gedit.desktop
. Вместо того, чтобы использовать xdg-пантомиму, Вы могли изменить mimeapps.list
непосредственно.
Теперь, xdg-mime query
возвращает приложение, которое я выбрал...
~ $ xdg-mime query default text/css
gedit.desktop
... и xdg-open /tmp/file.css
запустит GEdit и загрузит CSS fiile.
См. также эту страницу на xdg-open
от дуги Linux Wiki.