当我调用mimeopen --debug prg.exe
它时会打印:
Opening "prg.exe" with A Wine application (application/x-ms-dos-executable)
wine: invalid directory "/home/myusername/0_home_extension/temp/x" in WINEPREFIX: not an absolute path
但我肯定没有设置 WINEPREFIX 环境变量。那么这个/home/myusername/0_home_extension/temp/x
值从哪里来的呢?
答案1
WINEPREFIX 可以是环境变量,但也可以不存在,因为它有一个默认值。
《葡萄酒使用者指南》称 这:
指定要使用的配置目录的位置。指定时请使用完整的 unix 样式路径。默认的 wineprefix 是 $HOME/.wine。
因此,如果未定义 WINEPREFIX,则意味着$HOME/.wine
。
但是,在您的情况下,其值很可能是由 添加的mimeopen
。程序可以启动子程序并定义要使用的环境变量。在大多数情况下,程序只是让子程序继承自己的环境变量,但有些程序会添加一些变量。
有可能是因为您没有指定 WINEPREFIX,所以 mimeopen 创建了自己的内部变量,但未能很好地完成任务。也有可能这只是 mimeopen 的一个 bug。