Equivalente ao arquivo .URL no Ubuntu

25

um link de URL foi salvo no arquivo * .url via Windows e quando você abre este arquivo. Se você clicar duas vezes no atalho da Internet recém-criado, um arquivo de URL simples, ele abrirá o navegador padrão no URL indicado. Exemplo de conteúdo do arquivo URL:

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

Quando o mesmo arquivo (.url) é copiado no sistema operacional Ubuntu, o Ubuntu o manipula, como um arquivo de texto. Assim, o navegador não abre quando aciona o duplo clique no arquivo

Minha pergunta é: Qual é o equivalente do arquivo .url no Linux para criar um arquivo de atalho para URLs?

    
por Abdennour TOUMI 05.10.2013 / 08:32

3 respostas

16

No Ubuntu, um atalho de URL é armazenado em um arquivo .desktop da seguinte forma (por exemplo):

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

Se você ainda deseja abrir seus arquivos de URL do Windows no Ubuntu, aqui está descrito como você pode fazer isso:

  • Como abrir. url Atalhos do Internet Explorer no Ubuntu usando o Firefox .

O script Perl dado nesse artigo parece estar quebrado, mas o código a seguir deve fazer a mesma coisa corretamente:

#!/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";
    }
}
    
por Radu Rădeanu 05.10.2013 / 10:05
14

No Unity, temos arquivos .desktop para definir itens no iniciador, na área de trabalho ou em outros locais. Para criá-los, veja a seguinte pergunta:

Um link para um arquivo da Internet pode ter uma entrada tão simples quanto a seguinte

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

Você pode criar um arquivo desse tipo com um editor de texto ou muito mais fácil simplesmente arrastando e soltando um marcador do navegador para a área de trabalho.

No entanto, tenha em mente que um arquivo .desktop simples não abrirá automaticamente o URL fornecido em um navegador se o destino for, por exemplo, um documento de texto ou uma imagem. Para superar isso, veja a seguinte pergunta:

No caso de precisarmos abrir arquivos .URL com mais frequência (por exemplo, de uma unidade compartilhada), também poderemos executar um script bash semelhante a este para abri-los:

#! /bin/bash

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

source $1
xdg-open $URL

O erro command not found deste script pode ser ignorado ou enviado para /dev/null . Se precisarmos, poderemos associar esse script a um tipo Mime para o URL da extensão para clicar duas vezes para abrir um arquivo de URL.

    
por Takkat 05.10.2013 / 10:12
2

Se você deseja manter arquivos .URL (isso é comum para pessoas que compartilham arquivos entre máquinas Windows e * nix), crie um arquivo de script, vamos chamá-lo de win-urlfile.sh (ou o que você quiser) em / usr / local / bin (ou sua pasta preferida). Alterar permissão: 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

Isso funciona em todos os * nix e shells, permitindo que você abra seus arquivos .URL de dentro do gerenciador de arquivos. Você precisará configurar o Unity para chamar win-urlfile.sh ao abrir um tipo de arquivo .URL. Apenas certifique-se de que o gerenciador de arquivos passe um argumento de nome de arquivo único para o script ao abrir um tipo de arquivo .URL. Teste com um nome simples como test.url quando você configura pela primeira vez.

Embora a solução "source" (específica do bash) funcione executando arquivos .desktop como um código de script pode levar a execução de código inesperada. Pessoalmente, considero essa má codificação.

    
por Scott R 08.12.2013 / 05:05