Distrobox에서 애플리케이션을 내보낼 수 없습니다. xarg에서 오류가 발생합니다.

Distrobox에서 애플리케이션을 내보낼 수 없습니다. xarg에서 오류가 발생합니다.

distrobox-export --app emacs예상대로 작동하지 않습니다. 출력이 발생합니다.

xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option Error: cannot find any desktop files. Error: trying to export a non-installed application.

/usr/share/applications작동하는 폴더를 설정하여 디버깅해 보세요 . 따라서 설치를 찾는 쿼리 중 하나에 오류가 있을 수 있습니다 emacs.

 xargs -t -I{} grep -le Exec=.*emacs.* -le Name=.*emacs.* {}

 xargs -t -I{} grep -Le Exec=.*/home/deck/.local/bin/distrobox-enter.* {}

 xargs -t -I{} printf %s@ {}

다시 나타나다 이맥스를 설치합니다 (ubuntu:latest): sudo apt-get install emacs

내보냅니다. distrobox-export --app emacs

예상되는 동작 Emacs는 내 로컬 사용자에게 내보냅니다.

통나무( grep 명령을 확장하기 -t위해 자세한 태그를 추가했습니다 )xargs

podman_log.log

데스크톱(다음 정보를 입력하세요):

  • Podman, docker 또는 lilipod를 사용하고 있습니까? :podman
  • Podman, docker 또는 lilipod는 어떤 버전인가요? :podman version 4.5.1
  • 배포판의 버전은 무엇입니까? :distrobox: 1.6.0.1
  • 어떤 호스트가 배포되나요? :SteamOS 3.5
  • 디스트로박스는 어떻게 설치하셨나요? :curl + prefix=.local/

추가 배경 정보 컨텍스트: 이전에 컨테이너를 생성 debian하고 다른 애플리케이션을 내보냈습니다. VScode. (애플리케이션을 먼저 삭제하는 대신) 컨테이너를 삭제했는데 배포판에서 --force컨테이너를 삭제하라고 요청했습니다 debian. 이것이 이 동작이 발생하는 유일한 관련 이유입니다.

  • ~/.local/share/applications이전에 설정한 바로가기를 모두 삭제하고 code.desktop.
  • 프로그램 을 디버깅했는데 export일부 디렉터리에 없는 것 같습니다.
  • 각 앱을 다시 설치해 보았 distrobox으나 podman성공하지 못했습니다 .
  • 폴더를 삭제 /etc/containers하고 레지스트리를 다시 다운로드했지만 성공하지 못했습니다.
  • /usr/share/applications또한 응용 프로그램을 검색하는 데 사용되는 디렉터리를 편집하고 작동하도록 수동으로 설정했습니다 . 따라서 내 주요 아이디어는 검색 중에 깨진 잘못된 문자열을 반환하는 깨진 바로가기를 발견했다는 것입니다 xargs. 아마도 제거된 컨테이너에 의해 생성된 잘못된 링크일 것입니다.
  • 모든 컨테이너를 삭제 podman하고 다시 시작했습니다. 어쩌면 내 컴퓨터에 무슨 일이 벌어지고 있어서 이 문제가 발생한 것일 수도 있습니다.
  • 또한 잘못된 형식으로 생성되었을 수 있는 파일이나 정규 표현식을 검색해 보았 emacs.desktop으나 아무것도 발견되지 않았습니다.emacs

잘못된 문자열이 생성되는 위치를 찾기 위해 이를 추가로 디버깅하려면 어떻게 해야 합니까 xargs?

- - 해결책- - 이 문제는 종결될 수 있지만 다른 사용자에게도 이 문제가 발생할 수 있으므로 열어두십시오.

~/.local/share/applications디버깅을 하다가 이름에 작은 따옴표가 포함된 게임이 있다는 것을 (당연히) 발견했습니다 : "No Man's Sky"it escape xargsand distrobox-exportthrow an error No file existed. 따라서 이 문제를 해결하려면 바로가기 이름을 바꾸거나 모두 삭제하면 됩니다.

distrobox에서 이슈를 열었습니다이 오류가 다시 발생하지 않도록 여기에 적절한 파일 이름 처리를 추가할 수 있습니다.

관련 정보