当前位置: 首页>>技术教程>>正文


filemanager – 在Ubuntu上等效于.URL文件

,

问题描述

通过Windows和打开此文件时,URL链接已保存在* .url文件中。如果双击新创建的Internet快捷方式(一个简单的URL文件),它将打开默认浏览器的指示URL。 URL文件cntent示例:

[InternetShortcut]
URL=http:abdennour-insat.blogspot.com

在Ubuntu OS上复制相同的文件(.url)时,Ubuntu会处理它,例如文本文件。因此,触发双击文件时浏览器不会打开

我的问题是:在Linux中创建URL快捷文件的.url文件等效于什么?

最佳思路

在Ubuntu中,URL快捷方式存储在.desktop file中,如下所示(例如):

[Desktop Entry]
Encoding=UTF-8
Name=Link to Best Practices Software engineering
Type=Link
URL=http://abdennour-insat.blogspot.com/
Icon=text-html

如果您仍想在Ubuntu中打开Windows URL文件,请按以下说明进行操作:

该文章中给出的Perl脚本似乎已损坏,但是以下代码应正确执行相同的操作:

#!/usr/bin/perl
# Script to make Microsoft Windows Internet Shortcuts (*.url) work on Linux.

my $browser = 'sensible-browser';  # use the system default browser

while (<>) {
    # match any line of the form "URL = something-without-spaces"
    if (/^\s*URL\s*=\s*(\S+)\s*$/) {
        exec $browser, $1;         # successful exec never returns
        die "$0: could not launch $browser: $!\n";
    }
}

次佳思路

在Unity中,我们有.desktop文件,用于定义启动器,桌面或其他位置上的项目。要创建这些,请参见以下问题:

指向Internet文件的链接可能具有如下简单的条目

[Desktop Entry]
Encoding=UTF-8
Name=Internet Link
Type=Link
URL=<url>
Icon=<icon to display>

您可以使用文本编辑器创建这样的文件,或者只需将书签从浏览器拖放到桌面即可轻松得多。

但是请记住,如果目标是例如文本文档或图像,则这种简单的.desktop文件将不会在浏览器中自动打开给定的URL。为了克服这个问题,请参见以下问题:

如果确实需要更频繁地打开.URL文件(例如从共享驱动器),我们也可以运行类似于以下内容的bash脚本来打开它们:

#! /bin/bash

# opens Windows URL file submitted as command line argument in browser

source $1
xdg-open $URL

可以忽略此脚本中的command not found错误,或将其发送给/dev/null。如果需要,我们可以将此脚本与扩展名URL的Mime类型相关联,以双击打开URL文件。

第三种思路

如果要保留.URL文件(在Windows和* nix机器之间共享文件的人很常见),则创建一个脚本文件,在/usr /local /下将其称为win-urlfile.sh(或您喜欢的文件)。 bin(或您的首选文件夹)。更改权限:chmod + x win-urlfile.sh

#!/usr/bin/bash
sed 's/^BASEURL=/URL=/' "$1" | grep -m 1 '^URL=' | sed 's/^URL=//' | sed 's/\r//' | xargs xdg-open

这适用于所有* nix和shell,允许您从文件管理器中打开.URL文件。您需要将Unity配置为在打开.URL文件类型时调用win-urlfile.sh。只要确保您的文件管理器在打开.URL文件类型时将单个文件名参数传递给脚本即可。首次设置时,请使用简单的名称(如test.url)进行测试。

尽管”source”(特定于bash)解决方案可以将.desktop文件作为脚本代码执行,但可能会导致意外代码执行。我个人认为编码不好。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10188.html,未经允许,请勿转载。