Debian Buster XFCE: сделать PCManFM по умолчанию, включая «Открыть каталог», как в Chromium – загрузки – показать в папке

Вопрос или проблема

Используя 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:""

ahsand97‘s
PR “Реализация org.freedesktop.FileManager1”

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

[…] прежде чем изменения вступят в силу, завершите программу, которая в настоящее время реализует сервис 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 как стандартного файлового менеджера

  1. Предпочтительные приложения: Откройте "Предпочтительные приложения" (Preferred Applications) через меню системы. Перейдите в подраздел "Файловый менеджер" (File Manager) и выберите PCManFM.

  2. Создайте файл для 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;
  1. Настройка mimeapps.list: В файле ~/.config/mimeapps.list убедитесь, что у вас есть следующая запись:
[Default Applications]
inode/directory=pcmanfm.desktop

Шаг 3: Настройка D-Bus

Как указано в вашем описании, PCManFM не поддерживает интерфейс D-Bus, который требуется для интеграции с другими приложениями. Вам нужно будет запретить использование D-Bus для других файловых менеджеров.

  1. Создание конфигурационного файла 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>
  1. Перезагрузка 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 в будущем.

Если у вас есть дополнительные вопросы или вам нужна помощь, не стесняйтесь обращаться!

Оцените материал
Добавить комментарий

Капча загружается...