ネームサーバー、マスターマネージャにIIOP以外でアクセスできるようにする手順¶
動作確認環境¶
- Ubuntu24.04デスクトップPCのホスト環境(hostname: zku2404)・・・VM環境ではないということ
- ソースビルドで作成したdebパッケージをインストールしている
- ソースは、最新masterソース(017dbb2)へ下記2つのPRをマージして使用
https://github.com/OpenRTM/OpenRTM-aist/pull/999
https://github.com/OpenRTM/OpenRTM-aist/pull/1003- この2つをマージするとManager.cppでコンフリクトが発生するので、PR1003の修正を優先させる
- ソースビルド時は、OpenRTM-aist/scripts/ubuntu_2404/Dockerfile.package を使用
- ビルドスクリプトは、下記を使用
https://github.com/n-kawauchi/RTM-src-pkgs-docker-build/blob/master/ubuntu_2404/build-cxx.sh- 実行時、RTM-src-pkgs-docker-build/blob/master/ubuntu_2404/下にマージした OpenRTM-aist を手動で配置
- build-cxx.shの下記★の2行をコメントアウトして、ソースをcloneしないようにして実行する
#----- OpenRTM-aist echo "${password}" | sudo -S rm -rf ${TARGET}-* #rm -rf OpenRTM-aist ・・・★コメントアウト #git clone https://github.com/OpenRTM/OpenRTM-aist ・・・★コメントアウト VERSION=`dpkg-parsechangelog --file OpenRTM-aist/packages/deb/debian/changelog --show-field Version | cut -b 1-5` - ビルドが終了すると、カレントディレクトリの cxx-deb-pkgs下に生成されたdebパッケージが入っている
- cxx-deb-pkgsディレクトリをインストールする環境へコピーし、下記手順でインストールする
$ sudo dpkg -i openrtm2-idl_2.1.0-0_amd64.deb\ openrtm2-dev_2.1.0-0_amd64.deb\ openrtm2_2.1.0-0_amd64.deb\ openrtm2-naming_2.1.0-0_amd64.deb\ openrtm2-example_2.1.0-0_amd64.deb
C++¶
HTTP¶
結果OK ・・・2025/08/20確認
- ターミナル1・・・ネームサーバ起動
- 自動起動しているomniNamesを停止させてからopenrtmNamesを起動する
$ systemctl status omniorb-nameserver.service $ sudo systemctl stop omniorb-nameserver.service $ export ORBtraceLevel=40 $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.http.conf > openrtmNames-http.log 2>&1
- ログは右記ページ参照 ・・・ openrtmNames-http.log
- /usr/etc/rtc.names.http.confの内容
corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http://localhost:2809/call
- 自動起動しているomniNamesを停止させてからopenrtmNamesを起動する
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
- ログを取りたいのでHOME下に /usr/share/openrtm-2.1/components/c++/examples をコピーして利用する
$ mkdir test0820 $ cd test0820/ $ cp -r /usr/share/openrtm-2.1/components/c++/examples/* . $ ./ConsoleOutComp -f /usr/etc/http/rtc.http.conf
- RTCのログは右記ページ参照 ・・・ rtc_http.log
- /usr/etc/http/rtc.http.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout naming.formats: %h.host_cxt/%n.rtc manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http manager.preload.modules: HTTPTransport.so corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http:///call corba.nameservers: http://localhost:2809/call corba.master_manager: giop:http:http://localhost:2810/call
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=http://localhost:2809/call export ORBserverTransportRule="* http" export ORBclientTransportRule="* http" export ORBendPoint=giop:http:http:///call export ORBtraceLevel=40
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /http://localhost:2809/call#`hostname`.host_cxt > rtls-http.log 2>&1 : ConsoleOut0.rtc
- ログは右記ページ参照 ・・・ rtls-http.log
- ログをファイルに落とさない場合、rtlsの結果として ConsoleOut0.rtc が返ってきた
HTTPS¶
結果OK ・・・2025/10/07確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからhttps向けを起動
$ export ORBtraceLevel=40 $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.https.conf > openrtmNames-https.log 2>&1
- ログは右記ページ参照 ・・・ openrtmNames-https.log
- /usr/etc/rtc.names.https.confの内容
corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https://localhost:2809/call
- 起動しているomniNames、openrtmNamesが無いことを確認してからhttps向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ ./ConsoleOutComp -f /usr/etc/http/rtc.https.conf
- RTCのログは右記ページ参照 ・・・ rtc-https.log
- /usr/etc/http/rtc.https.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout naming.formats: %h.host_cxt/%n.rtc manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http manager.preload.modules: HTTPTransport.so corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https:///call corba.nameservers: https://localhost:2809/call corba.master_manager: giop:http:https://localhost:2810/call
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=https://localhost:2809/call export ORBendPoint=giop:http:https://localhost:2811/call export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem export ORBhttpsKeyPassword=password export ORBserverTransportRule="* http" export ORBclientTransportRule="* http" export ORBtraceLevel=40
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /https://localhost:2809/call#`hostname`.host_cxt > rtls-https.log 2>&1 : ConsoleOut0.rtc
- ログは右記ページ参照 ・・・ rtls-https.log
WS¶
結果OK ・・・2025/09/05確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
$ export ORBtraceLevel=40 $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ws.conf > openrtmNames-ws.log 2>&1
- ログは右記ページ参照 ・・・ openrtmNames-ws.log
- /usr/etc/rtc.names.ws.confの内容
corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws://localhost:2809/ws
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ ./ConsoleOutComp -f /usr/etc/http/rtc.ws.conf
- RTCのログは右記ページ参照 ・・・ rtc_ws.log
- /usr/etc/http/rtc.ws.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout naming.formats: %h.host_cxt/%n.rtc manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http manager.preload.modules: HTTPTransport.so corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws:///ws -ORBendPoint giop:tcp:: corba.nameservers: ws://localhost:2809/ws corba.master_manager: giop:http:ws://localhost:2810/ws
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash # WS export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=ws://localhost:2809/ws export ORBendPoint=giop:http:ws:///ws export ORBserverTransportRule="* http" export ORBclientTransportRule="* http" export ORBtraceLevel=40
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /ws://localhost:2809/ws#`hostname`.host_cxt > rtls-ws.log 2>&1 : ConsoleOut0.rtc
- ログは右記ページ参照 ・・・ rtls-ws.log
WSS¶
結果OK ・・・2025/10/07確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
$ export ORBtraceLevel=40 $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.wss.conf > openrtmNames-wss.log 2>&1
- ログは右記ページ参照 ・・・ openrtmNames-wss.log
- /usr/etc/rtc.names.wss.confの内容
corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss://localhost:2809/ws
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ ./ConsoleOutComp -f /usr/etc/http/rtc.wss.conf
- RTCのログは右記ページ参照 ・・・ rtc-wss.log
- /usr/etc/http/rtc.wss.confの内容(WSプロトコルと同様に修正して下記とする)
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout naming.formats: %h.host_cxt/%n.rtc manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http manager.preload.modules: HTTPTransport.so corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss:///ws corba.nameservers: wss://localhost:2809/ws corba.master_manager: giop:http:wss://localhost:2810/ws
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=wss://localhost:2809/ws export ORBendPoint=giop:http:wss://localhost:2811/ws export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem export ORBhttpsKeyPassword=password export ORBserverTransportRule="* http" export ORBclientTransportRule="* http" export ORBtraceLevel=40
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /wss://localhost:2809/ws#`hostname`.host_cxt > rtls-wss.log 2>&1 : ConsoleOut0.rtc
- ログは右記ページ参照 ・・・ rtls-wss.log
SSL¶
結果OK ・・・2025/10/07確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからssl向けを起動
$ export ORBtraceLevel=40 $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ssl.conf > openrtmNames-ssl.log 2>&1
- ログは右記ページ参照 ・・・ openrtmNames-ssl.log
- /usr/etc/rtc.names.ssl.confの内容
corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.ssl.key_file_password:password corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl:localhost:2809
- 起動しているomniNames、openrtmNamesが無いことを確認してからssl向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ ./ConsoleOutComp -f /usr/etc/ssl/rtc.ssl.conf
- RTCのログは右記ページ参照 ・・・ rtc-ssl.log
- /usr/etc/ssl/rtc.ssl.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/ssl manager.preload.modules: SSLTransport.so corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.ssl.key_file_password:password corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl:: corba.nameservers: corbaloc:ssliop:localhost:2809 corba.master_manager: giop:ssl:localhost:2810
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=ssliop:localhost:2809 export ORBsslCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt export ORBsslKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem export ORBsslKeyPassword=password export ORBclientTransportRule="* ssl" export ORBtraceLevel=40
- 変更点
- rtls はクライアントとしてネームサーバに接続するだけなので、エンドポイント(=受け口)を立てる必要はない
⇒ ORBserverTransportRule, ORBendPoint を指定する必要はないということ
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /ssliop:localhost:2809/`hostname`.host_cxt > rtls-ssl.log 2>&1 : ConsoleOut0.rtc
- ログは右記ページ参照 ・・・ rtls-ssl.log
Python¶
ソースは下記PRを利用
https://github.com/OpenRTM/OpenRTM-aist-Python/pull/254
HTTP¶
結果OK ・・・2025/10/01確認
- ターミナル1・・・ネームサーバ起動
- 自動起動しているomniNamesを停止させてからopenrtmNamesを起動する
$ systemctl status omniorb-nameserver.service $ sudo systemctl stop omniorb-nameserver.service $ /usr/bin/openrtmNames -f /usr/etc/rtc.names.http.conf
- 自動起動しているomniNamesを停止させてからopenrtmNamesを起動する
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
- ログを取りたいのでHOME下に /usr/share/openrtm-2.1/components/python3 をコピーして利用する
$ mkdir testPR254-1001 $ cd testPR254-1001/ $ cp -r /usr/share/openrtm-2.1/components/python3/* . $ cd SimpleIO/ $ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.http.conf
- /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.http.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout manager.modules.load_path: /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http manager.preload.modules: HTTPTransport.py corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http:///call corba.nameservers: http://127.0.0.1:2809/call corba.master_manager: giop:http:http://127.0.0.1:2810/call
- ターミナル3 ・・・rtshell起動
$ export RTCTREE_HTTP_ENABLE=YES $ export RTCTREE_NAMESERVERS=http://localhost:2809/call $ export ORBserverTransportRule="* http" $ export ORBclientTransportRule="* http" $ export ORBendPoint=giop:http:http:///call $ rtls /http://localhost:2809/call#`hostname`.host_cxt ConsoleOut0.rtc
HTTPS¶
結果OK ・・・2025/10/15確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからhttps向けを起動
$ /usr/bin/openrtmNames -f /usr/etc/rtc.names.https.conf
- /usr/etc/rtc.names.https.confの内容
- この時の動作確認はconfファイル内のssl証明書のパスを変更した
corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https://localhost:2809/call
- 起動しているomniNames、openrtmNamesが無いことを確認してからhttps向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.https.conf
- /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.https.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout manager.modules.load_path: /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http manager.preload.modules: HTTPTransport.py corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https:///call corba.nameservers: https://127.0.0.1:2809/call corba.master_manager: giop:http:https://127.0.0.1:2810/call
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=https://localhost:2809/call export ORBendPoint=giop:http:https://localhost:2811/call export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem export ORBhttpsKeyPassword=password export ORBserverTransportRule="* http" export ORBclientTransportRule="* http"
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /https://localhost:2809/call#`hostname`.host_cxt ConsoleOut0.rtc
WS¶
結果OK ・・・2025/10/01確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
$ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ws.conf
- /usr/etc/rtc.names.ws.confの内容
corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws://localhost:2809/ws
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.ws.conf
- /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.ws.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/http manager.preload.modules: HTTPTransport.so corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws:///ws corba.nameservers: ws://localhost:2809/ws corba.master_manager: giop:http:ws://localhost:2810/ws
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash # WS export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=ws://localhost:2809/ws export ORBendPoint=giop:http:ws:///ws export ORBserverTransportRule="* http" export ORBclientTransportRule="* http"
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /ws://localhost:2809/ws#`hostname`.host_cxt ConsoleOut0.rtc
WSS¶
結果OK ・・・2025/10/15確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
$ /usr/bin/openrtmNames -f /usr/etc/rtc.names.wss.conf
- /usr/etc/rtc.names.wss.confの内容
corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss://localhost:2809/ws
- 起動しているomniNames、openrtmNamesが無いことを確認してからwss向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.wss.conf
- /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http/rtc.wss.confの内容(WSプロトコルと同様に修正して下記とする)
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout manager.modules.load_path: /usr/lib/python3/dist-packages/OpenRTM_aist/ext/http manager.preload.modules: HTTPTransport.py corba.http.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.http.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.http.key_file_password:password corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss:///ws corba.nameservers: wss://localhost:2809/ws corba.master_manager: giop:http:wss://localhost:2810/ws
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=wss://localhost:2809/ws export ORBendPoint=giop:http:wss://localhost:2811/ws export ORBhttpsCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt export ORBhttpsKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem export ORBhttpsKeyPassword=password export ORBserverTransportRule="* http" export ORBclientTransportRule="* http"
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /wss://localhost:2809/ws#`hostname`.host_cxt ConsoleOut0.rtc
SSL¶
結果OK ・・・2025/10/01確認
- ターミナル1・・・ネームサーバ起動
- 起動しているomniNames、openrtmNamesが無いことを確認してからssl向けを起動
$ /usr/bin/openrtmNames -f /usr/etc/rtc.names.ssl.conf
- /usr/etc/rtc.names.ssl.confの内容
corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.ssl.key_file_password:password corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl:localhost:2809
- 起動しているomniNames、openrtmNamesが無いことを確認してからssl向けを起動
- ターミナル2 ・・・RTC起動
- サンプルRTCの実行
$ python3 ConsoleOut.py -f /usr/lib/python3/dist-packages/OpenRTM_aist/ext/ssl/rtc.ssl.conf
- /usr/lib/python3/dist-packages/OpenRTM_aist/ext/ssl/rtc.ssl.confの内容
logger.enable: YES logger.log_level: DEBUG #logger.file_name: stdout manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/ssl manager.preload.modules: SSLTransport.so corba.ssl.certificate_authority_file:/usr/share/openrtm-2.1/ssl/root-sample.crt corba.ssl.key_file:/usr/share/openrtm-2.1/ssl/server-sample.pem corba.ssl.key_file_password:password corba.args:-ORBserverTransportRule "* ssl" -ORBclientTransportRule "* ssl" -ORBendPoint giop:ssl:: corba.nameservers: corbaloc:ssliop:localhost:2809 corba.master_manager: giop:ssl:localhost:2810
- サンプルRTCの実行
- ターミナル3 ・・・rtshell起動
- 環境変数設定項目が多いので、シェルスクリプトで定義しておく
- rtls_export.sh
#!/bin/bash export RTCTREE_HTTP_ENABLE=YES export RTCTREE_NAMESERVERS=ssliop:localhost:2809 export ORBsslCAFile=/usr/share/openrtm-2.1/ssl/root-sample.crt export ORBsslKeyFile=/usr/share/openrtm-2.1/ssl/server-sample.pem export ORBsslKeyPassword=password export ORBclientTransportRule="* ssl"
- 現在のシェルに反映させたいので、sourceで実行後にrtlsコマンドを実行する
$ source rtls_export.sh $ rtls /ssliop:localhost:2809/`hostname`.host_cxt ConsoleOut0.rtc