URL cygwin 中 gnome 应用程序的处理程序?
URL Handler for gnome applications in cygwin?
我已经用 Cygwin/X 设置了一台 windows 机器,并且在该环境中有一个终端 运行。 "click on things that look like links" 功能运行良好,但 GNOME 弹出一个弹出窗口说它不知道如何打开 http url 方案。
我发现了很多对 xdg mime 类型、.desktop files/application 文件的引用,并且就拥有了:
$ xdg-mime query default x-scheme-handler/http
emarcotte-http.desktop
$ cat /usr/share/applications/emarcotte-http.desktop
[Desktop Entry]
Type=Application
Name=Browser Handler!
Exec=~emarcotte/browser.sh %u
StartupNotify=false
MimeType=x-scheme-handler/http;x-scheme-handler/https;
$ cat ~/browser.sh
EXE="/cygdrive/c/Program Files/Mozilla Firefox/firefox.exe"
"$EXE" "$*"
但我仍然收到提示没有注册处理程序的弹出窗口。
有没有人想出在 cygwin 中启用 GNOME url 处理程序的秘诀?
今天早上做了一些挖掘工作。我现在面前没有 Windows 机器,但今天下午可以做一些测试。
如果它们有帮助,下面是我发现的我计划用于测试的资源。
是否安装了 xdg-utils(具有所有依赖项)?那是包含 xdg-open.
的 Cygwin 工具集
根据 xdg-utils repo 自述文件,您可以尝试使用 PATH;类似于:
export PATH=$PATH:$INSTALL_DIR/xdg-utils
xdg-desktop-menu install $INSTALL_DIR/mycompany-myapp.desktop
您的 DESKTOP 和 DISPLAY 环境变量是如何设置的?直接调用xdg-open浏览器是否正常打开?
xdg-open https://[URI].html
你可能运气好调整它们(在 this 最高投票答案中找到的建议)关于一个类似的问题,将此解决方案重新用于 Ubuntu 上虚拟化的 Gnome 终端中的默认 PDF 处理程序问题:
export DISPLAY=:0
export GNOME_DESKTOP_SESSION_ID=0
xdg-open document.pdf
你的错误描述让我认为问题更多在于实际的处理程序服务而不是指针,但我不知道错误处理的具体程度如何,所以虽然
this thread 是特定于 Fedora 的,它确实描述了一个类似的问题,该问题源于在虚拟化配置中存储在以下目录中的 mimeapps 记录。自 2011 年初步解决以来,它似乎在 2019 年重新出现:
~/.local/share/applications/mimeapps.list
如果 none 这些帮助,我还在 arch wiki 上找到了大量用于配置 file/URI 默认应用程序的工具。您可能会重新利用 these 之一作为您的处理程序。
我希望其中之一能引导您走上正确的道路 😒。如果 none 能带你到任何地方,我稍后会做一些测试。
原来你不能在 Exec 中使用 ~
。设置浏览器直接打开的完整路径。
我已经用 Cygwin/X 设置了一台 windows 机器,并且在该环境中有一个终端 运行。 "click on things that look like links" 功能运行良好,但 GNOME 弹出一个弹出窗口说它不知道如何打开 http url 方案。
我发现了很多对 xdg mime 类型、.desktop files/application 文件的引用,并且就拥有了:
$ xdg-mime query default x-scheme-handler/http
emarcotte-http.desktop
$ cat /usr/share/applications/emarcotte-http.desktop
[Desktop Entry]
Type=Application
Name=Browser Handler!
Exec=~emarcotte/browser.sh %u
StartupNotify=false
MimeType=x-scheme-handler/http;x-scheme-handler/https;
$ cat ~/browser.sh
EXE="/cygdrive/c/Program Files/Mozilla Firefox/firefox.exe"
"$EXE" "$*"
但我仍然收到提示没有注册处理程序的弹出窗口。
有没有人想出在 cygwin 中启用 GNOME url 处理程序的秘诀?
今天早上做了一些挖掘工作。我现在面前没有 Windows 机器,但今天下午可以做一些测试。
如果它们有帮助,下面是我发现的我计划用于测试的资源。
是否安装了 xdg-utils(具有所有依赖项)?那是包含 xdg-open.
的 Cygwin 工具集根据 xdg-utils repo 自述文件,您可以尝试使用 PATH;类似于:
export PATH=$PATH:$INSTALL_DIR/xdg-utils
xdg-desktop-menu install $INSTALL_DIR/mycompany-myapp.desktop
您的 DESKTOP 和 DISPLAY 环境变量是如何设置的?直接调用xdg-open浏览器是否正常打开?
xdg-open https://[URI].html
你可能运气好调整它们(在 this 最高投票答案中找到的建议)关于一个类似的问题,将此解决方案重新用于 Ubuntu 上虚拟化的 Gnome 终端中的默认 PDF 处理程序问题:
export DISPLAY=:0
export GNOME_DESKTOP_SESSION_ID=0
xdg-open document.pdf
你的错误描述让我认为问题更多在于实际的处理程序服务而不是指针,但我不知道错误处理的具体程度如何,所以虽然 this thread 是特定于 Fedora 的,它确实描述了一个类似的问题,该问题源于在虚拟化配置中存储在以下目录中的 mimeapps 记录。自 2011 年初步解决以来,它似乎在 2019 年重新出现:
~/.local/share/applications/mimeapps.list
如果 none 这些帮助,我还在 arch wiki 上找到了大量用于配置 file/URI 默认应用程序的工具。您可能会重新利用 these 之一作为您的处理程序。
我希望其中之一能引导您走上正确的道路 😒。如果 none 能带你到任何地方,我稍后会做一些测试。
原来你不能在 Exec 中使用 ~
。设置浏览器直接打开的完整路径。