Skip to content

Latest commit

 

History

History
148 lines (112 loc) · 6.04 KB

multi_device.md

File metadata and controls

148 lines (112 loc) · 6.04 KB

多设备设置

这篇文章将会帮助你完成两台 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>