Вопрос или проблема
Используя Debian Buster XFCE. XFCE связан с Thunar, поэтому нельзя удалить thunar. Я предпочел бы Chromium (или любое другое приложение, которое может открыть каталог), так как при просмотре загрузок и нажатии “показать в папке” следует использовать PCManFM для открытия папки.
Уже сделано:
- Установлен менеджер файлов по умолчанию в “Предпочитаемых приложениях”.
- Создан файл
pcmanfm.desktop
в~/.local/share/applications
- Отредактирован файл
mimeapps.list
в~/.local/share/applications/
(также~/.config/
) - Выполнена команда
xdg-mime default pcmanfm.desktop inode/directory
и подтвержден вывод командыxdg-mime query default inode/directory
.
PCManFM пока не поддерживает интерфейс DBus (это может измениться в будущих версиях). Вы можете заблокировать этот интерфейс для открытия файлов.
Создайте конфигурационный файл с именем /etc/dbus-1/session-local.conf
с содержанием:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE busconfig PUBLIC "-freedesktopDTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy context="default">
<!-- Заблокировать все использования org.freedesktop.FileManager1 для открытия файлов -->
<deny send_interface="org.freedesktop.FileManager1" send_destination="org.freedesktop.FileManager1"/>
</policy>
</busconfig>
Затем перезагрузите dbus с помощью команды:
$ dbus-send --session --print-reply --dest=org.freedesktop.DBus --type=method_call /org/freedesktop/DBus org.freedesktop.DBus.ReloadConfig
PCManFM-Qt поддерживает интерфейс D-Bus. Создайте следующий файл. (Что такое $XDG_DATA_HOME
?)
$ cat ${XDG_DATA_HOME:-~/.local/share}/dbus-1/services/com.github.pcmanfm-qt.service
[D-BUS Service]
Name=org.freedesktop.FileManager1
Exec=/usr/bin/pcmanfm-qt
Вы можете протестировать, что изменение сработало, из консоли с помощью следующей команды:
dbus-send --session --print-reply --dest=org.freedesktop.FileManager1 /org/freedesktop/FileManager1 org.freedesktop.FileManager1.ShowFolders array:string:"file:///home,file:///etc" string:""
Если появляется неправильный менеджер файлов, убедитесь, что вы завершили все экземпляры нежелательного менеджера файлов. В худшем случае просто перезагрузите компьютер.
[…] прежде чем изменения вступят в силу, завершите программу, которая в настоящее время реализует сервис D-Bus.
– Страница
“Функциональность менеджера файлов” на ArchWiki
© GNU Free Documentation License 1.3 или более поздней версии
К сожалению, PCManFM != PCManFM-Qt, поэтому, если вы используете версию GTK, вам все равно нужно отключить интерфейс D Bus, как упоминал tehkonst.
Ответ или решение
Как установить PCManFM в качестве стандартного файлового менеджера в Debian Buster с XFCE
Если вы используете Debian Buster с XFCE и хотите установить PCManFM в качестве стандартного файлового менеджера, включая открытие папок, когда вы используете Chromium и нажимаете "Показать в папке", следуйте приведенным ниже шагам. Мы обеспечим полное руководство, включая конфигурацию D-Bus и альтернативы, если кирәк.
Шаг 1: Убедитесь, что PCManFM установлен
Перед тем как продолжить, убедитесь, что PCManFM установлен на вашей системе. Вы можете установить его, если он еще не установлен:
sudo apt update
sudo apt install pcmanfm
Шаг 2: Настройка PCManFM как стандартного файлового менеджера
-
Предпочтительные приложения: Откройте "Предпочтительные приложения" (Preferred Applications) через меню системы. Перейдите в подраздел "Файловый менеджер" (File Manager) и выберите PCManFM.
-
Создайте файл для Desktop Entry: Создайте файл
pcmanfm.desktop
в~/.local/share/applications/
, если его еще нет:
nano ~/.local/share/applications/pcmanfm.desktop
Вставьте следующее содержимое:
[Desktop Entry]
Name=PCManFM
Exec=pcmanfm %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=inode/directory;
- Настройка mimeapps.list: В файле
~/.config/mimeapps.list
убедитесь, что у вас есть следующая запись:
[Default Applications]
inode/directory=pcmanfm.desktop
Шаг 3: Настройка D-Bus
Как указано в вашем описании, PCManFM не поддерживает интерфейс D-Bus, который требуется для интеграции с другими приложениями. Вам нужно будет запретить использование D-Bus для других файловых менеджеров.
- Создание конфигурационного файла D-Bus:
Создайте файл /etc/dbus-1/session-local.conf
:
sudo nano /etc/dbus-1/session-local.conf
Добавьте в него следующее содержимое:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE busconfig PUBLIC "-freedesktopDTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy context="default">
<deny send_interface="org.freedesktop.FileManager1" send_destination="org.freedesktop.FileManager1"/>
</policy>
</busconfig>
- Перезагрузка D-Bus:
После внесения изменений вам необходимо перезагрузить D-Bus:
dbus-send --session --print-reply --dest=org.freedesktop.DBus --type=method_call /org/freedesktop/DBus org.freedesktop.DBus.ReloadConfig
Шаг 4: Проверка изменений
Чтобы убедиться, что изменения применяются, откройте терминал и выполните следующую команду:
xdg-mime query default inode/directory
Вы должны увидеть pcmanfm.desktop
в выводе. Если нет, попробуйте перезагрузить компьютер. Также рекомендуется убить все экземпляры других файловых менеджеров, которые могут быть запущены.
Заключение
Теперь у вас должен быть настроен PCManFM в качестве стандартного файлового менеджера в Debian Buster с XFCE. Это позволит вам открывать папки через Chromium и другие приложения, которые вызывают системные команды для открытия папок. При необходимости, вы можете следить за обновлениями PCManFM для улучшения поддержки D-Bus в будущем.
Если у вас есть дополнительные вопросы или вам нужна помощь, не стесняйтесь обращаться!