nemo проблема ассоциаций файлов

Правила форума
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот

Автор темы
AZJIO
Сообщения: 6
Зарегистрирован: 22 дек 2020, 02:10

nemo проблема ассоциаций файлов

Сообщение AZJIO » 22 дек 2020, 02:47

LM 19 x64, cinnamon
Kernel: 4.15.0-128-generic x86_64 bits: 64 gcc: 7.5.0
Desktop: Cinnamon 3.8.9 (Gtk 3.22.30) Distro: Linux Mint 19 Tara

nemo проблема ассоциаций файлов, с момента установки. В основном для текстовых файлов. В Nemo выбираю в контекстном меню "Свойства-> Открыть с помощью" выбираю приложению, жму "Назначить по умолчанию". Далее при клике на файле ничего не происходит или происходит но через время, возможно после перезагрузки пропадает, в контекстном меню первый пункт вместо имени программы на которую я сделал ассоциацию появляется пункт "Открыть +", который ничего не делают, поэтому я от балды назначаю любую программу, а вместо клика открываю через контекстное меню "Открыть с помощью", при чём если я Geany назначил по умолчанию то в этом меню его нет, мне приходится именно указывать по умолчанию допустим либре-офис, чтобы в "открыть с помощью" была нужная мне программа.

Аватара пользователя

madesta
Сообщения: 802
Зарегистрирован: 11 июн 2017, 18:47
Решено: 8
Благодарил (а): 36 раз
Поблагодарили: 155 раз

nemo проблема ассоциаций файлов

Сообщение madesta » 22 дек 2020, 03:50

Можно попробовать по аналогии как здесь.
На скорую руку явного графического приложения редактирования типов MIME в Cinnamon не увидел.


Автор темы
AZJIO
Сообщения: 6
Зарегистрирован: 22 дек 2020, 02:10

nemo проблема ассоциаций файлов

Сообщение AZJIO » 22 дек 2020, 07:50

madesta, интересная инфа, по крайней мере узнал про mimeapps.list и добавил туда связи с geany для добавленных мной расширений.
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">

<!--
<mime-type type="application/x-executable">
<comment>Исполняемый</comment>
<generic-icon name="application-x-executable"/>
</mime-type>
-->

<mime-type type="application/x-desktop">
<comment>файл настроек рабочего стола</comment>
<generic-icon name="application-x-desktop"/>
<glob pattern="*.desktop"/>
<glob pattern="*.kdelnk"/>
</mime-type>

<mime-type type="text/x-gettext-translation">
<comment>Языковой перевод программ</comment>
<generic-icon name="trans-po"/>
<glob pattern="*.po"/>
</mime-type>

<mime-type type="application/x-gettext-translation">
<comment>Языковой перевод программ, скомпилированный</comment>
<generic-icon name="trans-mo"/>
<glob pattern="*.mo"/>
</mime-type>

<mime-type type="application/x-msi">
<comment>Пакет Windows Installer, MSI</comment>
<generic-icon name="application-x-ms-dos-executable"/>
<glob pattern="*.msi"/>
</mime-type>

<mime-type type="application/x-ms-shortcut">
<comment>Ярлык Windows, LNK</comment>
<generic-icon name="win-lnk"/>
<glob pattern="*.lnk"/>
</mime-type>

<mime-type type="text/x-ms-ini">
<comment>Конфигурационный файл Windows ini</comment>
<generic-icon name="win-ini"/>
<glob pattern="*.ini"/>
<glob pattern="*.inf"/>
<glob pattern="*.sif"/>
<glob pattern="*.cfg"/>
<glob pattern="*.lst"/>
<glob pattern="*.conf"/>
<glob pattern="*.prefs"/>
</mime-type>

<mime-type type="text/x-ms-cmd">
<comment>Сценарий Windows cmd, bat</comment>
<generic-icon name="win-cmd"/>
<glob pattern="*.bat"/>
<glob pattern="*.cmd"/>
</mime-type>

<mime-type type="application/x-ms-wim">
<comment>Образ диска Windowss</comment>
<generic-icon name="win-wim"/>
<glob pattern="*.wim"/>
<glob pattern="*.swm"/>
</mime-type>

<mime-type type="text/x-ms-regedit">
<comment>Фрагмент реестра Windows</comment>
<generic-icon name="win-reg"/>
<glob pattern="*.reg"/>
</mime-type>

<!--
<mime-type type="application/x-text">
<comment>Хеш сумма md5</comment>
<generic-icon name="x-md5"/>
<glob pattern="*.md5"/>
</mime-type>
-->

<mime-type type="application/x-cue">
<comment>Таблица содержания образа CD</comment>
<generic-icon name="x-cue"/>
<glob pattern="*.cue"/>
<glob pattern="*.mds"/>
</mime-type>

