Ubuntuの.URLファイルと同等


25

URLリンクは、Windowsを介して* .urlファイルに保存され、このファイルを開くと保存されます。新しく作成されたインターネットショートカット(単純なURLファイル)をダブルクリックすると、指定されたURLのデフォルトブラウザーが開きます。URLファイルcntentの例:

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

Ubuntu OSで同じファイル(.url)がコピーされると、Ubuntuはテキストファイルなどを処理します。したがって、ファイルをダブルクリックしてトリガーすると、ブラウザはオープンエンドになりません

私の質問は次のとおりです。URLのショートカットファイルを作成するLinuxの.urlファイルに相当するものは何ですか?

回答:


18

Ubuntuでは、URLショートカットは次のように.desktopファイルに保存されます(例)。

[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";
    }
}

3
それはバックスラッシュを欠けている、と確かに、中に以前の正規表現ので、正規表現はしません作品「キャリッジリターンアウトフィルタ」:Perlのスクリプトは、いくつかの方法で壊れて見えることifURLが番号が含まれていない限り、句が一致しません1同じ理由で、 。また、なんとか一致する場合、URLはシェルにエスケープされずに渡されます。これはセキュリティ上の欠陥であるだけでなく、などで区切られ&たパラメーターを含むURLを破壊します。これらの問題を修正するための回答を編集する提案を提出しました。
イルマリカロネン

14

Unityには、ランチャー、デスクトップ、またはその他の場所でアイテムを定義するための.desktopファイルがあります。これらを作成するには、次の質問を参照してください。

インターネットファイルへのリンクには、次のような単純なエントリが含まれる場合があります

[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ファイルをダブルクリックして開きます。


他の回答と比較したときの驚くほどシンプルなスクリプト。それを.desktopファイルに入れて.urlファイルを関連付ければ、完了です。
キリ

シンプルですが、攻撃ベクトル。最初の引数(URLファイル)を実行/実行しているため。
ctrl-alt-delor

3

.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およびシェルで機能し、ファイルマネージャー内から.URLファイルを開くことができます。.URLファイルタイプを開くときにwin-urlfile.shを呼び出すようにUnityを構成する必要があります。.URLファイルタイプを開くときに、ファイルマネージャーが単一のファイル名引数をスクリプトに渡すようにしてください。最初のセットアップ時にtest.urlのような単純な名前でテストします。

「ソース」(bash固有)ソリューションは、スクリプトコードが予期しないコードの実行につながる可能性があるため、.desktopファイルを実行して動作しますが。個人的に私はその悪いコーディングを検討します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.