かた湯の絵本

好奇心の赴くままに

VRxML並行開発のための環境移行でやったこと

VRChatにinしつつ、機械学習タスクをlocalでぶん回したい!新PCを買ったので環境構築するのです!

環境

Machine1(Old):

Machine2(New):

移行後

Machine1のWindowsは廃止。Machine1へはMachine2からSSH, VSCodeを使って接続。Machine1で動かすDockerにも簡単に入って作業できるようにするのです! Deepなどの作業はUbuntuもしくはそれ上のDockerでGTX1080x2を使って回し、RTX3070はUnityとVRChat用にします。

手順

Windows 20XHへのアップデート

Windows Update経由ではなく、公式ホームページからツールをダウンロード。

Steam 関連のインストール

(ストリーミングという機能があったらしい。今回は使わないけど。)

  • Steam vr (7.2GBあった!!)

  • VRCもインストール

  • OVR advanced setting のインストール

  • 東方三月精の確認(データは同期していたのでセーブデータコピー必要なし)をしました。まあ、steamのゲームがどれくらい同期されているかの確認です。

HMD 関連の設定

  • 以下でvive port デスクトップアプリをダウンロード(サインインアカウントを忘れ去っていたのです)。とりあえず立位でVR設定。 vive.com

  • Viveの起動チェック。Bluetooth更新はハマるのが怖いので後まわしに。

  • VRC の起動チェックをしました。 大した問題のない、もろもろの設定が初期化されていたのですが、気になったのがdefault 音量が以下のようだったことです!これはワールド作成時に気を付けたほうがいいかもしれませんね。(日頃全部100に揃えていて、それが初期設定だと思い込んでいました。)

    • world 70
    • voices 60
    • avators 60
  • ここで VRCのショートカットを作る。 これで簡単にデスクトップ起動できます:

C:\Program Files (x86)\Steam\steamapps\common\VRChat\VRChat.exe" --no-vr --enable-debug-gui --enable-sdk-log-levels
  • OVR advanced setting をメニュー画面から有効に!  binding の設定がうまくいかず、動かないので後回し(基本はこれをやりたいはず: note.com

その他

  • VSCode, discord, unityhub , unity 2018.4.20 , blender (2.83 LTS), github desktop, vmagic mirror (1.6.1.)などのインストール.

  • カメラ、マイクの移行

  • OBS studio 2.6.1をインストール。 なんど仮想カメラがデフォルト機能になっていました! github.com

Network設定

  • ファイル移動時の共有設定について: Windows間でパスワードなし共有にするとアクセスできなくなるの、注意でした。若干はまってしまったのです。

  • Ubuntu 側にssh server用の設定。 これでwindows側からsshできる。(cmdからip直打ちで)

sudo apt install openssh-server
  • SSH接続テスト。 このとき、以前windows側のユーザー名を変更したのに、フォルダ名が変わっていないことに気づき、新しいアカウントを作り直しました。ほとんどのアプリは共有していたので動いたのですが、viveportがうまく動作しない(steamでサインインできない)ことが分かり、steam, steamvr, vive, vrchat関連をすべてuninstall, もとのwindows ユーザーを消してやり直すとインストールできたのです・・・このメモを書いていたことが早速役にたったのです。 そのほかをすべて設定しなおすことに・・・まだ大したことないの!

  • ssh 設定。 RSA認証にするため、まずはルーターDHCP設定でUbuntuのipを手動割り当てに変更。ついでにクライアントWindowsもだいたいつけっぱなので、こちらも固定。あとはいつもの設定をやります:

ssh-keygen -t rsa -b 4096
SET REMOTEHOST=username@ipaddress
scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
ssh -i %USERPROFILE%\.ssh\id_rsa %REMOTEHOST%
  • つぎにVSCodeの設定。
    ExtensionにRemote Developmentをインストール。 Remote SSH: Add New SSH Host でさっきの登録を保存。今回はusername以下のconfigを使いました。Hostnameは好きにつけていい。そのあとRemote SSH: Current Window to Hostで接続できるか確認。

  • Ubuntu内のDockerにVScodeから入って作業できるよう設定します。 Docker DesktopをWindowsにinstall。 Dockerはlocalには不要です。VSCode ExtensionにDockerをinstall。その設定でdocker.hostにさっきのUbuntuホストを登録。 さらに、VSCodeSSHではなく、cmd(管理者権限)からssh-agentを有効化。

sc config ssh-agent start=auto 
net start ssh-agent

これでさっきの設定を読み込んで、cmdからssh接続できるはず。ここでUbuntuでDocker imageを走らせておきます。

docker run -it   image-name

するとWindowsVSCodeでRemote-Containers: Attach(略)というコマンドが機能して、Dockerに入ることができるはずです。 code.visualstudio.com