Linux의 Firefox에서 올바른 파일 관리자를 실행하는 깔끔한 방법

Linux의 Firefox에서 올바른 파일 관리자를 실행하는 깔끔한 방법

많은 사람들이 알고 있듯이 현재 솔루션은 작동 defaults.conf하지 mimetypes.cache않습니다.

Firefox는 현재 D-bus를 사용하여 org.freedesktop.FileManager1"포함된 폴더 열기" 작업 등을 처리하는 서비스를 활성화합니다.

많은 서비스 파일(예: nemo 및 Dolphin)이 설치되어 있고 실행 중인 데몬이 없는 경우( 또는 dolphin --daemon./usr/bin/nemo --no-default-window

내 시스템에서는 선택한 첫 번째 서비스 파일이 알파벳순으로 정렬된 것 같습니다. 따라서 KDE 시스템에서 Firefox는 Nemo를 통해 폴더를 처리합니다.

나는 지금까지 적어도 두 가지 해결책을 보았으며 둘 다 해킹인 것 같습니다.

  1. 심볼릭 링크를 만듭니다:

    ln -s /usr/share/dbus-1/services/org.kde.dolphin.FileManager1.service /usr/share/dbus-1/services/00_preferred_org.freedesktop.FileManager1.service
    

    (현재 실행 중인 파일 관리자 데몬을 종료하거나 세션에 다시 로그인하는 것을 잊지 마세요)

  2. 초기 사전 실행에는 org.freedesktop.FileManager1핸들러가 필요합니다. dolphin --daemon올바른 조건 하에서 와 같습니다 ~/.profile.

더 깨끗한 방법이 있습니까?

PS Firefox 없이 파일 관리자를 실행해 보세요.

dbus-send --session \
          --print-reply \
          --dest=org.freedesktop.FileManager1 \
          /org/freedesktop/FileManager1 \
          org.freedesktop.FileManager1.ShowFolders \
              array:string:"file:/" string:""

답변1

첫 번째 솔루션과 유사한 더 깔끔한 방법이 있습니다. 에서 찾을 수 있습니다 ~/.local/share/dbus-1/services/.

~에 따르면dbus 문서$XDG_DATA_HOME/dbus-1/services, dbus는 무엇보다도 모든 서비스 파일을 찾아 로드합니다. 문서에는 폴더 검색 순서가 명시되어 있지 않지만 방금 내 컴퓨터에서 이 방법을 시도해 보았는데 사용하고 싶은 파일 관리자 서비스를 찾았습니다.


제 경우에는 기본 파일 관리자로 thunar 대신 xfce를 사용하고 싶었 nautilus기 때문에 다음 명령을 사용하여 작동하게 했습니다.

ln -s /usr/share/dbus-1/services/org.freedesktop.FileManager1.service ~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service

다른 출처:

https://polywogsys.livejournal.com/309405.html

답변2

/usr/share/dbus-1/services/org.kde.dolphin.FileManager1.service다음과 같은 내용이 포함되어 있는 것으로 나타났습니다 .

[D-BUS Service]
Name=org.freedesktop.FileManager1
Exec=/usr/bin/dolphin --daemon
SystemdService=plasma-dolphin.service

나는 그것을 교체했다

[D-BUS Service]
Name=org.freedesktop.FileManager1
Exec=QT_QPA_PLATFORMTHEME=qt5ct QT_STYLE_OVERRIDE=kvantum /usr/bin/dolphin --daemon

그것은 매력처럼 작동합니다.

하지만 /usr에 있는 파일을 직접 편집하는 것은 최선의 방법이 아니므로 ~/.local에서 덮어써야 할 것 같습니다.

관련 정보