为URL创建快捷方式?


Answers:


39

在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扩展。


好的,我做了这个vitor @ vitor-HP:〜$ vim atalho [桌面输入]编码= UTF-8名称=要链接的Ubuntu版本=链接URL = askubuntu.com图标= text-html但没有出现在我的笔记本上桌面。
Vitor Mazuco

2
@VitorMazuco您应该将该文件保存在桌面上。该文件必须具有扩展名.desktop。参见UnityLaunchersAndDesktopFiles
RaduRădeanu13年

我创建了vim atalho.desktop,但是桌面上什么也没有出现。
Vitor Mazuco

2
@VitorMazuco如果未保存在桌面上,该如何显示在桌面上。您必须将其保存在~/Desktop目录中。
RaduRădeanu'13

1
万一拖放不起作用,则创建带有示例内容的文本文件并将其另存为<something> .desktop并使其可执行
Xen2050年

6

尝试这个。安装Gnome面板,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:

sudo apt-get install gnome-panel

安装完成后,请输入以下内容:

gnome-desktop-item-edit --create-new ~/path/to/shortcut

(快捷方式的位置)。在下面的示例中,我将为Ubuntu.com创建一个快捷方式,并将其放置在Documents文件夹中。一旦我打Enter了一个窗口,将打开属性。参见下面的图片。

gnome-desktop-item-edit --create-new ~/Documents

在此处输入图片说明

在此处输入图片说明

完成后,只需单击它们新创建的快捷方式。


1
为什么所有这些桌面快捷方式都将我发送到Google?
Arturo

6

将此添加到您的~/.bashrc:-

function createUrlShortcut {
    if [ "$#" -ne 3 ]; then
        echo "Illegal number of parameters. Usage : createUrlShortcut Name Url FileBaseName"
    fi
    printf "[Desktop Entry]\nEncoding=UTF-8\nName=$1\nType=Link\nURL=$2\nIcon=text-html" > ~/Desktop/$3.Desktop
}

要创建快捷方式,请执行以下操作:

createUrlShortcut RGB-Dataset https://vision.in.tum.de/data/datasets/rgbd-dataset/download RGBD-Dataset-Link

第一个参数是要在nautilus中显示的名称。
第二个参数是url。
第三个参数是将由.Desktop扩展名附加的文件的实际名称。

请注意,这将创建一个名称为RGBD-Dataset-Link.Desktop的文件,但在nautilus 中将显示为RGB-Dataset


请注意,桌面链接是在当前目录中创建的。因此,您需要cd ~/Desktop先将完整路径编码或硬编码到函数中。例如,将行尾更改为~/Desktop/$3.Desktop
WinEunuuchs2Unix

@ WinEunuuchs2Unix谢谢。完全忘记了用户实际要求在桌面上放置快捷方式。有空时,我将更新答案。
saurabheights

可以确认这个作品很棒。唯一的增强是将其绑定到快捷键,该快捷键读取突出显示的文本(URL)的剪贴板,并提示输入鹦鹉螺名称和默认的.desktop文件名。
WinEunuuchs2Unix

@ WinEunuuchs2Unix大声笑。在我的薪水之上(开个玩笑):D。抱歉,但是诚恳的说,我太忙了。将来会对此进行调查。无论如何,创建快捷方式是一种多用途的有益技能;)
saurabheights

1

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

最终,我转向了Microsoft的.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文件中。它确保一个方案存在并且是中的一个http(s)ftpssh。我想可以很容易地扩展该列表,但是我实际上不知道Windows支持哪种方案。


1

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

1-创建一个新的简单文本文件,扩展名为.html,并提供所需的名称。

2-使用所需程序编辑文件并添加以下内容:

<html>
<head>
<meta http-equiv="refresh" content="0; url=https://askubuntu.com" />
</head>
<body>
</body>
</html>

3-保存文件并享受它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.