Setara dengan file .URL di Ubuntu

25

tautan URL telah disimpan dalam file * .url melalui Windows dan saat Anda membuka file ini. Jika Anda mengklik dua kali pada pintasan internet yang baru dibuat, file URL sederhana, itu akan membuka browser default Anda ke URL yang ditunjukkan. Contoh file URL cntent:

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

Ketika file yang sama (.url) disalin pada OS Ubuntu, Ubuntu menanganinya seperti file teks. Karenanya, browser tidak openend ketika memicu klik dua kali pada file

Pertanyaan saya adalah: Apa yang setara dengan file .url di Linux untuk membuat file shortcut untuk URL?

Abdennour TOUMI
sumber

Jawaban:

18

Di Ubuntu pintasan URL disimpan dalam file .desktop sebagai berikut (misalnya):

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

Jika Anda masih ingin membuka file URL Windows di Ubuntu, berikut ini dijelaskan cara melakukannya:

Skrip Perl yang diberikan dalam artikel itu tampaknya rusak, tetapi kode berikut harus melakukan hal yang sama dengan benar:

#!/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";
    }
}
Radu Rădeanu
sumber
3
Skrip Perl itu terlihat rusak dalam beberapa cara: regexp "filter out carriage return" tidak akan berfungsi karena regs tersebut hilang backslash, dan memang, regexp sebelumnya dalam ifklausa tidak akan pernah cocok kecuali URL berisi nomor 1, untuk alasan yang sama . Juga, jika entah bagaimana berhasil mencocokkan, URL akan diteruskan tidak terhapus ke shell, yang tidak hanya cacat keamanan, tetapi juga akan memecah URL yang berisi misalnya parameter yang dipisahkan dengan &. Saya telah mengirimkan saran edit untuk jawaban Anda yang memperbaiki masalah ini.
Ilmari Karonen
14

Di Unity kami memiliki file .desktop untuk menentukan item pada peluncur, desktop, atau lokasi lainnya. Untuk membuat ini lihat pertanyaan berikut:

Tautan ke file internet mungkin memiliki entri sesederhana berikut ini

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

Anda dapat membuat file seperti itu dengan editor teks, atau lebih mudah hanya dengan menyeret dan menjatuhkan bookmark dari browser Anda ke desktop.

Namun perlu diingat bahwa file .desktop yang sederhana tidak akan secara otomatis membuka URL yang diberikan dalam browser jika targetnya mis. Dokumen teks, atau gambar. Untuk mengatasinya lihat pertanyaan berikut:

Jika kita perlu membuka file .URL lebih sering (mis. Dari drive bersama), kita juga dapat menjalankan skrip bash yang mirip dengan ini untuk membukanya:

#! /bin/bash

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

source $1
xdg-open $URL

The command not foundkesalahan dari script ini dapat diabaikan atau dikirim ke /dev/null. Jika kita harus maka kita bisa mengaitkan skrip ini ke tipe Mime untuk URL ekstensi untuk mengklik dua kali membuka file URL.

Takkat
sumber
Script yang luar biasa sederhana jika dibandingkan dengan jawaban yang lain. Masukkan itu ke dalam .desktopfile dan kaitkan .urlfile dengan itu maka Anda selesai.
kiri
Sederhana, tetapi merupakan vektor serangan. Ketika kita menjalankan / menjalankan argumen pertama (file url).
ctrl-alt-delor
3

Jika Anda ingin menyimpan file .URL (ini umum untuk orang yang berbagi file antara Windows dan mesin * nix) maka buat file skrip, sebut saja win-urlfile.sh (atau apa pun yang Anda suka) di / usr / local / bin (atau folder pilihan Anda). Ubah izin: 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

Ini berfungsi di semua * nix dan shell yang memungkinkan Anda untuk membuka file .URL Anda dari dalam file manager Anda. Anda perlu mengkonfigurasi Unity untuk memanggil win-urlfile.sh saat membuka jenis file .URL. Pastikan pengelola file Anda meneruskan argumen nama file tunggal ke skrip saat Anda membuka jenis file .URL. Uji dengan nama sederhana seperti test.url saat pertama kali Anda mengatur.

Meskipun solusi "source" (khusus bash) bekerja mengeksekusi file .desktop sebagai kode skrip dapat menyebabkan eksekusi kode yang tidak terduga. Secara pribadi saya menganggap coding itu buruk.

Scott R
sumber