문제

이것은 아닐 수도 있습니다 엄격하게 프로그래밍에 대해서는 기성품 솔루션을 찾지 못하면 프로그래밍 작업이 될 수 있습니다. UNIX에서는 주어진 파일 타입에 대한 사용자가 선호되는 응용 프로그램을 결정하기위한 명령 줄 방법은 무엇입니까?

여기서 이상적인 해결책은 다음을 수행 해야하는 명령입니다.

okular foo.pdf

세트 선호하는 응용 프로그램으로 작업하면서 이와 같은 일을 할 수있었습니다.

launch foo.pdf

검색으로 답을 찾지 못했고 DIY 접근 방식은 작동하지 않을 것입니다. 한동안 Linux를 사용하는 동안 선호하는 응용 프로그램을 관리하는 내부에 대한 단서가 없습니다.

도움이 되었습니까?

해결책

유닉스에서 그 자체 선호하는 응용 프로그램의 OS 레벨 개념이 없기 때문에 사용자 가이를 열었을 때 사용했던 것입니다.

그러나 주요 X 데스크탑 환경은 모두 그러한 개념을 정의한 다음 시설을 사용해야합니다.

  • gnome-open 그놈 (duh)에서
  • exo-open XFCE에서 [그놈 링크의 주석 참조
  • xdg-open 많은 환경에서 작동 할 수 있습니다 (KDE에서 유명하게 작동) [Gnome 링크의 주석 참조
  • 그냥 평범합니다 kfmclient exec (또는 kfmclient4 exec) KDE에서 (나는 kde-open ~처럼 Rob H가 제안합니다, 그리고 그것을 시도 할 KDE 시스템이 없음)

이제 Mac OS X가 제공합니다 open Finder에서 파일을 클릭하는 것처럼 작동하는 명령 (즉, OS를 묻습니다 ...)


덕분에 몇 가지 수정 사항이 있습니다 일시적인 의견에서. 나는 논의하지 않을 것이다 mailcap, 나는 그것을 이해하지 못했고 그것을 잊어 버렸기 때문에 ...

다른 팁

대답은 사용중인 데스크탑 환경에 따라 다릅니다. OKULAR를 언급 한 이후로 KDE를 사용하고 있다고 가정하겠습니다. 그래서 시도하십시오 :

kde-open <file>

그놈의 경우 다음에 해당합니다.

gnome-open <file>

이것에 직접 대답하기 위해, 나는 내가 기대하는 방식으로 작동하는 간단한 (bash) 기능을 정의했습니다.

function show { 
    xdg-open $1 &> NUL
    }

XDG-OPEN은 거의 정확히 내가 원하는 것이었지만, 추악한 프로그램 경고가 쉘로 빠져 나갈 수 있습니다.

감사합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top