为什么在 Wine 下使用 eMule 下载时会失败,并显示“磁盘空间不足”,即使有?

为什么在 Wine 下使用 eMule 下载时会失败,并显示“磁盘空间不足”,即使有?

我在 Wine 下使用 eMule 0.70a,在基于 Debian 的 Docker 容器上。一些下载结束后,下载栏会变成绿色和黑色条纹,状态显示“磁盘空间不足”,下载的文件不会移动到“传入”文件夹,或者为该下载选择了类别的目标文件夹。

此外,日志(在服务器选项卡中)将显示“移动时出现文件系统错误下载的文件名“。我非常肯定目标位置有磁盘空间。我该如何解决呢?

答案1

Wine 上的 eMule 需要 UTF-8 设置语言环境才能使下载后移动文件正常工作。否则,就会出现此问题。为了确认这是您的问题,您会注意到,当下载的文件名仅包含 ASCII 字符时,不会发生此问题。

您还可以通过发出以下命令来确认您没有设置 UTF-8 语言环境locale。在 Docker 中,对于基于 Debian 的镜像,它返回POSIX对于大多数 LC_ 项,当它未设置时,将无法使用 UTF-8。解决方法是全局设置 UTF-8,或在 eMule 启动时设置。要生成语言环境(例如 en_US),请在创建图像时或在入口点运行此命令:

echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen && \
echo "LANG=en_US.UTF-8" > /etc/default/locale

然后在创建图像时使用以下命令全局设置语言环境:

ENV LC_ALL="en_US.UTF-8"

或者在 eMule 启动时使用:

LC_ALL=en_US.UTF-8 wine ~/.wine/drive_c/Program\ Files/eMule/emule.exe

此问题不太可能发生在桌面安装中,因为桌面安装可能已经具有正确设置的区域设置。在桌面安装中,更简单的解决方案是运行dpkg-reconfigure locales

相关内容