这篇文章将会帮助你完成两台 Fuchsia 设备通过 Ledger 设置和同步 story 状态。
设置
设备
按照目录顶级文档的操作步骤:
- 拉取资源,构建 Fuchsia。
- 在两台设备或者模拟器中安装 Fuchsia。
- 将两台设备都连接上网络。
[谷歌人员专用] 专用测试网络设置
遵循网络引导说明。
识别测试机
每个 Fuchsia 设备都会根据 MAC 地址生成独一无二的节点名,格式为 power-nerd-saved-santa
。你可以使用 netls
命令列举出网络中的节点。
> netls
device glad-bats-hunk-lady (fe80::f64d:30ff:fe68:2620/6)
device blurt-chip-sugar-wish (fe80::8eae:4cff:feee:4f40/6)
在测试机器上运行命令
netruncmd <nodename> <command>
命令可以用来在远程设备上运行命令,命令输出是不会显示的。如果你需要查看输出,需要使用 loglistener [<nodename>]
命令。
Ledger 设置
Ledger 是一个针对 Fuchsia 的分布式存储系统。Stories 可以使用 Ledger 在多个设备间同步状态。按照 Ledger 的用户指南:
- 设置硬盘格式。(可选)
- 确认网络连接无误。
- 配置 Firebase 实例。
- 使用
configure_ledger
在每个设备上设置同步。
运行 Story
虚拟控制台
这些系统通过三个虚拟控制台启动。Alt+F1 到 Alt+F3 可以用来切换三个虚拟控制台。
清除数据
Ledger 的格式和数据格式一样, story 同步也在快速开发中,目前还没有实现向前或向后的兼容。因此最好每次升级 Fuchsia 时,使用 cloud_sync clean
清除远程设备和本地设备的数据。
$ netruncmd <nodename> cloud_sync clean
在一台设备上启动一个 Story
使用 basemgr
在设备上启动一个 story
$ netruncmd <first-node-name> "basemgr --session_shell=dev_session_shell \
--session_shell_args=--root_module=example_todo_story"
使用 loglistener <first-node-name>
查看 story 的 ID:
... DevSessionShell Starting story with id: IM7U9hBcCt
在第二台设备上打开同一个 Story
story 可以通过 system UI 或者指定的 story ID 启动。
System UI 又叫 Session Shell 还称作 Armadillo
使用 basemgr
启动 system UI:
$ netruncmd <second-node-name> "basemgr"
一旦 system UI 启动,您应该能够在上面步骤中看到已经启动的 story。点击打开它。
通过 Story ID 启动
在 shell 中 使用上边提到的 story ID 来启动一个 story:
$ netruncmd <second-node-name> "basemgr \
--session_shell=dev_session_shell \
--session_shell_args=--story_id=<story_id>
本文翻译者:SepBreUp ,校稿者:bootingman,发布者:N0B8D1
GitHub 链接: multi_device
Comments