news 2026/8/24 15:54:51

Whisky:5分钟在macOS上运行Windows程序的免费终极方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Whisky:5分钟在macOS上运行Windows程序的免费终极方案

Whisky:5分钟在macOS上运行Windows程序的免费终极方案

【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky

你是不是也遇到过这种情况:同事发来一个 .exe,你往 Mac 上一拖,"无法打开"四个字直接弹脸;搜一圈解决方案,要么让你装一个占 20GB 磁盘的虚拟机,要么让你抄一堆看不懂的全屏命令。

Whisky 是一款免费开源的 macOS 工具,专门用来运行 Windows 程序。对办公族、设计师、游戏玩家来说,它把 Wine 的全部魔法包进了 SwiftUI 原生界面里,你不需要记任何命令行。

🎯 为什么它比虚拟机和命令行强

用过虚拟机的人都知道它有多重。Whisky 的思路完全不同:每个 Windows 程序都跑在独立的 Bottle(瓶子)里,而 Bottle 本质上就是一个完整的迷你 Windows 环境。

  • 按需分配资源:虚拟机开机就要占走固定内存和一块虚拟磁盘,Whisky 的 Bottle 只用你真正用到的资源,Mac 不需要为它常年让出 8GB 内存。
  • 原生交互体验:纯 SwiftUI 写的界面,深色/浅色模式、快捷键、右键菜单都是正经 macOS 应用的样子,不是套壳网页。
  • 隔离且可整体搬走:Bottle 之间互不干扰,环境坏了重建一个就行;而且它就是一个普通文件夹,备份、迁移到新机器都是拖一下的事。

项目横幅图:Whisky 构建在 CodeWeavers 的 CrossOver 22.1.1 和 Apple 的 Game Porting Toolkit 之上

🚀 从零到跑通:3步装好并启动第一个程序

前置条件一句话:Apple Silicon 芯片(M1/M2/M3 均可)+ macOS Sonoma 14.0 或更高版本,Intel 版 Mac 不支持。

第一步:安装 Whisky

brew install --cask whisky

想自己构建的话,克隆仓库再用 Xcode 15 打开工程编译即可:

git clone https://gitcode.com/gh_mirrors/wh/Whisky

第二步:创建第一个 Bottle

  1. 打开 Whisky,首次运行会自动下载并安装 Wine 运行时(WhiskyWine),耐心等进度条走完。
  2. 点"新建 Bottle",起个名字(比如"办公工具"),Windows 版本保持默认的Windows 10 64位,存储位置用默认目录,点创建。

第三步:装程序、跑起来

  1. 把 .exe 或安装程序直接拖进 Whisky 窗口,或者用界面上的"安装"菜单选文件。
  2. 装好后程序会出现在 Bottle 的程序列表里,点一下就能运行;右键选"创建快捷方式",还能把它钉到 Dock 上当原生应用用。

⚠️ 首次运行某个 Bottle 可能要等几分钟,它正在初始化环境,别以为卡死了。

📊 日常能帮你干什么:运行Windows程序的4个典型场景

办公场景

想象你周三下午收到公司邮件:内部系统又更新了,只有 Windows 版。

  • 运行企业内部的 Windows 专属管理工具、审批插件
  • 打开行业特定的财务、工程类小软件
  • 处理同事发来的只能在 Windows 里打开的文档格式
  • 旧版系统对接工具,Mac 版早就停止更新了

创意设计

想象你的交付节点就在明天,而那个只出过 Windows 版的渲染插件还没法替代。

  • 老版本 Photoshop / Illustrator 等创意软件
  • AutoCAD 等工程制图工具
  • 3ds Max 等 3D 建模软件
  • 只有 Windows 插件的渲染器、贴图工具

游戏娱乐

想象周末晚上,你想玩那款只在 Steam Windows 上卖的老游戏。

  • 大量 Windows 平台的独立游戏
  • 经典老游戏的怀旧局
  • 文明、全面战争一类的策略游戏(建议开启 DXVK,见下节)

开发测试

想象你负责一个跨平台项目,需要同时验证三个 Windows 版本下的行为。

  • 一个项目一个 Bottle,环境互不污染
  • 快速克隆出同配置的第二套环境做 A/B 对比
  • 给不同程序配独立的环境变量和启动参数

🔧 调优与避坑:性能怎么调、报错去哪查

性能维度(都在 Bottle 的设置面板里拨):

  • Windows 版本:现代程序用 Win10/Win11;老软件打不开就换 Win7 重建 Bottle
  • 高分屏显示:Retina 屏开启 Retina 模式,DPI 默认 96,字太小再调高
  • 游戏图形:开启 DXVK,把 DirectX 9/11 映射到 Metal;帧数不稳时把增强同步从关闭切到 esync 或 msync 试试
  • AVX 开关(macOS 15+):只有程序明确支持 AVX 指令时才打开,界面里带警告不是白带的

