[Omniverse] Nucleusを使ってWindowsとUbuntu間でファイル共有

  • by

Windows10とUbuntu 20.04間で、Omniverse Nucleusを使って相互にやりとりします。
なお、この場合は同じLAN上でPCが接続されている必要があります。

一応、Windows-Ubuntu間でファイル共有を先に行いましたが、Nucleusだけで共有したい場合はこれは不要かもしれません。
ですが、OSのファイル共有は普通に使うと思いますので、これは先に設定しておいた方がよいかと思います。
あと、Ubuntu上のIPアドレスに対する名前解決(/etc/hostsに列挙)はどちみち必要になりそうです。

ホストにするNucleusの設定

ホストとして機能させるNucleusを決めます。
Windows側/Ubuntu側のどちらでもよいです。

なお、PCにOmniverse LauncherからNucleusだけをインストールする場合、RTXのGPUは不要です。
NucleusはGPUに依存しないサーバサービスになります。
そのため、Nucleusだけ別PCにファイルサーバ的に用意しておくというのも手です。
個人版(Individual)のOmniverseは自分含めて1台(合計2台)の接続を許しているので、
これはライセンスの範囲内の構成になります。

Nucleusの共有を有効にする

はじめにNucleusの共有を有効にします。
Omniverse Launcherを開き、Nucleusを選択。
「Settings」を選択します。

Webブラウザが起動します。
「Apps」を選択し、左上の「Enable sharing」ボタンを押します。

これで、このNucleusは他のOmniverseアプリまたはWebブラウザから接続できる設定になりました。

ユーザの追加

「Connections」を選択し、ここで接続するユーザを追加します。
「Add」ボタンを押します。

なお、ここでデフォルトで表示されているユーザ名は
Nucleusをインストールしたときの管理者のユーザ名です。

次に、サーバ名を指定するUIが表示されます。
Nucleusを起動しているサーバ名(ホスト名)を指定し「Next」ボタンを押します。

一番下の「Create Account」を選択します。

ユーザ名とパスワード、確認のため同一のパスワード、名前、苗字、メールアドレスを入力してCreateボタンを押します。

これで、このNucleusには「指定のサーバ指定のユーザ」が追加されているのを「Connections」で確認できます。

別のPCからNucleusへ接続

Nucleusへの接続の確認は、ローカルのOmniverse環境からでもいいですし、
同一LAN上の別PCからでもいいです。
ここではOmniverse Createを起動し、「Content」ウィンドウから外部のNucleusにつなぐことにします。
「Add New Connection」を選択すると、接続先のサーバ名を聞いています。
ここで先ほど入力したNucleusのサーバ名を指定します。
Omniverse環境では「omniverse://サーバ名」で接続できることになります。
「Optional Name」は空白でいいです。

「OK」ボタンを押すと、Webブラウザが起動します。

指定のサーバ(Nucleus)に対して、ユーザ名/パスワードを指定してログインします。

しばらくすると、Webブラウザでログインが成功したというメッセージが表示されます。

接続直後はOmniverse Create側でフォルダ内が更新されていないため、
「Omniverse」下の追加されたサーバ名を選択。右クリックしてポップアップメニューを表示。
「Refresh」を選択します。

これで同一LAN上のNucleusにアクセスできるようになりました。

Nucleusへの接続に失敗した場合

Webブラウザでの接続に失敗した場合は、以下のような表示になります。

"Cannot connect to the authentication service."と表示されました。

Nucleusへの接続に失敗する場合は、サーバ名/ユーザ名/パスワードが正しいかをまず確認するようにします。
これらは、Nucleusのインストール時に指定した管理者としてのユーザ名/パスワード、
もしくは、WebブラウザのConnections(localhost:3080/connections)で登録したユーザ名/パスワードを指定します。

"Omniverse System Monitor"を一度終了させて再度起動。
このあと、Webブラウザで「localhost:3080」 にアクセスしてOmniverseの画面が出るのを確認します。

Omniverse Create(Omniverseアプリ側)を再起動。

などしているとうまくいきました。
ただ、Local Nucleus Service 2021.3.2で確認していたのですが
たまに接続失敗し、
何回か再接続(RETRY)を繰り返すとうまくいく場合もありました。

Webブラウザで各Nucleus上のファイルを見る

WebブラウザからNucleus上のファイルを見る、もしくは編集することができます。
以下のように指定すると、そのサーバのNucleusのユーザ名とパスワードを聞いてきます。

http://localhost:8080/omniverse://サーバ名/


ログインに成功すると、Webブラウザ上で各Nucleusのファイルを一覧できます。
また、ファイルの削除/複製などもWebブラウザ上で操作できます。

それぞれのNucleus上のファイルは、「どのユーザが作成/編集した」という情報も記録されています。
管理ユーザ(Nucleusをインストールしたときに作成したユーザ)はすべてのユーザの作成したファイルのアクセス権限はありますが、
Connectionsで新たに追加したユーザは自身が作成したファイル以外は削除できない、など権限が異なるようでした。
また、簡易的な編集履歴もNucleus上のファイルは保持されています。
このあたりは自分はまだ深い知識は持ってないため、もう少し理解が進んでからまとめようと思います。

今回はここまでです。
Nucleusを使って、Windows-Ubuntuのファイル共有を行うことができるのを確認しました。