우분투의 .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.