为 URL 创建快捷方式?

为 URL 创建快捷方式?

如何在桌面上创建 URL 的快捷方式?我想在 Firefox 或 Chrome 中使用它们。

如果复制和粘贴不起作用。

我必须使用什么脚本?

答案1

在 Ubuntu 中,URL 快捷方式存储在.desktop 文件如下(例如):

[Desktop Entry]
Encoding=UTF-8
Name=Link to Ask Ubuntu
Type=Link
URL=http://www.askubuntu.com/
Icon=text-html

您可以将链接从 Firefox 或 Chrome 拖放到桌面或您有权限保存文件的任何其他文件夹中。

笔记:链接将出现在您的桌​​面或文件资源管理器(即 caja)中行中的名称下Name=…,而不是其实际文件名。并且没有任何….desktop扩展名。

答案2

该解决方案也是多平台的:

  1. 创建一个新的简单文本文件,以 .html 为扩展名,并指定您想要的名称。

  2. 使用您想要的程序编辑文件并添加此内容:

    <html>
        <head>
            <meta http-equiv="refresh" content="0; url=https://askubuntu.com" />
        </head>
        <body> </body>
    </html>
    
  3. 保存文件。

答案3

我需要类似的东西,但 Gnome(现在?)要求*.desktop文件位于特定位置,因此直接使用它们无法解决我的问题,因为我想要的主要是项目文件夹中的 Web 链接以供参考。而且它们也不兼容跨平台。

最终我转向了微软的.url文件,它们很容易构建,如下所示:

[InternetShortcut]
URL=https://askubuntu.com

(我读到尾随换行符很重要,可能是\r\n为了与 Windows 兼容)

并创建了一个 .desktop 规范来处理它们:

[Desktop Entry]
Type=Application
Name=URL Handler
MimeType=application/x-mswinurl;
Exec=bash -c "set -e; P=$(python3 -c 'import configparser,sys,urllib.parse; c=configparser.ConfigParser(); c.read(sys.argv[1])\ntry:\n    u=c[\"InternetShortcut\"][\"URL\"]\n    if not urllib.parse.urlparse(u).scheme in [\"http\",\"https\",\"ftp\",\"ssh\"]: raise Exception(\"Invalid scheme in URI\")\n    print(u)\nexcept Exception as e: print(e,file=sys.stderr); exit(3);' %f); xdg-open \"$P\""

将其放入文件中~/.local/share/applications/<whatever>.desktop。在我的例子中,Gnome 立即将*.url文件绑定到它们。

这需要xdg-utils包(对于xdg-open,如果您有桌面环境它很可能在那里)和python 3。

我真的不想使用 Python,但对这样的事情进行未经检查的解析并不适合我。Python 脚本的最大部分是为了避免无限循环和其他危险——以防有人产生奇怪的想法并将文件名放入文件中。它确保方案存在并且是、、.url之一。我猜这个列表可以轻松扩展,但我实际上不知道 Windows 支持哪些方案。http(s)ftpssh

答案4

此外,与所有涉及命令行的解决方案一样,人们可以在类似 Chromium 的浏览器中通过鼠标分三步完成此操作:

  1. 点击菜单(右上角的三个垂直点)。
  2. 点击“更多工具…”
  3. 点击“创建应用程序快捷方式”在桌面上创建快捷方式
  4. (取决于您的配置):您可能需要右键单击快捷方式并添加执行权限

随后,一个.desktop文件将被添加到创建者的桌面。

相关内容