Unix Shell 명령을 통해 주어진 파일 확장에 대한 선호하는 응용 프로그램 찾기
-
21-09-2019 - |
문제
이것은 아닐 수도 있습니다 엄격하게 프로그래밍에 대해서는 기성품 솔루션을 찾지 못하면 프로그래밍 작업이 될 수 있습니다. 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은 거의 정확히 내가 원하는 것이었지만, 추악한 프로그램 경고가 쉘로 빠져 나갈 수 있습니다.
감사합니다.