xoj (Xournal) файлы, обработанные как gzip несмотря на присутствие корректного типа MIME

Таким образом, я должен был удалить ppa версия Xournal и создать из источникамодификацией). И теперь файлы .xoj открываются автоматически Ковчегом менеджера архива KDE и определяются как являющийся типа "архив Gzip", когда каждый выбирает Свойства из контекстного меню у дельфина: xoj properties from Dolphin
(Прежде чем, .xoj файлы, открытые с Xournal и, были правильно определены.) Это положение дел сохраняется несмотря на все следующее:

1) Скопированный эти файлы, которые идут с исходным пакетом:
- xournal.xml в/usr/share/mime/packages/
- xournal.desktop в/usr/share/applications/
- x-xoj.desktop в/usr/share/mimelnk/application/

2) добавленный строка
application/x-xoj=xournal.desktop;
к ~/.local/share/applications/mimeapps.list

3) добавленный тип MIME application/x-xoj в параметре настройки системы ассоциаций файлов
(с соответствующим содержанием):
file-associations-xoj
(Отметьте также это application/x-gzip указывает только .gz расширение:
enter image description here.)

4) скопированный xournal.xml к/usr/share/mime/application
как предложено здесь

5) sudo update-mime-database /usr/share/mime

6) перезапущенный компьютер

отредактированный для добавления:
7) [щелкните правой кнопкой по .xoj файлу]->, Открывают With->, Other...-> [выбирает 'Xournal'], галочка 'Помнят, что ассоциация приложения для этого типа файла' также не имеет никакого эффекта.
конец редактирования

Это находится на Kubuntu 12.04.
Так, что я пропускаю?

Отредактированный для добавления
Я обнаружил что file --mime-type [filename] и mimetype [filename] команды приводят к различным результатам, как в этом вопросе:

archelon@ingelrayok:~/Documents/xournal$ file --mime-type 2014-02-22-Note-02-09.xoj  
2014-02-22-Note-02-09.xoj: application/x-gzip  
archelon@ingelrayok:~/Documents/xournal$ mimetype 2014-02-22-Note-02-09.xoj  
2014-02-22-Note-02-09.xoj: application/x-xoj  

Однако нет никакой записи для application/x-gzip в/etc/mime.types (от который file команда, предположительно, получает свою информацию); и, действительно, не должен быть, согласно комментарию в начале того файла, который читает частично:

Примечание: Схемы сжатия как "gzip", "bzip", и "сжатие" не являются на самом деле "типами пантомимы". Они - "кодировка" и следовательно не должны иметь записей в этом файле для отображения их расширений. "Тип пантомимы" закодированного файла относится к типу данных, которые были закодированы, не тип кодирования.

В том комментарии также говорится это

Пользователи могут добавить свои собственные типы, если они желают путем создания ".mime.types" файла в их корневом каталоге. Определения, включенные там, будут иметь приоритет по перечисленным здесь.

Нет в настоящее время никакого такого файла. Существуют некоторые файлы в моем корневом каталоге (который я не создал), которые, по-видимому, связаны с выводом mimetype команда; они включают
~/.local/share/mime/application/x-xoj.xml,
~/.local/share/mime/packages/application-x-xoj.xml, и
~/.local/share/mime/types который содержит только текст application/x-xoj.
На самом деле каталог ~/.local/share/mime/и все в нем имеет ту же метку времени (22:19 вчера вечером) и было таким образом, по-видимому, сгенерировано тем же процессом.

