Вопрос или проблема
Недавно я осознал, что могу воспроизводить свои старые DVD (ура!) на своем старом ноутбуке с DVD-приводом, используя VLC. Все работает нормально, но мне интересно, как я могу заставить любые каталоги с названием VIDEO_TS
открываться с приоритетом в VLC, а не в dolphin, моем файловом менеджере.
Я зашел в ~/.local/share/mime/packages
и создал новый файл под названием x-content-video-dvd.xml
, чтобы попробовать создать новый MIME-тип. В файл я добавил следующее:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="x-content/video-dvd">
<comment>dvd video contents folder</comment>
<glob pattern="VIDEO_TS"/>
</mime-type>
</mime-info>
Затем я выполнил update-mime-database ~/.local/share/mime
в терминале и перезагрузился, чтобы быть уверенным. После перезагрузки я выполнил file --mime-type -b ./VIDEO_TS
, чтобы проверить MIME-тип моей папки, но он все еще inode/directory
. Если я создаю файл с именем VIDEO_TS
, MIME-тип применяется без проблем. Как я могу добиться такого же эффекта для MIME-типа папок?
Ответ или решение
Чтобы изменить MIME-тип для директории в Linux, необходимо учесть несколько важных моментов. В приведенном вами примере описывается, как вы создали пользовательский MIME-тип для директорий с именем VIDEO_TS
, но проблема заключается в том, что невозможно изменить тип для существующих директорий, потому что файл системы всегда воспринимает их как inode/directory
.
Шаги для настройки открытия директорий в VLC
-
Понимание лимитации:
Системы Linux и большинство других операционных систем классифицируют все директории с MIME-типомinode/directory
. Это означает, что ваш подход, направленный на изменение MIME-типа через~/.local/share/mime/packages
, не может сработать, так как эти изменения не влияют на директории. -
Пользовательские правила для менеджера файлов:
Рассмотрите возможность использования файла асссоциаций приложений для настройки поведения менеджера файлов. Для KDE (например, используемого в Dolphin) это может быть файл с правилами, который управляет тем, какие приложения используются для открытия различных типов объектов. -
Создание пользовательских правил:
Создайте или измените файл~/.config/mimeapps.list
. Это позволит вам установить приоритет VLC для открытия директорий с определенным именем. Пример может выглядеть так:[Default Applications] inode/directory=vlc.desktop;dolphin.desktop;
После создания нужного правила, Dolphin будет сначала пытаться открыть
VIDEO_TS
с помощью VLC. -
Скрипты и алиасы:
Для большего контроля рассмотрите использование bash-скриптов или алиасов. Например, создайте скрипт, который запускает VLC при навигации в директориюVIDEO_TS
. Алиас может выглядеть так:alias open_video_ts='if [ -d "VIDEO_TS" ]; then vlc VIDEO_TS; else echo "Directory VIDEO_TS not found"; fi'
-
Обновление кеша приложения:
После настроек, не забудьте выполнитьupdate-mime-database ~/.local/share/mime
, чтобы обновить MIME-базу данных.
Заключение
К сожалению, операционные системы не поддерживают изменение MIME-типов для директорий, но можно обойти это с помощью пользовательских правил и скриптов. Это обеспечит автозапуск VLC при работе с содержимым старых DVD-дисков. Убедитесь, что любые изменения не нарушат работу других приложений или сценариев.