Ubuntu 上线虫模拟程序 OpenWorm 的安装、运行及源码查看

安装 VMWare 虚拟机及 Ubuntu 系统

VMWare

此处 下载 VMWare Workstation Pro。可参照 B站up主 Micro_Frank 的视频教程 并安装。对于 Windows 系统,建议不要装在 C 盘。

Ubuntu

此处 下载 Ubuntu 桌面版,例如 Ubuntu 24.04.2 LTS 。你将得到一个 .iso 镜像文件,同样建议不要放于 C 盘。

请注意, OpenWorm 要求您的机器(或虚拟机)至少有 60 GB 的可用空间和至少 2GB 的 RAM 。建议在新建虚拟机时选择 100 GB 及以上的硬盘大小和 4096 MB 以上的内存。

可参照 B站up主 嘿黑哥 的视频教程 ,在 VMWare 上安装 Ubuntu 虚拟机。安装时选择“交互安装”,并建议选择附带安装额外的格式支持服务。

在 Ubuntu 上安装 Docker Engine

注意: Docker Destop(桌面版)与 Docekr Engine (引擎)不同,前者包含后者,前者在后者的基础上增加了桌面化窗口。二者不能同时安装及运行!否则会发生冲突。以下介绍后者的安装过程。

注意:许多错误可能都是由于权限不足所致。

  1. 短暂获取 root 权限:在命令前加上 sudo
  2. 直接以 root 身份运行终端: sudo su

参照 此处 (来自 Docker 官网,需要使用魔法),使用 apt 方法安装 Docker Engine。

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker Hub 已经被神秘的墙屏蔽(安装后进行 HelloWorld 测试发现无法连接即可能由于此原因,但此测试不通过貌似无影响),导致镜像无法获取,因此需要配置国内镜像源。

目前,国内已知的常规镜像源均已被屏蔽,请使用第三方镜像源,参见 此处

(注意:进行以下步骤前请先获取超级用户权限,即使用sudo su

  1. 创建目录:sudo mkdir -p /etc/docker
  2. 创建 "daemon.json" 文件并写入(参照以下格式):
sudo tee /etc/docker/daemon.json <<-'EOF'
{
   "registry-mirrors": [
   	"https://可用镜像源1",
   "https://可用镜像源2",
   "https://可用镜像源3"
   ]
}
EOF

注意测试 Docker 是否正常工作:sudo systemctl status docker,需要保证其状态为 active 。

(test)在 Windows 上安装 Docker Desktop

在 Docker Desktop 的 Settings 页面修改 Docker Engine:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://可用镜像源1",
    "https://可用镜像源2",
    "https://可用镜像源3"
  ]
}

之后进行了蜜汁操作(也许是梯子开了全局,也许是等了一会然后 restart 了一下 Docker 引擎),总之就可以成功地拉取镜像了(无需梯子)。(在 Docker Desktop 查询并加载镜像信息需要梯子甚至可能要开全局,但由于加上了几条可用镜像源,在命令行窗口下载镜像时却不用梯子。)

注意:每次结束后再直接运行是没用的(否则会继续运行之前未完成的任务或不运行),要先./stop.sh后才能再次 run 。( stop 之后 output 中的数据会保留)

获取 OpenWorm

参照 OpenWorm 的官方介绍

安装 Git

命令:sudo apt install git

获取 OpenWorm 终端

命令:git clone http://github.com/openworm/openworm

运行或编译运行 OpenWorm

参照 YumNope 的知乎文章 。YumNope 的知乎文章

首先在终端 cd 到 OpenWorm 的目录下: cd openworm

运行 OpenWorm 终端:./run.sh。或者可以指定模拟时间:./run.sh -d [time],将 [time] 替换为时间(单位:毫秒)即可。终端会下载约 3GB 的镜像文件,下载完成后直接进行模拟。

  • 表 1 运行时间参考
配置 模拟时间 运行时间 运行速度
个人电脑 ( 轻薄本,集显 ) 4ms 1min 0.004spm
实验室 ( 4 张 4090 ) 300s 1440min 0.208spm

你也可以选择先手动编译:./build.sh,如果跳过这一步直接 run 的话,它也会直接获取已经编译好的最新镜像,没有太大区别。(可能时间较长

运行结束后,你会发现 openworm 目录里的 output 文件夹下多了一个文件夹,即此次模拟的成果。

参照 YumNope 的文章,每次输出结果包含以下内容:

  • 一个原始视频
  • 一个前缀为 cut_ 剪去开头黑场的视频
  • 一个前缀为 speeded_ 以正常速度播放的视频
  • 一些(96个)肌肉的活动图,钙离子浓度、活动性之类
  • 名为 report 的文件(存放模拟的一些信息)

源码查看

  1. 运行:./run-shell-only.sh

  2. 加载完成后,另开一个终端,输入:docker ps,记住 CONTAINER 的前 4 位。

  3. 新建一个目录准备存放源码,在终端中 cd 到该目录,输入:docker cp xxxx:/home/ow ow,其中 xxxx 为上述 CONTAINER 的前 4 位值。

以上 3 个步骤完成后,源码已经存放到你设置的目录中。

附录

与虚拟机的文件夹共享

以 Windows 上通过 VMWare 安装的 Ubuntu 虚拟机为例。

  1. 右键 VMWare 左侧你的主机名称,选择“设置”。
  2. 打开“选项”界面,选中“共享文件夹”,改为“总是启用”。
  3. 在 Windows 上新建一个文件夹作为预备的共享文件夹。
  4. 选择“添加”共享文件夹,选中刚刚新建的文件夹,输入文件夹名。
  5. 完成向导,设置完成,注意不要选择只读。

此后, Windows 上该文件夹的内容会同步出现在 Ubuntu 上 \mnt\hgfs\ 的对应文件夹中, Ubuntu 上对应文件夹的内容也会同步出现在 Windows 上,即实现了和虚拟机之间的文件夹共享。

posted on 2025-03-18 16:17  汐寻  阅读(138)  评论(0)    收藏  举报