Equivalente del file .URL su Ubuntu


25

un collegamento URL è stato salvato nel file * .url tramite Windows e quando si apre questo file. Se fai doppio clic sul collegamento Internet appena creato, un semplice file URL, aprirà il browser predefinito all'URL indicato. Esempio di file URL cntent:

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

Quando lo stesso file (.url) viene copiato sul sistema operativo Ubuntu, Ubuntu lo gestisce come un file di testo. Pertanto, il browser non si apre quando si attiva il doppio clic sul file

La mia domanda è: qual è l'equivalente del file .url in Linux per creare un file di collegamento per gli URL?

Risposte:


18

In Ubuntu un collegamento URL è memorizzato in un file .desktop come segue (ad esempio):

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

Se vuoi ancora aprire i tuoi file URL di Windows in Ubuntu, ecco come puoi farlo:

Lo script Perl fornito in quell'articolo sembra essere rotto, ma il codice seguente dovrebbe fare la stessa cosa correttamente:

#!/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
Lo script Perl sembra rotto in diversi modi: la regexp "filtra il ritorno a capo" non funzionerà perché manca una barra rovesciata e, in effetti, la regexp precedente nella ifclausola non corrisponderà mai a meno che l'URL non contenga il numero 1, per lo stesso motivo . Inoltre, se riesce in qualche modo a corrispondere, l'URL verrà passato senza caratteri di escape alla shell, che non è solo un difetto di sicurezza, ma romperà anche eventuali URL contenenti, ad esempio, parametri separati &. Ho inviato un suggerimento di modifica alla tua risposta risolvendo questi problemi.
Ilmari Karonen,

14

In Unity abbiamo file .desktop per la definizione di elementi sul launcher, sul desktop o in altre posizioni. Per creare questi vedere la seguente domanda:

Un collegamento a un file Internet può contenere una voce semplice come la seguente

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

Puoi creare un tale file con un editor di testo o molto più semplicemente trascinando e rilasciando un segnalibro dal tuo browser al desktop.

Tuttavia, tieni presente che un file .desktop così semplice non aprirà automaticamente l'URL specificato in un browser se la destinazione è ad esempio un documento di testo o un'immagine. Per ovviare a questo, vedi la seguente domanda:

Nel caso in cui abbiamo bisogno di aprire i file .URL più spesso (ad esempio da un'unità condivisa), potremmo anche eseguire uno script bash simile a questo per aprirli:

#! /bin/bash

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

source $1
xdg-open $URL

L' command not founderrore di questo script può essere ignorato o inviato a /dev/null. Se è necessario, allora potremmo associare questo script a un tipo Mime affinché l'URL dell'estensione faccia doppio clic per aprire un file URL.


Una sceneggiatura incredibilmente semplice rispetto all'altra risposta. Mettilo in un .desktopfile e associa i .urlfile con esso, quindi hai finito.
Kiri,

Semplice, ma un vettore di attacco. Mentre eseguiamo / eseguiamo il primo argomento (il file url).
ctrl-alt-delor,

3

Se vuoi conservare i file .URL (questo è comune per le persone che condividono file tra Windows e macchine * nix), quindi crea un file di script chiamiamolo win-urlfile.sh (o come mai ti piace) in / usr / local / bin (o la tua cartella preferita). Permesso di modifica: 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

Funziona su tutti * nix e shell, permettendoti di aprire i tuoi file .URL dal tuo file manager. Sarà necessario configurare Unity per chiamare win-urlfile.sh quando si apre un tipo di file .URL. Assicurati solo che il tuo file manager passi un singolo argomento sul nome del file allo script quando apri un tipo di file .URL. Prova con un nome semplice come test.url alla prima installazione.

Sebbene la soluzione "source" (specifica per bash) funzioni eseguendo i file .desktop come un codice di script potrebbe portare a un'esecuzione inattesa del codice. Personalmente considero quella cattiva codifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.