我是 Linux 新手,正在运行 64 位 Ubuntu 14.04。我试图在 Wine 上安装一款名为 Osu! 的游戏。我在 64 位 Wine 版本 1.7.3 中设置了前缀。当我运行游戏的 .exe 文件时,出现一条错误,提示:error extracting setup_1.cab.The file is not a cabinet.
答案1
Ubuntu 16.04-18.04
如果你的计算机是 64 位,请添加 32 位架构:
sudo dpkg --add-architecture i386
添加 Wine Staging 存储库:
wget -nc https://dl.winehq.org/wine-builds/Release.key sudo apt-key add Release.key sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
或者在 Ubuntu 17.10 和 18.04 中你可以跳过步骤 2-4 并直接输入:
sudo apt install wine-stable
更新可用软件列表。
sudo apt update
安装 winehq-stable。
sudo apt install --install-recommends winehq-stable
创建一个新的 Wine 前缀(如果您不想使用默认前缀)。
env WINEPREFIX=$HOME/.wineosu wineboot --init
如果 Wine 提示安装 Mono,请点击取消。
确保未安装 Mono(32 位前缀使用“wine”,64 位前缀使用“wine64”):
env WINEPREFIX=$HOME/.wineosu wine uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}' env WINEPREFIX=$HOME/.wineosu wine64 uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}'
将报告的版本设置为 Windows XP(它将确保 .NET 4.0 的安装程序复制一些所需的文件,如 mscoree.dll)。
env WINEPREFIX=$HOME/.wineosu winecfg
在 winecfg 对话框中,将报告的 Windows 版本更改为 Windows XP,然后单击好的。
下载并安装 .NET Framework 4.0(如果之前未安装此版本,则更高版本的 .NET 将无法在 Wine 上运行):
wget https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe env WINEPREFIX=$HOME/.wineosu wine dotNetFx40_Full_x86_x64.exe /q env WINEPREFIX=$HOME/.wineosu wineboot --restart
将报告的版本设置为 Windows Vista,并添加 mscoree.dll 覆盖。
env WINEPREFIX=$HOME/.wineosu winecfg
将报告的 Windows 版本更改为 Windows Vista(因为 .NET 4.5 及更高版本无法安装在 Windows XP/2003 上,并且如果报告的版本设置为 Windows 7 或更高版本,osu!将无法启动)。
去图书馆选项卡。添加对 mscoree 的覆盖并将其设置为“Native”。单击关闭所有对话框好的。
下载并安装 .NET Framework 4.6.1(osu!Stable 需要 .NET 4.5 或更高版本才能运行,而 Lazer 需要 .NET 4.6.1 或更高版本):
wget https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe env WINEPREFIX=$HOME/.wineosu wine NDP461-KB3102436-x86-x64-AllOS-ENU.exe /q env WINEPREFIX=$HOME/.wineosu wineboot --restart
确保在安装程序路径后附加“/q”参数以执行静默安装,因为 .NET 4.6.1 的 GUI 安装在 Wine 上仍然不起作用(没有更多解决方法)。
下载并安装 osu!:
稳定版本: (安装稳定版后,必须在 osu! 的选项菜单中选择 Beta 和 Cutting edge):
wget http://m1.ppy.sh/r/osu!install.exe env WINEPREFIX=$HOME/.wineosu wine 'osu!install.exe'
强烈建议将安装路径更改为,
C:\osu!
以便您以后可以轻松找到 osu! 文件。然后您将在 上找到它们$HOME/.wineosu/drive_c/osu!
。请确保路径仅使用 ASCII 字符以避免安装问题。激光版本:
无法使用默认安装程序安装 osu!lazer,因为它需要非管理员权限。请从以下位置下载“osulazer-full.nupkg”文件https://github.com/ppy/osu/releases并将其解压到你的 wine drive_c 中。
Ubuntu 12.04-14.04
在 Ubuntu (12.04 至 14.04 + 变体) (x86_64) 上玩 osu! 的详细说明
添加官方 Wine PPA。从终端运行以下命令:
sudo add-apt-repository ppa:ubuntu-wine/ppa
更新软件源。
sudo apt-get update
安装 Wine。
sudo apt-get install wine1.7
- 接受字体包的许可证。(当然,先阅读一下。您可能需要单击终端窗口并使用 Tab 和箭头键进行导航。)
创建 Wine 前缀文件夹。
mkdir 'Wine Prefixes'
- 确保您的终端位于您的主目录。(您可以使用命令将目录更改为您的主目录
cd ~
)
- 确保您的终端位于您的主目录。(您可以使用命令将目录更改为您的主目录
创建 osu! Wine 前缀并使其成为 32 位前缀。
WINEPREFIX='/home/USERNAME/Wine Prefixes/osu!' WINEARCH=win32 winecfg
将 USERNAME 替换为您的 Linux 用户名。(您必须按照本说明的其余部分执行此操作。)
之后请随意关闭配置窗口。
安装 .NET Framework 2.0 Service Pack 1。
WINEPREFIX='/home/USERNAME/Wine Prefixes/osu!' winetricks dotnet20sp1
下载 osume.exe。
wget http://osu.ppy.sh/release/osume.exe
在 Wine 前缀的 Program Files 文件夹中创建一个 osu! 文件夹,并将 osume.exe 移动到该文件夹中。
mkdir '/home/USERNAME/Wine Prefixes/osu!/drive_c/Program Files/osu!' && mv osume.exe
- 您可以手动创建文件夹并使用 GUI 移动 osume.exe。
启动 osume.exe
WINEPREFIX='/home/USERNAME/Wine Prefixes/osu!' wine '/home/USERNAME/Wine Prefixes/osu!/drive_c/Program Files/osu!/osume.exe'
等待 osu!更新以完全下载 osu!
- 如果您在某处有节拍图和/或皮肤库备份,现在是恢复它的好时机。
开始 osu!
进行您想要的任何初始游戏设置。
包括登录、设置分辨率、更改键绑定等。
如果你看不到登录窗口(它出现在 osu! 后面),请通过 cfg 将 osu! 设置为较小的窗口分辨率
如果设置全屏分辨率导致 osu! 崩溃,并且你无法关闭它,请参阅补充笔记。
退出 osu!
从现在开始,要运行 osu!,你唯一需要做的就是运行 osu!.exe 二进制文件(双击它或使用终端中的 wine 命令)。如果需要,你必须创建 osu! 的快捷方式。最简单的方法是通过 GUI 文件浏览器转到文件夹,右键单击 osu!.exe 并创建链接,然后将链接放在桌面上。