Wine 中的 Dos 程序

Wine 中的 Dos 程序

我知道 dosbox 尚未与 wine 集成,但每当我双击 DOS 程序(使用 wine)时,它都会打开 dosbox 并在下一刻关闭它。为什么会发生这种情况?
这是终端输出:

tachyonsos@tachyons-desktop:~$ wine '/home/tachyonsos/Desktop/TC.EXE' 
DOSBox version 0.74
Copyright 2002-2010 DOSBox Team, published under GNU GPL.
---
CONFIG:Loading primary settings from config file /home/tachyonsos/.wine/dosdevices/c:/users/tachyonsos/Temp/cfg1453.tmp
MIXER:Got different values from SDL: freq 44100, blocksize 512
ALSA:Can't subscribe to MIDI port (65:0) nor (17:0)
MIDI:Opened device:none

顺便问一下,这是一个错误吗?

链接问题

  1. 如何在 Wine 中运行 MS-DOS 应用程序?

答案1

置顶帖编辑
顺便说一句,我看到了您所说的双击问题。只需启动 dosbox 并运行,或者如果这不是您想要的行为,请确保您的二进制文件位于 .wine/drive_c 内。
结束编辑
您说运行时 dosbox 会抛出错误:
tachyonsos@tachyons-desktop:~$ wine '/home/tachyonsos/Desktop/TC.EXE'
更正您的声音设置。如果这不起作用,请将其放入~/.wine/drive_c.

在我的机器上,当我通过软件中心安装时,它将编译后的二进制文件放在 /usr/bin 中,如下所示:
在此处输入图片描述

配置文件位于 ~/.dosbox 中。维基百科告诉我们如何配置文件并确定我们的 midi 参数。要获取我们需要的那些实用程序sudo apt-get install pmidi

然后我们可以看到类似这样的内容:
在此处输入图片描述

因此gedit ~/.dosbox/dosbox-0.74.conf我们可以这样做:

midiconfig=

看起来像这样:

midiconfig=14:0

这给了我们这个:
在此处输入图片描述

接下来,我在下一行的末尾添加了以下内容MOUNT lines here

mount C: /home/username/dosboxc  

现在,当我双击一个 exe 时,它​​会尝试在 dosbox 中加载,因为我最后安装了它。

现在我为想要用 wine 启动的 EXE 制作启动器,以包含 wine 命令和 URL。

您不需要使用快捷方式启动 Dosbox 中的程序。您可以加载 dosbox 并运行它们。至少我就是这样做的,而且对我来说很管用。

我绝对没有在这里看到任何错误。

哦,最后,既然我已经安装了它:
在此处输入图片描述
我需要测试声音是否正常工作。

答案2

是的,如果直接运行 dosbox,它就可以正常工作,但 Wine 集成存在问题。我认为人们没有理解你的问题。

Wine 应该能够查看 Windows 可执行文件,如果确定它需要 16 位 DOS 代码,则将其交给 DOSBox。

输出 winevdm:无法启动 DOS 应用程序 C:\TC.EXE,因为 DOS 内存范围不可用。尝试使用 DOSBox 运行此应用程序。– Tachyons 2012 年 4 月 25 日 17:44 确保已安装 DOSBox,并且“echo $PATH”包含 DOSBox 二进制文件的目录。

我自己得到了 wine C:/DOS_Games/convert.exe DOSBox 版本 0.74 版权所有 2002-2010 DOSBox 团队,根据 GNU GPL 发布。--- CONFIG:从配置文件 /Users/jeremiah/.wine/dosdevices/c:/users/jeremiah/Temp/cfg208.tmp 加载主要设置 MIDI:打开设备:coreaudio

这表明 Wine 使用了错误的配置文件。不幸的是,Wine 每次调用 DOSBox 时都会生成此文件,因此修复此问题需要向 Wine 的 Bugzilla 提交补丁或报告。

也许有额外的配置设置可以纠正生成的配置?

答案3

不,这不是一个错误,您无法使用 Wine 在 Ubuntu 中运行 DOS 程序,因为它仅支持 Windows 或 DOS。

相关内容