xdg-open 명령은 파일을 여는 데 사용할 응용 프로그램을 어떻게 알 수 있습니까?

xdg-open 명령은 파일을 여는 데 사용할 응용 프로그램을 어떻게 알 수 있습니까?

xdg-open 명령이 기본 파일 관리자에서 파일을 두 번 클릭할 때 열리는 동일한 응용 프로그램을 사용하고 싶지만 이것이 항상 올바른 것은 아닙니다.

예를 들어, 내 DE는 XFCE이고, 파일 관리자는 Thunar이며, 기본 이미지 뷰어는 Ristretto입니다. 그러나 xdg-open example.pngPinta에서 샘플 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-mailcapxdg-open과 마찬가지로 시작하여 파일을 여는 프로그램을 찾습니다.

이 작업도 실패하는 경우에만 xdg-open은 사용자에게 파일을 여는 프로그램을 정의하도록 요청합니다.

관련 정보