아무런 환경 없이 `xdg-open`을 적절하고 쉽게 구성하는 방법은 무엇입니까?

아무런 환경 없이 `xdg-open`을 적절하고 쉽게 구성하는 방법은 무엇입니까?

OpenBox 창 관리자를 사용하고 있습니다.데스크톱 환경 없이.

xdg-open이상하게 행동합니다. 로 모든 것을 엽니다 firefox.

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

저는 간단한 프로그램을 찾고 있습니다. 매번 읽는 것과 같은 것*.desktop제출하다/usr/share/applications/폴더를 선택하고 xdg 설정을 자동으로 설정합니다.

답변1

xdg 자체의 유틸리티를 사용하지 않는 이유는 무엇입니까?

Thunar를 기본 파일 브라우저, 즉 폴더를 여는 기본 응용 프로그램으로 만들려면.

$ xdg-mime default Thunar.desktop inode/directory

xpdf를 기본 PDF 뷰어로 사용하려면:

$ xdg-mime default xpdf.desktop application/pdf

항목이 생성되어야 합니다.

[Default Applications]
application/pdf=xpdf.desktop

로컬 MIME 데이터베이스에 있습니다 ~/.config/mimeapps.list.

이제 PDF 파일을 xpdf로 열어야 합니다.

답변2

설치해서 사용하시면 됩니다펄 파일-mimeinfomimetype을 관리하기 위해 저장소 에 있습니다 extra.

.pdf모든 파일을 여는 예 apvlv:

/usr/bin/vendor_perl/mimeopen -d $file.pdf

또는 다음 디렉터리 중 하나에 있지 mimeopen않지만 다른 Linux 배포판에 있는 경우 :/usr/bin/vendor_perl/$PATH

mimeopen -d $file.pdf

그런 다음 프롬프트에서 애플리케이션을 입력합니다. apvlv.

답변3

이와 같은 것을 사용하여 xdg-mime.desktop파일과 해당 파일에 포함된 MIME 유형에 대한 적절한 명령을 생성한 다음 원하는 명령을 실행할 수 있습니다. 메모에는 /usr/share/applications하위 디렉터리가 있을 수 있습니다.

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done

답변4

나와 같이 사용할 적절한 MIME 유형을 얻는 방법을 모르는 사람들을 위해 xdg-mime:

1- 초기 상황:

$ xdg-open .vscodium을 엽니다(이 어리석은 파일 연결을 누가 하드코딩했습니까?) :[

2- 문제: "."의 MIME 유형은 무엇입니까?

$ mimetype . .: inode/directory

3- 해결책:

$ xdg-mime default thunar.desktop inode/directory

참고: 다음 줄은 작동하지 않지만 오류는 보고되지 않습니다. $ xdg-mime default Thunar.desktop inode/directory

관련 정보