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@ {}

重现 安装 emacs (ubuntu:latest)sudo apt-get install emacs

并导出它: distrobox-export --app emacs

预期行为 Emacs 导出到我的本地用户。

日志 (我添加了-t详细标签来xargs扩展 grep 命令)

podman_log.log

桌面(请填写以下信息):

  • 您使用的是 podman、docker 还是 lilipod?:podman
  • podman、docker 或 lilipod 是哪个版本? :podman version 4.5.1
  • 哪个版本的发行版?:distrobox: 1.6.0.1
  • 哪个主机分布?:SteamOS 3.5
  • 你是如何安装distrobox的?: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"它逃脱了xargsdistrobox-export抛出了一个错误No file existed。因此,要解决此问题,您可以重命名快捷方式或将其全部删除。

我在 distrobox 上打开了一个问题我可能会为此添加适当的文件名处理,以便此错误不再发生。

相关内容