После рассмотрения страниц справочника для mimetype и файла, я решил проверить переменные среды $XDG_DATA_HOME и $XDG_DATA_DIRS, которые, по-видимому, используются первым, но не последним. Но я не знал, как сообщить о значении переменной среды, таким образом, я попробовал cat $XDG_DATA_HOME, которые устанавливают значение (ни к чему) вместо того, чтобы сообщить об этом. Отредактированный для добавления: Или таким образом, я думал сначала; на самом деле это было уже сброшено, как мы будем видеть. Корректная команда echo $XDG_DATA_HOME, поскольку я извлек уроки из чтения о переменных среды здесь. Таким образом я обнаружил это $XDG_DATA_DIRS был установлен на /usr/share/default:/usr/local/share/:/usr/share/; первый из них не существует. Я не думаю, что вопросы, но так или иначе выполнил команды

XDG_DATA_HOME=$HOME/.local/share  

и

XDG_DATA_DIRS=/usr/local/share/:/usr/share/  

согласоваться со стандартом. Я сомневаюсь, что любое из этого будет иметь любое значение, но я собираюсь попробовать другой перезапуск теперь (хотя я думаю, что те переменные среды будут автоматически сброшены так или иначе). Следующее редактирование: Да, они были; на самом деле переменная XDG_DATA_HOME является теперь пустым снова.

Так или иначе нижняя строка, кажется, что KDE использует функциональность это file использует, а не это который mimetype использует. Если я понимаю вещи правильно, это означает, что использует волшебство вместо типов MIME. Я теперь подозреваю, что волшебство ответственно за эту целую проблему.

Новое редактирование

Так file в странице справочника, кажется, говорится, что это базовые волшебные файлы:

/usr/share/misc/magic.mgc Значение по умолчанию составило список волшебства.
/usr/share/misc/magic Каталог, содержащий волшебные файлы по умолчанию.

(У меня есть они;/usr/share/misc/magic является ссылкой на пустую папку,/usr/share/file/magic, и/usr/share/misc/magic.mgc является ссылкой на файл/usr/share/file/magic.mgc - последний является файлом на 2,1 МБ, полным напыщенности речи), и следующий текст:

Информация, определяющая эти файлы

(т.е. "файлы [которым] сохранили ''магическое число'' в конкретном месте около начала файла"),

читается из/etc/magic и скомпилированного волшебного файла
/usr/share/misc/magic.mgc, или файлы в каталоге
/usr/share/misc/magic если скомпилированный файл не существует. Кроме того,
если $HOME/.magic.mgc или $HOME/.magic будут существовать, то он будет использоваться в предпочтении
в системные файлы волшебства.

(Я подтвердил это с strace, как предложено здесь.) Ни $HOME/.magic.mgc, ни $HOME/.magic не существуют в моей системе; но, с тех пор по-видимому, xoj файлы содержат точно, что напыщенность речи, которая заставляет файл быть волшебно определенным как application/x-gzip, это сделало бы отрицательный результат для создания их (исправьте меня, если я неправ).

Решением, которое я ищу, затем, был бы способ иметь волшебство переопределения спецификации типа MIME для данного расширения файла; я думал, что видел что-то, что было похоже на него, мог бы обеспечить подсказку относительно того, как это могло бы быть выполнено, но я не могу найти его теперь. Все же, конечно, такой метод существует.

1
задан 13 April 2017 в 15:23

1 ответ

Не ответ, но просто комментарий:

попробовал cat $XDG_DATA_HOME, которые устанавливают значение (ни к чему) вместо того, чтобы сообщить, что оно

cat, конечно, не установит значение переменной. cat распечатал бы содержание файла имени, которым Вы предоставляете ему, или в отсутствие имени файла он распечатал бы то, что он читает из стандартного входа. Кроме того, переменные расширены оболочкой, которую Вы выполняете (обычно /bin/bash), и таким образом cat даже никогда не видит название переменной.

Теперь в Вашей определенной ситуации, переменная по-видимому не была установлена, таким образом расширенная ни до чего, таким образом cat не имел никакого параметра, таким образом cat распечатанный от stdin, и я предполагаю, что Вы имели к Ctrl-C - заканчивают его, или возможно Ctrl-D (конец файла).

0
ответ дан 13 April 2017 в 15:23

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

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