Equivalente ao arquivo .URL no Ubuntu


25

um link de URL foi salvo no arquivo * .url via Windows e quando você abre esse 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 arquivo de URL cntent:

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

Quando o mesmo arquivo (.url) é copiado no Ubuntu OS, o Ubuntu lida com um arquivo de texto. Portanto, o navegador não abre ao acionar o clique duplo no arquivo

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

Respostas:


18

No Ubuntu, um atalho de URL é armazenado em um arquivo .desktop da seguinte maneira (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 fazê-lo:

O script Perl fornecido 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";
    }
}

3
Esse script Perl parece quebrado de várias maneiras: a regexp "filtrar retorno de carro" não funcionará porque está faltando uma barra invertida e, de fato, a regexp anterior na ifcláusula nunca corresponderá, a menos que a URL contenha o número 1, pelo mesmo motivo . Além disso, se de alguma forma conseguir corresponder, o URL será passado sem escape para o shell, o que não é apenas uma falha de segurança, mas também quebrará quaisquer URLs que contenham, por exemplo, parâmetros separados por &. Enviei uma sugestão de edição para sua resposta, corrigindo esses problemas.
— Ilmari Karonen

14

No Unity, temos arquivos .desktop para definir itens no iniciador, na área de trabalho ou em outros locais. Para criá-los, consulte 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 esse arquivo 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, lembre-se de que um arquivo .desktop tão simples não abrirá automaticamente o URL especificado em um navegador se o destino for, por exemplo, um documento de texto ou imagem. Para superar isso, consulte a seguinte pergunta:

No caso de precisarmos abrir arquivos .URL com mais frequência (por exemplo, de uma unidade compartilhada), também podemos 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 command not founderro deste script pode ser ignorado ou enviado para /dev/null. Se precisarmos, poderíamos associar esse script a um tipo Mime para que o URL da extensão clique duas vezes em abrir um arquivo de URL.


Um script incrivelmente simples quando comparado com a outra resposta. Coloque isso em um .desktoparquivo e associe os .urlarquivos a ele, e pronto.
— kiri

Simples, mas um vetor de ataque. Como estamos executando / executando o primeiro argumento (o arquivo url).
— ctrl-alt-Delor

3

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 seu gerenciador de arquivos. Você precisará configurar o Unity para chamar win-urlfile.sh ao abrir um tipo de arquivo .URL. Apenas verifique se o gerenciador de arquivos passa um único argumento de nome de arquivo para o script quando você abre um tipo de arquivo .URL. Teste com um nome simples como test.url quando você configurar pela primeira vez.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.