XDG 规范讨论了XDG_CONFIG_HOME
变量,但没有指定应该在哪里定义它。我们应该在 中定义它/etc/X11/Xsession
,还是需要定义它的窗口管理器的配置文件?
我尝试在 /etc/environment 中将其声明为
XDG_CONFIG_HOME="$HOME/.config"
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为似乎 $HOME 在/etc/environment
解析时没有定义。
我在网上能找到的唯一文档是关于 Gentoo 的,它在 /etc/env.d/90xsession
我正在使用 Ubuntu。基于 Debian 的发行版的通用解决方案是什么?
今天早上我一直在努力尝试将应用程序与自定义协议相关联,即emacsclient 和 org-protocol。
我从 webbrowser bookmarklet 调用这个协议,我得到以下行为:
在 Chromium 中,
“启动应用程序”对话框出现,并调用 xdg-open org-protocol://... 最终触发一个新的 Chromium 框架。
在 firefox 中,
我尝试将 network.protocol-handler.app.org-protocol 设置为空字符串或我的 emacsclient 路径,无论如何我收到以下错误消息:
“Firefox 不知道如何打开此地址,因为协议(组织协议)不与任何程序相关联”,甚至没有显示任何外部应用程序选择对话框。
我没有使用任何桌面环境,所以我需要严格使用 xdg 来完成这项工作,但是,尽管阅读了共享的 MIME 信息规范等,我仍然无法理解工作配置。
该XDG基本目录规范提供了一组目录中的一个可用于所使用去在所谓的点文件/目录中的用户文件夹存储数据。这篇文章旨在帮助希望尽可能多地使用此目录的用户。
当我使用 xdg-open 时,目录一直在 Firefox 中打开。我不想要这个。
我做了:
xdg-mime default dolphin.desktop application/x-directory
和
xdg-mime default dolphin.desktop inode/directory
然而,当我尝试
xdg-open /local
我仍然得到一个 Firefox 窗口。为什么是这样?我什至仔细检查过
xdg-mime query default inode/directory
和
xdg-mime query default inode/directory
这两个命令都会导致
dolphin.desktop
我不知道它是否会有所不同如果我使用 ssh 来控制我所指的机器(我不是在我给出这些命令的机器上工作,我已经使用 ssh 通过终端来控制它我现在的机器)。
我所在的机器上的默认目录程序是文件浏览器,而不是 dolphin 或 Firefox,所以它似乎无关紧要。
(我使用的是最新的 chrome 测试版 (64),但它发生在我使用的所有以前版本的 chrome 中。)
当我在谷歌浏览器中按下磁铁链接时,我得到这张卡片: 打开 xdg-open?
所以我标记为始终打开这些类型的链接...然后按打开 xdg-open。现在 qBittorrent 开始工作了。一切都好。
但是,如果我按下另一个磁力链接,它会再次弹出这张卡片并询问我该怎么做。它总是这样做,从不保存我以后选择的内容。
我有qbittorrent.desktop
在/usr/share/applications
开头qbittorrent.desktop
是:
[Desktop Entry]
Categories=Network;FileTransfer;P2P;Qt;
Exec=qbittorrent %U
GenericName=BitTorrent client
Comment=Download and share files over BitTorrent
Icon=qbittorrent
MimeType=application/x-bittorrent;x-scheme-handler/magnet;
Name=qBittorrent
Terminal=false
Type=Application
StartupNotify=false
StartupWMClass=qbittorrent
Keywords=bittorrent;torrent;magnet;download;p2p;
Run Code Online (Sandbox Code Playgroud)
也是在~/.config/mimeapps.list
我有这样的:
[Default Applications]
text/html=google-chrome-beta.desktop
x-scheme-handler/http=google-chrome-beta.desktop
x-scheme-handler/https=google-chrome-beta.desktop
x-scheme-handler/about=google-chrome-beta.desktop
x-scheme-handler/unknown=google-chrome-beta.desktop
x-scheme-handler/magnet=qbittorrent.desktop
Run Code Online (Sandbox Code Playgroud)
如果我命令xdg-mime query default x-scheme-handler/magnet
我得到qbittorrent.desktop
结果。
同样,如果我命令:xdg-mime default qbittorrent.desktop x-scheme-handler/magnet
没有任何改变并且存在问题。
最后一件事,如果我打开终端和命令:
xdg-open magnet:?xt=magnet-link-continue-here
它打开带有链接的 qbittorrent 没有问题。
每当 xdg-open 遇到一个文件时,它就没有一个与之关联的默认应用程序。这个过程递归地重复直到被杀死。这样做时,它当然会占用我所有的 CPU 和内存。这似乎是一个罕见的问题,因为谷歌对此知之甚少。需要注意的是,这会发生在多种文件类型上。
我正在使用 Awesome WM 和 Fish 作为我的外壳运行 Manjaro Linux,如果其中任何一个有所作为的话。
我正在使用一个名为 Zoom 的会议应用程序。有一些 URL 可以单击以打开应用程序,然后立即跳转到 URL 中存在的 ID 的会议。例如:https : //zoom.us/j/1234567890
但是我尝试的所有 URL 都没有真正打开应用程序。
或者例如,当我尝试登录我的帐户时,该应用程序打开 Firefox,通过网络登录后,将我重定向到 zoommtg://zoom.us/google?code=XXX 并且 Firefox 显示一条消息说“地址是不明白”。
我在 Firefox 的 about:config 页面上尝试了以下布尔键。
network.protocol-handler.expose.zoommtg=false
Run Code Online (Sandbox Code Playgroud)
我尝试分配true
而不是false
,但这并没有奏效。
我的 Firefox 有以下键/值
network.protocol-handler.expose-all;true
Run Code Online (Sandbox Code Playgroud)
我了解此配置使我无需设置前一个配置,因为它会覆盖它。
从我的内部 ~/.local/share/applications
$ cat Zoom.desktop
[Desktop Entry]
Name=Zoom
Comment=Zoom Video Conference
Exec=/usr/bin/zoom %U
Icon=Zoom.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
StartupWMClass=zoom
MimeType=x-scheme-handler/zoommtg;application/x-zoom;
X-KDE-Protocols=zoommtg
Name[en_US]=Zoom
$ cat mimeapps.list
[Default Applications]
text/html=firefox_firefox.desktop
x-scheme-handler/http=firefox_firefox.desktop
x-scheme-handler/https=firefox_firefox.desktop
x-scheme-handler/about=firefox_firefox.desktop
x-scheme-handler/unknown=firefox_firefox.desktop
x-scheme-handler/zoommtg=Zoom.desktop
application/x-zoom=Zoom.desktop
Run Code Online (Sandbox Code Playgroud)
如何配置 Firefox 以将 Zoom URL …
我在 archlinux 上使用 gvim 7.3.401。shell 命令:!xdg-open http://www.vim.org
不会使用该链接打开我的默认浏览器。事实上,它似乎什么也没做。
这在终端 vim 中按预期工作
我怎样才能让它在 gvim 中也能工作?
xdg ×10
linux ×5
firefox ×2
cpu-usage ×1
debian ×1
gvim ×1
magnet-links ×1
manjaro ×1
mime-types ×1
qbittorrent ×1
terminology ×1