计算化学公社

 找回密码 Forget password
 注册 Register
Views: 798|回复 Reply: 3
打印 Print 上一主题 Last thread 下一主题 Next thread

[Multiwfn资源与经验] 在MacOS中运行Multiwfn:基于Orbstack的x86虚拟机方案

[复制链接 Copy URL]

60

帖子

3

威望

1736

eV
积分
1856

Level 5 (御坂)

本帖最后由 Puying 于 2025-4-15 23:09 编辑

最近有移动办公的需求,然而自己2020年的游戏笔记本已经垂垂老矣,最近m4的air价格很香,于是乎搞了一台。但是在macos上运行Multiwfn一直是一个老大难的问题,查询了一下,已经有不少的解决方案,其中包括:
1. 原生编译
在 Apple Silicon 芯片上原生编译 Multiwfn 3.8(dev) 的方法及踩坑记录。我跟着教程也编译成功了,但是没有图形界面。
2. 基于Crossover运行windows版本
最简单的(没有之一)在MacOS上运行Multiwfn的方法。这个方法安装确实简单,没有什么坑要踩。但是每次打开波函数文件都需要手动点路径,而且crossover的文字显示我感觉有点奇怪。如果图安装方便,这个确实是最好的方法了。
07Apr2025更:原作者更新了基于wine的运行方法,操作更便捷的同时规避了字体显示问题。
3. 拖一个庞大的windows或者linux虚拟机。比如有运行MS的需求,可以在parallel的windows里面顺便安装一个Multiwfn,并不是麻烦事。

我要介绍的这个方法安装起来略微有点麻烦。虽然安装麻烦一丢丢,但后续用起来会方便非常多,几乎无限接近原生Multiwfn的使用方法。这里分享出来供大家交流参考:借助orbstack和Xquartz运行linux版本的Multiwfn(需要linux是amd64架构)。

背景知识介绍:
1. 什么是orbstack?
orbstack可以简单理解为wsl和docker desktop的结合体,而且轻量化,打开速度极快,内存和存储动态可调,后台运行负载极低,可以运行amd64的虚拟机(翻译效率高)。orbstack和PD这种庞然大物完全不是一类东西,具体这里有知乎介绍B站视频介绍,有兴趣可以看一下。
关于orbstack最惊艳的一点是,它可以和macos的文件系统完全打通,就和wsl一样。打开macos自带的终端,运行命令“orb”,就可以直接进入虚拟机的终端,macos的文件可以直接访问,路径相同,没有任何的割裂感。与此同时,在mac的终端中直接可以运行linux的指令,反之也行得通。这使得在macos终端中直接运行Multiwfn成为一种非常自然的操作,从而获得原生的Multiwfn使用体验。
2. 为什么需要Xquartz?
由于orbstack本身不支持图形界面,需要借助第三方的Xquartz来显示。官方的回答如下:
“OrbStack does not currently support running graphical Linux apps by default, but you can set up XQuartz and use it as an X11 server in Linux. Xrdp is another option.”
如果只是对 no_GUI 的 Multiwfn 有需求,则可以不安装这个软件。

如何安装 Multiwfn 呢?
1. 安装orbstack,去官网下载安装即可。安装完成以后需要运行一个amd64的ubuntu虚拟机。虚拟机安装启动完成后,打开macos自带终端,运行命令“orb”进入ubuntu虚拟机终端。下载Multiwfn,解压至目标目录。运行如下命令安装依赖:
  1. # 图形化界面依赖
  2. sudo apt install libgl1
  3. # Multiwfn的运行依赖
  4. sudo apt install libxm4
  5. # 如有其他依赖或者软件没安装,比如unzip等,还请自行搜索解决办法。
复制代码
Multiwfn本身的环境变量还请自行添加,这里就不赘述了。

2. 安装Xquartz。去官网下载dmg文件安装即可,安装完成后,需要打开Xquartz,点击屏幕左上角的XQuartz的设置,进入X11偏好设置,点击“安全性”,勾选“允许从网络客户端连接”。勾选后重启

3. 重新打开一个macos的终端窗口
3.1 运行如下命令,这条命令允许访问 X server,这样才允许其他设备(例如 Orbstack 虚拟机)访问 X 显示服务。建议将本条命令添加到macos的.zshrc中。
  1. xhost + 127.0.0.1
复制代码
3.2 运行命令“orb”进入ubuntu终端,运行如下命令。建议把以下命令同时添加到虚拟机的.bashrc里面,长期生效。
  1. export DISPLAY=host.docker.internal:0
