從網路瀏覽器中執行我想要的文件管理器
我想在我的瀏覽器中執行Nemo而不是Xfce的預設文件瀏覽器。
在 Linux 上從 Firefox 執行正確文件管理器的Per Clean 方法我嘗試做:
$ mkdir --parents ~/.local/share/dbus-1/services/ $ ln --symbolic /usr/share/dbus-1/services/nemo.FileManager1.service ~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service
為了測試打開哪個文件管理器,我執行了:
$ dbus-send --dest=org.freedesktop.FileManager1 --type=method_call /org/freedesktop/FileManager1 org.freedesktop.FileManager1.ShowItems array:string:"file:///home/" string:""
然後我重新啟動,但沒有任何改變。我什至複製了一些服務文件並更新了它們的
Name
欄位:
/usr/share/dbus-1/services/org.xfce.FileManager.service
/usr/share/dbus-1/services/org.xfce.Thunar.FileManager1.service
同樣沒有任何變化,Thunar仍然打開。似乎我的設置完全被忽略了。
關於發生了什麼的任何想法,或者我該如何調試這個問題?
我看了看
/usr/share/dbus-1/session.conf
,沒有修改。這包含<standard_session_servicedirs />
. 對於每個dbus-daemon,這意味著~/.local/share/dbus-1/services/
包含並且應該優先於/usr/share/dbus-1/services/
.
dbus.service
日誌中沒有任何相關內容。一些Google搜尋並將DBUS FileManager1 更改為 Krusader說:
沒有自動啟動的解決方案。如果您想要針對給定服務的每個桌面覆蓋,請儘早啟動它。因此,您的問題是針對您的桌面系統,尤其是針對您的應用程序:讓它們儘早啟動並聲明 org.freedesktop.FileManager1 服務名稱。不要放棄。
事實上,看看我正在執行的D-Bus服務,已經有一個
org.freedesktop.FileManager1
.import dbus session_bus = dbus.bus.BusConnection('unix:path=/run/user/1000/bus') for service in session_bus.list_names(): print(service)
查看我的流程,我
/usr/bin/Thunar --gapplication-service
正在執行。這是從
/usr/share/dbus-1/services/org.xfce.Thunar.FileManager1.service
以下內容開始的:[D-BUS Service] Name=org.freedesktop.FileManager1 Exec=/usr/bin/Thunar --gapplication-service SystemdService=thunar.service
終止此過程後,我的配置
~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service
正常工作。仍然沒有辦法根據需要提供標準化的方式來禁用由 dbus 啟動的服務(#70)·問題·dbus / dbus·GitLab禁用D-Bus服務。
所以為了解決這個問題,除了包括
~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service
,我剛剛殺死Thunar
了登錄時的所有程序。現在,當我在網路瀏覽器中打開Nemo時,它就會出現。