<mime-type type="application/x-mdf">
<comment>Образ CD,DVD-диска Alcohol</comment>
<generic-icon name="x-mdf"/>
<glob pattern="*.mdf"/>
</mime-type>

<mime-type type="text/x-au3">
<comment>Скрипт AutoIt3 (Windows)</comment>
<generic-icon name="x-au3"/>
<glob pattern="*.au3"/>
</mime-type>

<mime-type type="text/x-nfo">
<comment>Информация NFO</comment>
<generic-icon name="x-nfo"/>
<glob pattern="*.nfo"/>
</mime-type>

<mime-type type="application/winhlp">
<comment>Справка WinHelp</comment>
<generic-icon name="x-winhlp"/>
<glob pattern="*.hlp"/>
</mime-type>

<mime-type type="application/msword">
<comment>Документ Word</comment>
<generic-icon name="x-word"/>
<glob pattern="*.doc"/>
</mime-type>

<mime-type type="application/vnd.openxmlformats-officedocument.wordprocessingml.document">
<comment>Документ Word 2007</comment>
<generic-icon name="x-word"/>
<glob pattern="*.docx"/>
</mime-type>

<mime-type type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
<comment>Электронная таблица Excel 2007</comment>
<generic-icon name="x-excel"/>
<glob pattern="*.xlsx"/>
</mime-type>

<mime-type type="application/vnd.ms-excel">
<comment>Электронная таблица Excel</comment>
<generic-icon name="x-excel"/>
<glob pattern="*.xls"/>
</mime-type>

<mime-type type="image/x-win-bitmap">
<comment>Курсор Windows</comment>
<generic-icon name="image-x-cur"/>
<glob pattern="*.cur"/>
</mime-type>

<mime-type type="image/x-xcursor">
<comment>Курсор X11</comment>
<generic-icon name="image-x-cur"/>
<glob pattern="*.cur"/>
</mime-type>

<mime-type type="application/x-navi-animation">
<comment>Анимированный курсор Windows</comment>
<generic-icon name="image-x-generic"/>
<glob pattern="*.ani"/>
</mime-type>

<mime-type type="video/x-msvideo">
<comment>Видео файл avi</comment>
<generic-icon name="video-x-avi"/>
<glob pattern="*.avi"/>
</mime-type>

<!--
<mime-type type="application/x-vob">
<comment>Видео файл vob</comment>
<generic-icon name="video-x-vob"/>
<glob pattern="*.vob"/>
</mime-type>
-->

<mime-type type="video/3gpp">
<comment>Видео файл 3gp</comment>
<generic-icon name="video-x-3gp"/>
<glob pattern="*.3gp"/>
</mime-type>

<mime-type type="video/mpeg">
<comment>Видео файл avi</comment>
<generic-icon name="video-x-mpg"/>
<glob pattern="*.mpg"/>
<glob pattern="*.mpeg"/>
</mime-type>

<mime-type type="video/quicktime">
<comment>Видео файл mov</comment>
<generic-icon name="video-x-mov"/>
<glob pattern="*.mov"/>
</mime-type>

<mime-type type="video/mp4">
<comment>Видео файл mp4</comment>
<generic-icon name="video-x-mp4"/>
<glob pattern="*.mp4"/>
</mime-type>

<mime-type type="video/x-ms-wmv">
<comment>Видео файл wmv</comment>
<generic-icon name="video-x-wmv"/>
<glob pattern="*.wmv"/>
</mime-type>

<mime-type type="video/x-ms-asf">
<comment>Видео файл asf</comment>
<generic-icon name="video-x-asf"/>
<glob pattern="*.asf"/>
</mime-type>

<mime-type type="audio/mpeg">
<comment>Аудио файл mp3</comment>
<generic-icon name="audio-x-mp3"/>
<glob pattern="*.mp3"/>
</mime-type>

<mime-type type="audio/midi">
<comment>Аудио файл mid</comment>
<generic-icon name="audio-x-mid"/>
<glob pattern="*.mid"/>
<glob pattern="*.kar"/>
</mime-type>

<mime-type type="audio/ogg">
<comment>Аудио файл ogg</comment>
<generic-icon name="audio-x-ogg"/>
<glob pattern="*.ogg"/>
</mime-type>

<mime-type type="audio/ac3">
<comment>Аудио файл ac3 Dolby Digital</comment>
<generic-icon name="audio-x-ac3"/>
<glob pattern="*.ac3"/>
</mime-type>

<mime-type type="audio/x-scpls">
<comment>Список воспроизведения pls</comment>
<generic-icon name="audio-x-pls"/>
<glob pattern="*.pls"/>
</mime-type>

<mime-type type="audio/x-mpegurl">
<comment>Список воспроизведения m3u</comment>
<generic-icon name="audio-x-m3u"/>
<glob pattern="*.m3u"/>
</mime-type>

