우분투의 .URL 파일과 동일


25

URL 링크는 Windows를 통해 그리고이 파일을 열 때 * .url 파일에 저장되었습니다. 새로 만든 인터넷 바로 가기, 간단한 URL 파일을 두 번 클릭하면 기본 URL이 표시된 URL로 열립니다. 예 f URL 파일 cntent :

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

Ubuntu OS에서 동일한 파일 (.url)을 복사하면 Ubuntu가 텍스트 파일과 같은 파일을 처리합니다. 따라서 파일을 두 번 클릭 할 때 브라우저가 openend되지 않습니다.

내 질문은 : URL의 바로 가기 파일을 만들기 위해 Linux에서 .url 파일과 동등한 것은 무엇입니까?

답변:


18

우분투에서는 URL 바로 가기가 다음과 같이 .desktop 파일에 저장됩니다 (예 :) .

[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 파일을 열려면 다음과 같이하십시오.

이 기사에 제공된 Perl 스크립트는 깨져있는 것처럼 보이지만 다음 코드는 동일한 작업을 수행해야합니다.

#!/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 스크립트는 여러 가지 방법으로 깨진 것처럼 보입니다. "필터 아웃 캐리지 리턴"regexp는 백 슬래시가 없기 때문에 작동 if하지 않으며 1, 같은 이유로 URL에 숫자가 포함되어 있지 않으면 절의 이전 regexp 는 절대 일치하지 않습니다. . 또한 일치하는 방식으로 처리하면 URL이 이스케이프 처리되지 않은 셸로 전달됩니다.이 취약점은 보안 결함 일뿐만 아니라로 구분 된 매개 변수가 포함 된 URL도 손상 &시킵니다. 이 문제를 해결하는 답변에 대한 수정 제안을 제출했습니다.
— Ilmari Karonen

14

Unity에는 런처, 데스크톱 또는 기타 위치에 항목을 정의하기위한 .desktop 파일이 있습니다. 이것을 만들려면 다음 질문을 참조하십시오.

인터넷 파일에 대한 링크는 다음과 같이 간단한 항목을 가질 수 있습니다.

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

텍스트 편집기를 사용하여 이러한 파일을 만들거나 브라우저에서 데스크톱 으로 북마크 를 끌어다 놓는 방식으로 훨씬 쉽게 만들 수 있습니다 .

그러나 대상이 텍스트 문서 또는 이미지 인 경우 이러한 간단한 .desktop 파일은 브라우저에서 지정된 URL을 자동으로 열지 않습니다. 이를 극복하려면 다음 질문을 참조하십시오.

.URL 파일을 더 자주 (예 : 공유 드라이브에서) 열어야하는 경우 이와 비슷한 bash 스크립트를 실행하여 열 수 있습니다.

#! /bin/bash

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

source $1
xdg-open $URL

command not found이 스크립트 의 오류는 무시하거나에 보낼 수 있습니다 /dev/null. 확장 프로그램 URL을 두 번 클릭하여 URL 파일을 열려면이 스크립트를 Mime 유형에 연결할 수 있습니다.


다른 답변과 비교할 때 놀랍도록 간단한 스크립트입니다. .desktop파일에 넣고 파일을 연결 .url하면 완료됩니다.
— kiri

단순하지만 공격 벡터. 우리가 첫 번째 인수 (url 파일)를 실행 / 실행함에 따라.
— ctrl-alt-delor

3

.URL 파일을 유지하려면 (Windows와 * nix 컴퓨터간에 파일을 공유하는 사람들에게 공통적 임) 스크립트 파일을 작성하여 / usr / local /에서 win-urlfile.sh (또는 원하는 파일)라고하겠습니다. 출력 함 (또는 선호하는 폴더). 권한 변경 : 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

이것은 모든 * nix 및 셸에서 작동하며 파일 관리자 내에서 .URL 파일을 열 수 있습니다. .URL 파일 형식을 열 때 win-urlfile.sh를 호출하도록 Unity를 구성해야합니다. .URL 파일 형식을 열 때 파일 관리자가 단일 파일 이름 인수를 스크립트에 전달해야합니다. 처음 설정할 때 test.url과 같은 간단한 이름으로 테스트하십시오.

"소스"(bash 전용) 솔루션이 스크립트 코드로 .desktop 파일을 실행하면 작동하지만 예기치 않은 코드가 실행될 수 있습니다. 개인적으로 나는 그 나쁜 코딩을 고려합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.