Oculus Quest 2 が SteamVR で認識されなかったのはイントラネット通信を不許可にしていたため

結論

標題の通りなのですが、Oculus Quest 2SteamVR に接続しようとしたところ、一向に認識してくれず、理由は Wi-Fi でイントラネット通信を不許可にしていたからでした。

以下はルータの表示画面です。

gyazo.com

背景

諸事情あって、Oculus Quest 2 の接続先のアクセスポイントを「ゲストアクセスポイント」にしていました。公衆Wi-Fi などで用いられる形態です。

この場合は当然にイントラネットへの接続を不許可にしますので、デフォルトの設定で利用していたところ、Oculus が認識されなかったということになります。

補足

Oculus うんぬんでなく、イントラへの接続が制限されたアクセスポイントにつなぐと、LAN内のやりとりは不可になりますよね。基本的なことでした。

Mac の Docker (Docker Desktop) が starting... が延々と続いて起動しないときの対処方法

前提条件

Version 2.4.0.0 (48506) で確認しました。

結論

ファクトリリセット(工場出荷状態に戻す、というやつです)を行います。

方法

1. Dockerのメニューのアイコンから Preferences を選択します。

クジラのアイコンをクリックして Preferences を選択します。

2. 右上の虫のアイコンをクリックする

Preferences 起動直後のウィンドウでは、左下の Docker という文字列の横に starting... が表示され、表示シグナルが黄色のままで延々と起動しない状態かと思います。そしてそのため、メニュー項目が出ません。

ファクトリリセットを行うためには、右上の「虫」のアイコンをクリックして Troubleshoot に遷移します。

f:id:gregminster:20201010143630p:plain

3. Reset to factory defaults のボタンをクリックする

メニューから Reset to factory defaults のボタンを選んでクリックします。

f:id:gregminster:20201010143723p:plain

4. 権限が再び求められるので、アカウント情報を入力する

入力します。

f:id:gregminster:20201010143758p:plain

5. Preferences メニューのトップの左下のシグナルが緑色になっていることを確認する

ファクトリリセットをした後の起動後、Preferences のウィンドウの左下のシグナルの色が「緑」になっていれば正常に起動しています。

f:id:gregminster:20201010143858p:plain

補足

ファクトリリセットを行いますので、これまで設定していた各種の内容もリセットされます。

Raspberry Pi では特定の Docker イメージ(コンテナ)は実行できない

結論

原因は、x86_64 でビルドされたから、です。実行時にたとえば以下のようなエラーメッセージが出ます。

standard_init_linux.go:211: exec user process caused "exec format error"

対応方法

以下の記事のとおりです。arm* でビルドし直します。

qiita.com

補足

ビルドし直すのはいろいろと手間がかかることでもあるので、可能ならば無料のUbuntuを一つ用意して(たとえば GCE や OCI などで)そちらで実行するのも手です。もちろん、それでまかなえる規模のものであるならば、ですが……。

Raspberry Pi の Ubuntu で OS 起動時に任意のスクリプトを自動実行する方法

結論

  • /etc/rc.local ファイルを作り、中にシェルスクリプトを書く
    • 最終行は exit 0 とする
  • /etc/rc.local に実行権限を与える

具体例

/etc/rc.local を次のように書いたとします。

#!/bin/sh

touch /tmp/hello_rc_local_world.txt

実行権限を与えます。

$ sudo chmod +x /etc/rc.local

OS を再起動します。

$ sudo shutdown -r now

OS 起動後に /tmp を覗いてみると hello_rc_local_world.txt が存在しているかと思います。

参考

systemd のファイルは以下の場所にあります。

/lib/systemd/system/rc-local.service

Google ドライブ ファイル ストリーム のアプリケーションディレクトリに作成される「lost_and_found」ディレクトリ

結論

  • 何らかの理由*1により転送に失敗したファイルの生ファイルが置かれる退避場所です
  • キューがさばききれないときに起きる可能性が大きい気がします*2

どうするか

  • lost_and_found ディレクトリ内のファイルをもう一度 Google ドライブ に同期しましょう

補足

  • lost_and_found は原則としてシステムドライブに作られますので、失敗が重なると OS の動作に影響を与える可能性がありますので、注意しましょう
  • このディレクトリへファイルが置かれないようにするためには、大量の(ファイル数・容量)ファイルを一気に Google ドライブ に転送しないようにします

参考

thinkerventures.com

*1:大きいファイルの転送中に途中で失敗した、一時保存場所(ドライブ)の容量不足、など

*2:そしてキューがさばききれないときには OS の処理が重くなるような気がします

Powered by はてなブログ