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, 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 xargs
and distrobox-export
throw an error No file existed
. 따라서 이 문제를 해결하려면 바로가기 이름을 바꾸거나 모두 삭제하면 됩니다.
distrobox에서 이슈를 열었습니다이 오류가 다시 발생하지 않도록 여기에 적절한 파일 이름 처리를 추가할 수 있습니다.