web-dev-qa-db-fra.com

Équivalent du fichier .URL sur Ubuntu

un lien URL a été enregistré dans le fichier * .url via Windows et lorsque vous ouvrez ce fichier. Si vous double-cliquez sur le raccourci Internet nouvellement créé, un simple fichier d'URL, votre navigateur par défaut ouvrira l'URL indiquée. Exemple de fichier d'URL cntent:

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

Lorsque le même fichier (.url) est copié sur le système d'exploitation Ubuntu, Ubuntu le gère comme un fichier texte. Par conséquent, le navigateur ne s'ouvre pas lors du déclenchement d'un double-clic sur un fichier.

Ma question est la suivante: quel est l’équivalent du fichier .url sous Linux pour créer un fichier de raccourci pour les URL?

25
Abdennour TOUMI

Dans Ubuntu, un raccourci d’URL est stocké dans un . Fichier desktop comme suit (par exemple):

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

Si vous voulez toujours ouvrir vos fichiers URL Windows dans Ubuntu, voici comment vous pouvez le faire:

Le script Perl donné dans cet article semble être cassé, mais le code suivant devrait faire la même chose correctement:

#!/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";
    }
}
18
Radu Rădeanu

Dans Unity, nous avons des fichiers .desktop permettant de définir des éléments sur le lanceur, le bureau ou d’autres emplacements. Pour les créer, voir la question suivante:

Un lien vers un fichier Internet peut avoir une entrée aussi simple que la suivante

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

Vous pouvez créer un tel fichier avec un éditeur de texte ou beaucoup plus facilement en glissant-déposant un signet de votre navigateur sur le bureau.

Cependant, gardez à l'esprit qu'un tel fichier .desktop n'ouvrira pas automatiquement l'URL donnée dans un navigateur si la cible est, par exemple, un document texte ou une image. Pour résoudre ce problème, consultez la question suivante:

Dans le cas où nous aurions besoin d'ouvrir plus souvent des fichiers .URL (par exemple à partir d'un lecteur partagé), nous pourrions également exécuter un script bash similaire à celui-ci pour les ouvrir:

#! /bin/bash

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

source $1
xdg-open $URL

L'erreur command not found de ce script peut être ignorée ou envoyée à /dev/null. S'il le fallait, nous pourrions associer ce script à un type Mime pour que l'URL de l'extension double-ouvrir un fichier URL.

14
Takkat

Si vous souhaitez conserver des fichiers .URL (ceci est courant pour les personnes partageant des fichiers entre Windows et * nix), créez un fichier script, appelons-le win-urlfile.sh (ou ce que vous préférez) dans/usr/local/bin (ou votre dossier préféré). Changer l'autorisation: 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

Cela fonctionne sur tous les * nix et tous les shells, ce qui vous permet d'ouvrir vos fichiers .URL à partir de votre gestionnaire de fichiers. Vous devrez configurer Unity pour qu'il appelle win-urlfile.sh lors de l'ouverture d'un type de fichier .URL. Assurez-vous simplement que votre gestionnaire de fichiers passe un argument de nom de fichier unique au script lorsque vous ouvrez un type de fichier .URL. Testez avec un nom simple comme test.url lors de votre première installation.

Bien que la solution "source" (spécifique à bash) fonctionne en exécutant des fichiers .desktop en tant que code de script, cela peut entraîner une exécution de code inattendue. Personnellement, je considère que le codage est mauvais.

3
Scott R