Как найти файловый менеджер по умолчанию?


22

Как пользователь Linux, я вижу, что некоторые приложения могут запросить открытие пути, и это вызывает запуск файлового менеджера. Я хотел бы сделать это программно, но как я могу узнать, какой файловый менеджер по умолчанию? Есть ли способ найти эту информацию? Любая переменная среды? Под «файловым менеджером» я подразумеваю приложения, которые позволяют вам администрировать ваши файлы: создавать, переименовывать, создавать папки и т. Д., Например, Nautilus (в GNOME) или Dolphin (в KDE).

Заранее спасибо!

Ответы:


7

Не существует такого понятия, как «Диспетчер файлов по умолчанию для Linux». Все зависит от того, как вы пытаетесь его открыть. Если вы спросите XDG, вам нужно будет проверить, что XDG считает этим файловым менеджером. То же самое касается любой другой "среды", такой как Gnome или KDE. Если у вас все они установлены, вполне возможно (и хорошо), что у каждого из них будет свой «файловый менеджер по умолчанию».

Случай с приложениями по умолчанию, кажется, в основном из Windows. Там у нас только одна среда, которую нам представляет Windows. Таким образом, понятие приложения по умолчанию действительно эффективно для всей системы. Это не так с Linux.

То, что вы можете воспринимать как приложения по умолчанию в Linux, например, то, что хранится в переменной среды $ EDITOR, - это не столько «настоящее» приложение по умолчанию, сколько просто соглашение, используемое многими людьми, которые пишут системные инструменты и сценарии. Не стесняйтесь определять $ FILEMANAGER, если это подходит для вашего случая использования.


Я думал, что для этого может быть переменная среды, и на самом деле думал об ее определении. Хороший ответ, большое спасибо.
Морен

Я думаю, что вы имеете в виду XFCE вместо XDG?
Герхард Бургер


18

Используйте xdg-mimeкоманду для этого. xdg должен быть независимым от среды рабочего стола (например xdg-open, передавать аргументы правильному открывателю файлов). Чтобы получить файловый менеджер по умолчанию, используйте:

xdg-mime query default inode/directory

Источник


2
Это должен быть правильный ответ.
crypdick

17

Вы можете использовать xdg-open <DIR>для запуска файлового менеджера в каталоге. Вы можете запросить какое-нибудь xdgприложение, чтобы узнать, какой файловый менеджер используется.


Спасибо за подсказку. Я постараюсь использовать это, чтобы решить мою проблему.
Морен

1

Я просто столкнулся с той же проблемой. (Я бы хотел прокомментировать, но моя репутация недостаточно высока)

Я попытался, xdg-openи он начал EasyTag, который является id3-тег-редактор (как-то смешно) :-)

я попробовал ответить Герхарда Бюргерса

xdg-mime query default inode/directory

и это вернулось dolphin.desktopв моем случае.

так что в моем случае правильное решение было (замена ".dektop" на ""):

xdg-mime query default inode/directory | sed 's/.desktop//g'

но я только проверяю это на этой системе я бегу


1

Вау, невероятно, что никто не постет правильный ответ здесь.

Приложения по умолчанию в Linux обрабатываются стандартом Mimeapps Freedesktop (ранее XDG) и рядом других спецификаций, на которых основана эта.

Arch Linux Wiki также содержит понятную статью . То, что вы ищете, является ассоциацией миметипа inode/directory.


Спасибо за это. Я использую Arch & должен был подумать, чтобы проверить вики, но не сделал этого.
Колин Кинан,

2
И как мой ответ не правильный? Я отправил точную команду, чтобы запросить inode/directoryассоциацию с xdg-mimeзапросом ...
Герхард Бургер

0

Кажется, все упомянули inode/directoryMIME-тип, и xdg-openв большинстве случаев он должен работать в соответствии с вашими потребностями (программно открывать каталог через файловый менеджер), но иногда неправильное приложение (которое не является файловым менеджером, например, Visual Studio Code) также может ассоциироваться это с inode/directoryприложением по умолчанию.

Кроме того, имеется интерфейс файлового менеджера для D-Bus ( org.freedesktop.FileManager1в Session Bus), который можно использовать по вашему требованию, так что вы также можете использовать его, если ваш файловый менеджер поддерживает этот интерфейс D-Bus. Пожалуйста, убедитесь, что вы можете использовать его, поскольку не все файловые менеджеры реализовали это, в настоящее время кажется, что Dolphin (KDE), Nautilus (GNOME) и Deepin File Manager (DDE) реализовали этот интерфейс D-Bus. И чтобы узнать, какой владелец процесса этот интерфейс D-Bus (вам не нужно делать это, если вы просто хотите запросить путь, который будет открыт через файловый менеджер программно), посмотрите этот ответ

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