复制代码
这个设置告诉程序通过 TCP 连接 host.docker.internal:6000 来访问你 Mac 上的 XQuartz 显示服务器。

4. 然后就可以运行Multiwfn了。下次需要使用的时候,使用macos的终端打开文件所在目录,运行orb命令进入虚拟机终端,剩下的就和linux一模一样了。
相比于原生的linux,唯一多出来的操作就是执行一下orb命令,可以说是无限接近原生Multiwfn的使用方法。

5. 如果想在 mac 的终端里面直接运行 Multiwfn 命令,可以在macos 的.zshrc 中加入以下 alias,最后的路径就是虚拟机中Multiwfn 的绝对路径,请根据实际路径进行调整。
  1. alias Multiwfn="orb shell DISPLAY=host.docker.internal:0 OMP_STACKSIZE=1000M Multiwfnpath=/home/user/Multiwfn_3.8_dev_bin_Linux /home/user/Multiwfn_3.8_dev_bin_Linux/Multiwfn"
复制代码
其中"orb shell"命令是指把命令交给linux来运行,后面跟着的是一些环境变量以及Multiwfn的绝对路径。这样子就可以在 mac 的终端中直接运行 Multiwfn 了,和在 linux 中无差异。这也是在目前阶段我认为最完美的解决方案,没有之一,具体使用效果参照文章末尾的图片。

注:
1. 我是全部搞定安装以后才想要把这个过程分享出来,总结的过程中难免疏漏,大家安装遇到什么额外的问题,可以贴出来一起看一看。
2. 安装结束后,我就急急忙忙写这个帖子分享给大家了,并没有经过充分的测试,可能使用过程中会遇到其他问题。

有了amd64的orbstack虚拟机,有了图形界面,那么在不触及内核的基础上,完全可以把mac当成一台完整的linux机器来使用。至少从我的使用体验上看,有时候很难分清楚是在macos的本体终端里面,还是在ubuntu的虚拟机终端中,切换纵享丝滑。此外可以通过设置alias,实现在macos的终端中直接运行linux命令,实现无感操作。在此基础上可以做的事情就很多了,例如可以在虚拟机中安装最新版的vaspkit 等。
但需要指出的是,在orbstack虚拟机中涉及到 openGL 的图形显示还是有些问题,因此一些其他的建模可视化软件的运行并不尽人意。





Snipaste_2025-04-05_21-44-26.png (870.43 KB, 下载次数 Times of downloads: 68)

mac 终端直接运行 Multiwfn 输出图形界面

mac 终端直接运行 Multiwfn 输出图形界面

评分 Rate

参与人数
Participants 4
威望 +1 eV +11 收起 理由
Reason
wsmrt33 + 5 精品内容
wuy069 + 5 GJ!
guoguoping199 + 1 牛!
sobereva + 1

查看全部评分 View all ratings

206

帖子

1

威望

4096

eV
积分
4322

Level 6 (一方通行)

2#
发表于 Post on 2025-4-7 13:06:30 | 只看该作者 Only view this author
抱歉上次写文偷懒,没有介绍wine的安装方法。

1. 每次打开波函数文件都需要手动点路径
2. crossover的文字显示奇怪
3. 只需在终端中输入Multiwfn即可启动,无需任何其他命令
以上三点皆可通过Wine来解决,已经http://bbs.keinsci.com/thread-52197-1-1.html中更新了Wine的使用方法,欢迎讨论。

Ph.D. (Hiroshima Univ.), PostDoc @Kyoto University
E-mail: wang.zhe.dr@gmail.com
Homepage: wongzit.github.io

60

帖子

3

威望

1736

eV
积分
1856

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2025-4-7 13:34:19 | 只看该作者 Only view this author
本帖最后由 Puying 于 2025-4-7 13:35 编辑
wangzhe 发表于 2025-4-7 13:06
抱歉上次写文偷懒,没有介绍wine的安装方法。

1. 每次打开波函数文件都需要手动点路径

太强了!

81

帖子

7

威望

2326

eV
积分
2547

Level 5 (御坂)

4#
发表于 Post on 2025-4-30 11:19:17 | 只看该作者 Only view this author
几年前我已经用用 docker 实现了 http://bbs.keinsci.com/thread-29399-1-1.html
相比之下 docker 最近几年的吃相越来越难看了,orbstack 轻量无缝的感觉真的很好

评分 Rate

参与人数
Participants 1
eV +1 收起 理由
Reason
Puying + 1 赞!

查看全部评分 View all ratings

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-12 12:15 , Processed in 0.203096 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list