Tương đương với tệp .URL trên Ubuntu


25

một liên kết URL đã được lưu trong tệp * .url qua Windows và khi bạn mở tệp này. Nếu bạn nhấp đúp chuột vào phím tắt internet mới được tạo, một tệp URL đơn giản, nó sẽ mở trình duyệt mặc định của bạn tới URL được chỉ định. Ví dụ tập tin URL cntent:

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

Khi cùng một tệp (.url) được sao chép trên Ubuntu OS, Ubuntu sẽ xử lý nó như một tệp văn bản. Do đó, trình duyệt không mở khi nhấp đúp vào tệp

Câu hỏi của tôi là: Tương đương với tệp .url trong Linux để tạo tệp tắt cho URL là gì?

Câu trả lời:


18

Trong Ubuntu, một phím tắt URL được lưu trữ trong tệp .desktop như sau (ví dụ):

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

Nếu bạn vẫn muốn mở các tệp URL Windows của mình trong Ubuntu, đây là mô tả cách bạn có thể làm điều đó:

Tập lệnh Perl được đưa ra trong bài viết đó dường như bị hỏng, nhưng đoạn mã sau sẽ thực hiện chính xác điều tương tự:

#!/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
Tập lệnh Perl đó có vẻ bị hỏng theo nhiều cách: regrec "lọc ra vận chuyển" sẽ không hoạt động vì nó thiếu dấu gạch chéo ngược và thực tế, biểu thức chính quy trước đó trong ifmệnh đề sẽ không bao giờ khớp trừ khi URL chứa số đó 1, vì lý do tương tự . Ngoài ra, nếu bằng cách nào đó quản lý để khớp, URL sẽ được chuyển không bị chặn sang trình bao, đây không chỉ là một lỗ hổng bảo mật, mà còn phá vỡ mọi URL có chứa các tham số được phân tách bằng &. Tôi đã gửi một đề xuất chỉnh sửa để câu trả lời của bạn khắc phục những vấn đề này.
Ilmari Karonen

14

Trong Unity, chúng tôi có các tệp .desktop để xác định các mục trên trình khởi chạy, máy tính để bàn hoặc các vị trí khác. Để tạo những cái này, hãy xem câu hỏi sau:

Một liên kết đến một tập tin internet có thể có một mục đơn giản như sau

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

Bạn có thể tạo một tệp như vậy bằng trình soạn thảo văn bản hoặc dễ dàng hơn nhiều bằng cách kéo và thả dấu trang từ trình duyệt của bạn xuống màn hình nền.

Tuy nhiên, hãy nhớ rằng một tệp .desktop đơn giản như vậy sẽ không tự động mở URL đã cho trong trình duyệt nếu mục tiêu là ví dụ như tài liệu văn bản hoặc hình ảnh. Để khắc phục điều này, hãy xem câu hỏi sau đây:

Trong trường hợp chúng tôi cần mở tệp .URL thường xuyên hơn (ví dụ từ ổ đĩa chung), chúng tôi cũng có thể chạy tập lệnh bash tương tự như thế này để mở chúng:

#! /bin/bash

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

source $1
xdg-open $URL

Các command not foundlỗi từ kịch bản này có thể được bỏ qua hoặc gửi đến /dev/null. Nếu phải thì chúng ta có thể liên kết tập lệnh này với loại Mime cho URL tiện ích mở rộng để nhấp đúp vào mở tệp URL.


Một kịch bản đơn giản đáng kinh ngạc khi so sánh với câu trả lời khác. Đặt nó vào một .desktoptập tin và liên kết .urlcác tập tin với nó sau đó bạn đã hoàn tất.
kiri

Đơn giản, nhưng một vector tấn công. Vì chúng tôi đang thực thi / chạy đối số đầu tiên (tệp url).
ctrl-alt-delor

3

Nếu bạn muốn giữ các tệp .URL (điều này phổ biến đối với những người chia sẻ tệp giữa các máy Windows và * nix) thì hãy tạo tệp tập lệnh, hãy gọi nó là win-urlfile.sh (hoặc bất cứ điều gì bạn thích) trong / usr / local / bin (hoặc thư mục ưa thích của bạn). Thay đổi quyền: 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

Điều này hoạt động trên tất cả * nix và shell cho phép bạn mở các tệp .URL từ bên trong trình quản lý tệp của bạn. Bạn sẽ cần định cấu hình Unity để gọi win-urlfile.sh khi mở loại tệp .URL. Chỉ cần đảm bảo trình quản lý tệp của bạn chuyển một đối số tên tệp cho tập lệnh khi bạn mở loại tệp .URL. Kiểm tra với một tên đơn giản như test.url khi bạn thiết lập lần đầu tiên.

Mặc dù giải pháp "nguồn" (bash cụ thể) hoạt động khi thực thi các tệp .desktop dưới dạng mã tập lệnh có thể dẫn đến thực thi mã không mong muốn. Cá nhân tôi cho rằng mã hóa xấu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.