- Вопрос или проблема
- Конкретная проблема
- Решение, которое я хочу
- Ответ или решение
- 1. Использование командной строки для установки программ по умолчанию
- a. Установка через xdg-mime
- b. Системные изменения в mimeapps.list
- 2. Системные настройки для всех пользователей
- 3. Обновление приложений и MIME-типов
- 4. Переустановка приложения
- Заключение
Вопрос или проблема
Мне нужна простая команда или метод, который позволяет мне установить (в высший приоритет) программу как стандартную для всех типов файлов, которые она поддерживает.
Я не хочу никаких решений, где мне нужно вручную проходить по каждому mime-типу по одному, как в связанных ответах. Это особенно важно для приложений, работающих с медиа (аудио, видео), так как существует множество различных форматов.
Конкретная проблема
Я использовал VLC как плеер как для видео, так и для аудио. Но когда я установил Tenacity flatpak, он установил себя в качестве стандартного для аудиофайлов. Аналогичная проблема случалась ранее с видеоредактором. Это глупо, так как я, очевидно, хочу воспроизвести (а не редактировать) файл, когда я дважды щелкаю по нему. Я никогда не переходил к каким-либо вариантам внутри Tenacity, чтобы сделать его стандартным для чего-либо, я просто установил его.
Это одна из немногих вещей, в которой Windows делает это гораздо лучше, чем Kubuntu, поскольку я помню, что есть способ установить стандартную программу как по расширению, так и для всех расширений, поддерживаемых программой. Я могу ошибаться, но, похоже, у Windows также есть система “намерений”, подобная Android, которая различает, например, “открытие” файла или “редактирование” файла в общем смысле, и каждое из этих действий можно связать с конкретной программой? В Kubuntu, похоже, это не так, и я могу найти только ответы, которые применимы к отдельным типам файлов/mime.
Тем не менее, в Настройках системы у нас есть Программы > Ассоциации файлов, что было бы тем, что мне нужно (я легко могу изменить порядок приоритета программ для каждого отдельного mime-типа), если бы не то, что мне нужно обходить по одному.
А Программы > Стандартные приложения не такие, как в Windows; они слишком ограничены, поэтому бесполезны для моих нужд. Я хочу выбрать любое приложение, а не только те, что перечислены.
Решение, которое я хочу
- Команда, редактируемый файл или, предпочтительно, какой-то пользовательский интерфейс настроек, где я просто ввожу программу, которую хочу сделать стандартной для всего, что она поддерживает. Если я хочу любые исключения, их следует сделать позже обычным методом, или напишите, как.
- В идеале просто установить какой-то “файл переопределения программы” или что-то подобное, без необходимости перечислять все mime-типы, чтобы он неявно работал для всех типов, которые она поддерживает, например, при обновлениях (предположим, обновления приложений добавляют/удаляют типы файлов, или приложения устанавливаются позже, тогда я не хочу повторно выполнять это решение).
- Если это невозможно, и нужно обязательно создавать/изменять переопределения для каждого mime-типа, сделайте это автоматически для всех типов, поддерживаемых программой.
- Я использую несколько пользователей, так что я хотел бы иметь возможность сделать это системным образом.
- Надеюсь, мне не нужно будет удалять и переустанавливать программу, которую я хочу сделать стандартной (VLC в данном случае). Это вообще сработает?
Существует ли в Linux встроенная система, подобная этой?
Если нет, какие есть обходные пути? Заранее спасибо.
Ответ или решение
Чтобы установить программу по умолчанию для всех типов файлов, которые она поддерживает, в среде Kubuntu (или любом дистрибутиве Linux), необходимо использовать несколько специализированных команд и конфигурационных файлов. Дано, что подобная функция отсутствует в графическом интерфейсе, приведу несколько решений, которые помогут вам достичь желаемого результата.
1. Использование командной строки для установки программ по умолчанию
a. Установка через xdg-mime
Вы можете использовать инструмент xdg-mime
, который является частью пакета xdg-utils. Этот инструмент позволяет вам задать решения о типах файлов. Однако, он требует, чтобы вы знали, какие MIME-тип файлы поддерживает ваше приложение.
Вот общий пример команды для установки VLC в качестве приложения по умолчанию для видео и аудио:
xdg-mime default vlc.desktop audio/*
xdg-mime default vlc.desktop video/*
Это установит VLC как приложение по умолчанию для всех типов аудио и видео.
b. Системные изменения в mimeapps.list
Другим способом является ручное редактирование файла конфигурации mimeapps.list
. Этот файл обычно находится в ~/.config/
и может быть отредактирован вручную. Вы можете добавить VLC в качестве приложения по умолчанию для всех необходимых MIME-типов:
-
Откройте файл
~/.config/mimeapps.list
в текстовом редакторе. -
Найдите секцию [Default Applications]. Если её нет, создайте её.
-
Добавьте строки для каждого типа, например:
audio/*=vlc.desktop;
video/*=vlc.desktop;
После внесения изменений сохраните файл. Это обеспечит установку VLC в качестве программы по умолчанию для всех поддерживаемых аудио и видео форматов.
2. Системные настройки для всех пользователей
Чтобы сделать изменения системными и применимыми для всех пользователей, используйте файл /usr/share/applications/mimeapps.list
. Вам потребуются административные привилегии для его редактирования:
sudo nano /usr/share/applications/mimeapps.list
Используйте аналогичные дополнительные строки, как указано выше, и сохраните изменения.
3. Обновление приложений и MIME-типов
Если приложение обновляет или добавляет новые типы файлов, вам, возможно, придется повторить шаги по добавлению MIME-типов в mimeapps.list
. К сожалению, автоматизированного способа добиться этого не существует, и вам может потребоваться вручную проверить изменения.
4. Переустановка приложения
Если вы хотите, чтобы программа по умолчанию была установлена для всех файлов, можете попробовать переустановить VLC, но чаще всего это не нужно. Переустановка, как правило, корректирует только ошибки связанные с недостающими файлами или поврежденной конфигурацией.
Заключение
К сожалению, в Linux нет такой же системы "интентов", как в Windows, чтобы установить приложение по умолчанию для "открытия" и "редактирования" файлов одновременно. Тем не менее, вышеописанные методы позволяют вручную назначить предпочтительную программу по умолчанию для большинства нужных типов файлов без необходимости проходить через каждый MIME-тип отдельно. Это требование может быть неудобным, но с помощью командной строки и редактирования конфигурационных файлов вы сможете эффективно управлять такими настройками.