Ubuntu'daki .URL dosyasının eşdeğeri


25

Bir URL bağlantısı * .url dosyasına Windows üzerinden ve bu dosyayı açtığınızda kaydedildi. Yeni oluşturulan internet kısayoluna çift tıklarsanız, basit bir URL dosyası, varsayılan tarayıcınızı belirtilen URL'ye açacaktır. Örnek f URL dosyası cntent:

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

Aynı dosya (.url) Ubuntu OS'de kopyalandığında, Ubuntu bir metin dosyası gibi kullanır. Dolayısıyla, tarayıcıya çift tıklatma tetiklerken tarayıcı açılmıyor

Sorum şu: Linux'ta URL'lere kısayol dosyası oluşturmak için .url dosyasının karşılığı nedir?

Yanıtlar:


18

Ubuntu'da bir URL kısayolu aşağıdaki gibi bir .desktop dosyasında saklanır (örneğin):

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

Windows URL dosyalarınızı hala Ubuntu'da açmak istiyorsanız, nasıl yapabileceğiniz anlatılmaktadır:

Bu makalede verilen Perl betiği bozuk görünüyor, ancak aşağıdaki kod aynı şeyi doğru şekilde yapmalı:

#!/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
Perl betiği çeşitli şekillerde bozuk görünüyor: "satır başı geri dönüşünü süz" regexp ters eğik çizgi eksik olduğundan işe yaramaz ve gerçekten de, ifcümle içindeki önceki regexp , URL 1aynı sayıyı içermiyorsa asla eşleşmeyecektir . Ayrıca, eğer bir şekilde eşleşmeyi başarırsa, URL kabuktan çıkarılmadan geçirilir, bu yalnızca bir güvenlik açığı değildir, aynı zamanda örneğin ile ayrılmış parametreleri içeren URL'leri de kırar &. Bu sorunları çözerek cevabınıza bir düzenleme önerisi gönderdim
Ilmari Karonen

14

Birlik'te, başlatıcı, masaüstünde veya diğer konumlardaki öğeleri tanımlamak için .desktop dosyalarımız vardır. Bunları oluşturmak için aşağıdaki soruyu görün:

Bir internet dosyasına bir link aşağıdaki gibi basit bir giriş olabilir

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

Bir metin düzenleyiciyle böyle bir dosya oluşturabilir veya bir yer imini tarayıcınızdan masaüstüne sürükleyip bırakarak çok daha kolay bir şekilde oluşturabilirsiniz.

Ancak, bu kadar basit bir .desktop dosyasının, hedef örneğin bir metin belgesi veya resmi ise, verilen URL'yi bir tarayıcıda otomatik olarak açmayacağını unutmayın. Bunun üstesinden gelmek için aşağıdaki soruya bakınız:

.URL dosyalarını daha sık açmamız gerekiyorsa (örn. Paylaşılan bir sürücüden), açmak için buna benzer bir bash betiği de çalıştırabiliriz:

#! /bin/bash

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

source $1
xdg-open $URL

command not foundBu komut dosyası hata ihmal veya gönderilebilir /dev/null. Gerekirse, bir URL dosyasını açmak için bu betiği uzantı URL'si için Mime türüyle ilişkilendirebiliriz.


Diğer cevapla karşılaştırıldığında şaşırtıcı derecede basit bir senaryo. Bunu bir .desktopdosyaya koyun ve .urldosyalarınızı onunla ilişkilendirin , daha sonra işlem tamamlanır.
kiri

Basit, ama bir saldırı vektörü. Yürütürken / çalıştırırken ilk argümanı (url dosyası).
ctrl-alt-delor

3

.URL dosyalarını saklamak istiyorsanız (bu, Windows ve * nix makineleri arasında dosya paylaşan kişiler için yaygındır), daha sonra bir komut dosyası oluşturalım / usr / local / bin (veya tercih ettiğiniz klasör). İzin değiştir: 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

Tüm * nix ve kabuklarında çalışır, .URL dosyalarınızı dosya yöneticinizden açabilirsiniz. .URL dosya türünü açarken win-urlfile.sh dosyasını arayacak şekilde Unity'yi yapılandırmanız gerekir. .URL dosya türünü açtığınızda, dosya yöneticinizin komut dosyasına tek bir dosya adı argümanını ilettiğinden emin olun. İlk kurulumunuzda test.url gibi basit bir isimle test edin.

Her ne kadar "kaynak" (bash'a özgü) çözümü çalışırsa da .desktop dosyalarının bir kod olarak çalıştırılması beklenmeyen bir kod yürütmesine neden olabilir. Şahsen ben bu kötü kodlamayı düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.