常见坑(按现象对号入座):

  • ⚠️中文乱码/方框:在 Bottle 的 Winetricks 面板里安装 cjkfonts 之类的中文字体包,重启 Bottle 生效
  • ⚠️游戏启动闪退:先确认 DXVK 已开启;不行就换个 Windows 版本重建 Bottle,而不是反复重装游戏
  • ⚠️项目现状要心里有数:官方 README 标注项目已不再积极维护,较新的软件/游戏可能逐渐失去兼容,关键生产力工具建议提前评估
  • ⚠️磁盘占用:每个 Bottle 都是完整环境,几个大型游戏就能吃掉几十 GB,放在 SSD 上并定期备份整个文件夹

🗂️ 代码长什么样:项目怎么组织

不看这段也不影响使用,这里只帮你建立"想改它去哪找"的地图:

  • Whisky/Views/ — 全部 SwiftUI 界面,按 Bottle、Programs、Settings 等模块拆分
  • WhiskyKit/Sources/WhiskyKit/Whisky/ — Bottle、Program、设置的核心数据模型与管理逻辑
  • WhiskyKit/Sources/WhiskyKit/Wine/ — 封装底层 Wine 命令的入口
  • WhiskyCmd/ — 命令行工具,界面能做的事它基本都能脚本化
  • Whisky/Utils/ — 程序快捷方式、Winetricks 等实用代码

🤝 生态与参与:欢迎来玩

  • 报 Bug / 提需求:直接在仓库里开 Issue,写清 Bottle 的 Windows 版本和现象就行
  • 改代码:fork 仓库、拉分支、提 PR;PR 必须过 SwiftLint 检查,UI 改动记得附截图,细节见 CONTRIBUTING.md
  • 不动代码也行:界面翻译走项目配套的 Crowdin 翻译平台,帮你把界面翻成更多语言

资源入口:README.md 写了系统要求和依赖,CONTRIBUTING.md 是贡献指南,仓库根目录的crowdin.yml配置了翻译流程。

深色版横幅:Whisky 与 CodeWeavers 的关系

说到底,Whisky 的卖点就一句话:不用虚拟机、不用敲命令,5 分钟让 Mac 运行 Windows 程序,而且每个环境都能一键重置、随手备份。它适合:

  • 偶尔要用一两个 Windows 办公工具的人
  • 想在 Mac 上补票老单机游戏的玩家
  • 需要多套 Windows 测试环境的开发者
  • 被某款只有 Windows 版的插件绑架的设计师

现在打开终端,敲下那行brew install --cask whisky,剩下的交给鼠标。

【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 15:54:30

wvp-GB28181-pro 部署实战:Docker 十分钟接入第一批 GB28181 摄像头

wvp-GB28181-pro 部署实战:Docker 十分钟接入第一批 GB28181 摄像头 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、…

作者头像 李华
网站建设 2026/8/24 15:53:50

聚焦双语翻译阅读体验 探索高效顺畅的双语内容阅读优化方向

科研党避坑指南|不囤工具只选对的,从入门到精通全靠这4款(含切问学术实操) 走过科研新手期的坑,才明白一个道理:好用的科研工具,从来不是越多越好,而是精准匹配需求、能真正解决问题…

作者头像 李华
网站建设 2026/8/24 15:50:17

Atmosphere 1.8.0 安装教程:3 步完成 19.0.0 系统固件适配

Atmosphere 1.8.0 安装教程:3 步完成 19.0.0 系统固件适配 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere Atmosphere 是目前 N…

作者头像 李华
网站建设 2026/8/24 15:46:10

SKILL.md 快速上手:5 步让 AI 代理学会你的工作流

SKILL.md 快速上手:5 步让 AI 代理学会你的工作流 【免费下载链接】agentskills Specification and documentation for Agent Skills 项目地址: https://gitcode.com/GitHub_Trending/ag/agentskills 当你得反复向 AI 代理解释同一套项目约定时,a…

作者头像 李华
网站建设 2026/8/24 15:44:08

油猴中文网

链接:https://pan.quark.cn/s/eddf99b5496c提供免费油猴脚本插件下载工具,让自己也能制作脚本,为小白提供相关知识信息,包括油猴插件工具开发等,让您感受全面的油猴信息

作者头像 李华
网站建设 2026/8/24 15:34:10

go语言如何取struct的全包名

在 Go 中,通过 reflect 包可以获取 struct 的完整限定名(Fully Qualified Name),即 完整导入路径.类型名。核心方法gopackage mainimport ("fmt""reflect" )// 假设这是你的 struct type User struct {Name s…

作者头像 李华