<mime-type type="application/x-raw-disk-image">
<comment>Сырой (Raw) образ диска</comment>
<generic-icon name="x-img"/>
<glob pattern="*.raw-disk-image"/>
<glob pattern="*.img"/>
</mime-type>

<mime-type type="application/rtf">
<comment>Форматированный текст RTF</comment>
<generic-icon name="text-richtext"/>
<glob pattern="*.rtf"/>
</mime-type>

<mime-type type="text/x-csrc">
<comment>Исходный код C</comment>
<generic-icon name="text-x-c"/>
<glob pattern="*.c"/>
</mime-type>

<mime-type type="application/x-mswinurl">
<comment>Интернет-ссылка</comment>
<generic-icon name="text-url"/>
<glob pattern="*.url"/>
</mime-type>

<mime-type type="application/x-mimearchive">
<comment>Веб-архив</comment>
<generic-icon name="text-mht"/>
<glob pattern="*.mht"/>
</mime-type>

<mime-type type="application/vnd.adobe.flash.movie">
<comment>Анимация Shockwave Flash</comment>
<generic-icon name="video-x-swf"/>
<glob pattern="*.swf"/>
</mime-type>

<mime-type type="application/x-fictionbook+xml">
<comment>Книга в xml, FictionBook</comment>
<generic-icon name="x-fb2"/>
<glob pattern="*.fb2"/>
</mime-type>

<mime-type type="application/vnd.ms-htmlhelp">
<comment>Справка CHM</comment>
<generic-icon name="x-chm"/>
<glob pattern="*.chm"/>
</mime-type>

<mime-type type="image/vnd.djvu">
<comment>Сканированная книга DjVu</comment>
<generic-icon name="x-djvu"/>
<glob pattern="*.djvu"/>
<glob pattern="*.djv"/>
</mime-type>

</mime-info>
text/x-ms-ini=geany.desktop
text/x-ms-cmd=geany.desktop
text/x-nfo=geany.desktop
text/x-ms-regedit=geany.desktop
text/css=geany.desktop
text/plain=geany.desktop
text/htm=geany.desktop
text/html=geany.desktop
пример для CSS


причём CSS имеет проблемы сейчас
ini только что открывался пока я игрался переназначением, уже перестал, стал тестировать заново, ini-файл созданный от проги работающей от админа (root) открылся в geany, другой файл на диске с windows в корне не открывается (через конт. меню открывается т.е. не проблема диска или прав), трейтий файл открыл папку в nemo от root и в ней кликнул ini-файл - открылся с предложением "запустить/открыть", но по крайней мере ассоциация работает.

При этих операциях я ещё пробовал "sudo killall nemo", чтобы типа настройки он заново читал при запуске, или все же надо типа "sudo xdg-mime install x-user.xml" применять, просто насколько я понял команда просто копирует файл в /usr/share/mime/packages

для CSS в freedesktop.org.xml следующий текст
<mime-type type="text/css">
<comment>CSS stylesheet</comment>
<comment xml:lang="es">hoja de estilos CSS</comment>
<comment xml:lang="ru">Таблица стилей CSS</comment>
<acronym>CSS</acronym>
<expanded-acronym>Cascading Style Sheets</expanded-acronym>
<sub-class-of type="text/plain"/>
<glob pattern="*.css"/>
</mime-type>
языки я удалил регулярным выражением только что, используя
<comment xml:lang="[^re][^us]">.+?</comment>
уменьшив размер с 2.3Мб до 0.35Мб.

Аватара пользователя

slant
Сообщения: 2978
Зарегистрирован: 21 июн 2017, 15:09
Решено: 55
Благодарил (а): 24 раза
Поблагодарили: 1237 раз

nemo проблема ассоциаций файлов

Сообщение slant » 22 дек 2020, 12:07

AZJIO, Вот тут я очень похожий случай разбирал: Не открывается файл по расширению (*.ts в smplayer)


Автор темы
AZJIO
Сообщения: 6
Зарегистрирован: 22 дек 2020, 02:10

nemo проблема ассоциаций файлов

Сообщение AZJIO » 26 дек 2020, 09:08

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

Поиск проблемы где затык, это ведь тоже можно отследить, например на скрине видно
TXT - Текст (text/plain)
INI - Неизвестен (text/x-ms-ini)
CSS - Текст (text/css)
Все три не открываются, при этом тип файла получен (text/plain, text/x-ms-ini, text/css). В данном случае программный движок запускающий файл - файловый менеджер nemo и он же показывает тип, значит цепочка до определения типа файла работает.
Далее есть следующие пути, в которых тип связан с приложением text/css=geany.desktop;
/home/user/.config/mimeapps.list
/home/user/.local/share/applications/mimeinfo.cache
/usr/share/applications/defaults.list
/usr/share/applications/mimeinfo.cache
то есть надо определять приоритет чтения файлов приложением nemo, чтобы запустить с нужным приложением *.desktop в папке /usr/share/applications/
Теоретически пользовательская настройка преобладает над умолчальным, то есть будет читаться /home/user/.config/mimeapps.list или /home/user/.local/share/applications/mimeinfo.cache
в mimeapps.list
[Default Applications]
text/css=geany.desktop

