Как связать расширение файла (не тип файла) для конкретного приложения?


13

Я использую taskcoach, чтобы создать список своих задач.

Введенные мной данные были сохранены, скажем, в tasks.tsk на моем рабочем столе. Внутренне это XML-файл определенной структуры.

Теперь, когда я его открываю, он открывается в моем текстовом редакторе, как и любой другой XML.

Я пытался изменить расширение на .task и .my_tasks, но связанная программа все еще остается редактором.

После поиска и чтения форумов я щелкнул файл правой кнопкой мыши и в Properties-> Open Withвыбрал TaskCoach.

Файл открывается в TaskCoach, но любой другой файл .XML открывается вместе с TaskCoach!

Q: Как сделать так, чтобы Ubuntu открывал файлы .task в TaskCoach при сохранении ассоциации .xml -> editor?


Просто предложение, не могли бы вы повторно связать .xml с gedit и посмотреть, поможет ли это.
Эми Джа

@ Эйми попробовал это. До того, как я представил новый mime-тип, связь была одинаковой, независимо от расширения .xml, .task или .tsk.
Богдан_троценко

Ответы:


10

Переименуйте файл, который у вас есть _anything_.task(где- _anything_то подходящее описание.)

Сначала вам нужно создать файл XML с информацией о расширении. (Если вы хотите, скопируйте текст ниже в новый текстовый файл и сохраните его как task.xml.)

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/taskcouch">
<comment>TaskCoach File</comment>
<comment xml:lang="bg">Taskcoach</comment>
    <comment xml:lang="cs">Taskcoach</comment>
    <comment xml:lang="de">Taskcoach</comment>
    <comment xml:lang="es">Taskcoach</comment>
    <comment xml:lang="eu">Taskcoach</comment>
    <comment xml:lang="hu">Taskcoach</comment>
    <comment xml:lang="it">Taskcoach</comment>
    <comment xml:lang="ko">Taskcoach</comment>
    <comment xml:lang="nb">Taskcoach</comment>
    <comment xml:lang="nl">Taskcoach</comment>
    <comment xml:lang="nn">Taskcoach</comment>
    <comment xml:lang="sv">Taskcoach</comment>
    <comment xml:lang="uk">Taskcoach</comment>
    <comment xml:lang="vi">Taskcoach</comment>
<glob pattern="*.task"/>
<alias type="application/taskcoach"/>
</mime-type>
</mime-info>

Теперь вам нужно сохранить или скопировать этот новый файл в каталог

  • ~/.local/share/mime/packages для сопоставления файлов на пользователя или
  • /usr/share/mime/packages для общесистемной ассоциации файлов.

Как только это будет сделано, запустите

update-mime-database [MIME-DIRECTORY]

где [MIME-DIRECTORY]выбранный ранее каталог минус /packagesсуффикс. (Используйте sudoдля общесистемной ассоциации.)

Теперь откройте ваш файловый менеджер и щелкните правой кнопкой мыши что-нибудь .task и выберите taskcoach в качестве программы по умолчанию с опцией open with в контекстном меню.

Работа сделана. Все .taskфайлы теперь будут открываться с помощью taskcoach!


NB. Вам нужно быть администратором или пользователем root для доступа к cp файлу в / packages
Christopher Stansbury

1
Я попытался сделать это для приложения, установленного в моей домашней папке, и оно не работает. Я изменил файл task.xml выше, соответственно, скопировал его в / usr / share / mime / packages и запустил sudo update-mime-database /usr/share/mime. Пробовал выходить из системы и снова безрезультатно.
Делать

4

Файл открывается в TaskCoach, но любой другой файл .XML открывается вместе с TaskCoach!

Это происходит потому, что все они одинакового типа MIME ( application/xml).

Если вы хотите, чтобы файлы TaskCoach обрабатывались иначе, чем другие файлы XML, вам необходимо настроить для них новый тип MIME.

Я никогда не делал этого раньше, но похоже, что у Gnome есть довольно хорошая документация о том, как это сделать: добавить пользовательский тип MIME для всех пользователей / отдельных пользователей .


1

Если вы не хотите возиться слишком много вручную, assoGiate - это инструмент с графическим интерфейсом на ваш выбор. Смотрите здесь для получения дополнительной информации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.