xdg-open 명령이 기본 파일 관리자에서 파일을 두 번 클릭할 때 열리는 동일한 응용 프로그램을 사용하고 싶지만 이것이 항상 올바른 것은 아닙니다.
예를 들어, 내 DE는 XFCE이고, 파일 관리자는 Thunar이며, 기본 이미지 뷰어는 Ristretto입니다. 그러나 xdg-open example.png
Pinta에서 샘플 PNG 파일을 엽니다. 왜?
답변1
xdg-open은 사용자의 기본 응용 프로그램을 구성하기 위한 데스크탑 독립적 도구입니다. 많은 응용 프로그램은 내부적으로 xdg-open 명령을 호출합니다. 데스크톱 환경(예: GNOME, KDE 또는 Xfce) 내에서 xdg-open은 해당 데스크톱 환경의 파일 열기 응용 프로그램(예: gvfs-open, kde-open 또는 exo-open)에 인수를 전달합니다. 이는 연결이 데스크톱 환경에 따라 달라짐을 의미합니다. 데스크톱 환경이 감지되지 않으면(예: Openbox와 같은 독립형 창 관리자를 실행하는 경우) xdg-open은 자체 구성 파일을 사용합니다.
~에서위키피디아
문제가 발생하면 png 파일과 관련된 기본 응용 프로그램을 설정해 볼 수 있습니다.
xdg-mime default <ristretto.desktop> image/png
Ristretto.txt의 데스크톱 파일 이름이 무엇인지 알아내야 합니다. 나중에 다음을 통해 확인할 수 있습니다.
xdg-mime query default image/png
답변2
@Ivan 기본 애플리케이션을 요청할 때 올바른 파일 형식을 제공하지 않았기 때문에 이런 일이 발생할 수 있습니다. 중요한 것은 xdg가 특정 파일 유형을 호출하는 방법입니다. 이는 다음을 실행하여 쉽게 발견할 수 있습니다.
xdg-mime query filetype example.png
예를 들어, 내 컴퓨터에 있는 특정 png 파일에 대해 이 작업을 수행하면 image/x-apple-ios-png
.
xdg-mime query default <new filetype>
이 특정 파일 형식에 대한 xdg 응용 프로그램을 가져옵니다. 이 파일 형식에 대해 정의된 응용 프로그램이 없으면 xdg-open은 파일이 /etc/debian_version
사용 가능한지 확인하고, 그렇다면 run-mailcap
xdg-open과 마찬가지로 시작하여 파일을 여는 프로그램을 찾습니다.
이 작업도 실패하는 경우에만 xdg-open은 사용자에게 파일을 여는 프로그램을 정의하도록 요청합니다.