раздел [Added Associations] там через точку с запятой ";" идёт перечисление других вохможных программ, что кстати и подтверждается оболочкой nemo, где "Рекомендуемые приложения" скорее всего и есть дополнительные проги, которые появляются в контекстном меню "Открыть с помощью".
в /home/user/.local/share/applications/mimeinfo.cache только purebasic
[MIME Cache]
text/purebasic=PureBasic.desktop;userapp-purebasic-4XJBI0.desktop;

думаю что это универсальный способ регистрации приложений, ведь установщик не знает каким файловым менеджером будет пользоваться юзер и регистрирует универсаьную ассоциацию, которую в том числе должен понимать и nemo.
Далее /usr/share/applications/defaults.list это типы связанные с приложениями скорее всего установленными при установке Linux
Далее /usr/share/applications/mimeinfo.cache наверно установленные, в нём тоже есть text/css=geany.desktop;, скорее всего будет читать его предпоследним, перед тем как читать /usr/share/applications/defaults.list

В папке рядом с mimeapps.list нет *.desktop файлов, является ли это проблемой, добавил geany.desktop, не помогло.

Аватара пользователя

madesta
Сообщения: 802
Зарегистрирован: 11 июн 2017, 18:47
Решено: 8
Благодарил (а): 36 раз
Поблагодарили: 155 раз

nemo проблема ассоциаций файлов

Сообщение madesta » 26 дек 2020, 14:01

Насколько понял, имеет место попытка переназначения сопоставления запускаемого приложения при двойном клике по файлам с каким-то расширением. А если рассмотреть возможность добавления команды запуска Geany в правое контекстное меню Nemo, например, "Открыть в Geany"? К слову, в Thunar (xfce) имеется настройка "Особые действия", в которой такой пункт можно создать:
geany1.png
geany2.png
geany3.png
geany4.png
На форуме имеется ветка обсуждения (правда закрытая) контекстного меню ФМ Nemo: https://www.linuxmint.com.ru/viewtopic.php?t=741
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Автор темы
AZJIO
Сообщения: 6
Зарегистрирован: 22 дек 2020, 02:10

nemo проблема ассоциаций файлов

Сообщение AZJIO » 26 дек 2020, 14:34

madesta, на счёт контекстного меню я даже писал перевод конфигурационного файла и сам многое добавлял, например сравнение в Meld, баобаб, питоновский скрипт копирования пути.


Автор темы
AZJIO
Сообщения: 6
Зарегистрирован: 22 дек 2020, 02:10

nemo проблема ассоциаций файлов

Сообщение AZJIO » 27 янв 2021, 03:32

Может ли это быть проблема путей? Например для CHM файла я получаю это
Невозможно загрузить CHM файл
/home/user/Загрузки/Workshop_5.72_LTS/New_PureBasic.chm
если в пути есть русский текст или пробела. Сейчас думаю что если некоторые файлы не открываются, то это не связано с ассоциацией. Если мы используем "Открыть в", то запуск получается "geany путь", а если клик, то "xdg-open путь", но одна программа умеет понимать пути, другая нет.

Аватара пользователя

madesta
Сообщения: 802
Зарегистрирован: 11 июн 2017, 18:47
Решено: 8
Благодарил (а): 36 раз
Поблагодарили: 155 раз

nemo проблема ассоциаций файлов

Сообщение madesta » 27 янв 2021, 19:18

AZJIO писал(а):
27 янв 2021, 03:32
если в пути есть русский текст или пробела
Насчёт RU в путях проблем не встречал. А вот с пробелами весь путь нужно брать в кавычки " ... " или ' ... ' Cталкивался с таким в скриптах на bash.


Автор темы
AZJIO
Сообщения: 6
Зарегистрирован: 22 дек 2020, 02:10

nemo проблема ассоциаций файлов

Сообщение AZJIO » 03 фев 2021, 09:57

Проблема путь передаётся в кодировке UTF-8, а программа читает его как ANSI.
В Linux в передаваемых параметрах исполняемому файлу не весь путь в кавычки, а конкретную папку/файл в имени которой пробел, или все пробела экранировать символом \. Но победить проблему кодировки если задать стандарт читать передаваемые параметры как UTF-8, исключить разночтения.

Вернуться в «Cinnamon»