01
OSC 777の最短例
次のコマンドはBubble SSHのターミナル内だけで実行してください。タイトルと本文を含むOSC制御シーケンスを出力し、Bubble SSHがAndroid通知として表示します。
printf '\033]777;notify;デプロイ完了;本番反映が正常に終了しました\007'02
対応する通知形式
Bubble SSHは3種類のOSCコードを認識します。シェルやプログラムから、接続中のターミナルへ制御シーケンスをバイト列として正確に出力する必要があります。
- OSC 9: ペイロードを通知本文として表示
- OSC 99: メタデータ、タイトル・本文、任意のBase64、分割IDに対応
- OSC 777: notify;title;body、またはタイトルなしのnotify;bodyを受け付ける
03
tmux内で通知が届かない理由
ターミナルマルチプレクサは、どの制御シーケンスを外側のターミナルへ渡すかを決めます。一般的なtmux設定ではOSC通知シーケンスが透過されないため、Bubble SSHまで届きません。
サーバー側セッションの永続化とBubble SSH通知を両立する場合は、zmxのようにOSCシーケンスを透過するツールを使うか、自分の環境に適した明示的な透過設定を行って検証してください。
04
通知はログではなく完了報告に使う
通知に向くのは、デプロイ完了、バックアップ失敗、長時間ビルド終了といった意味のある状態変化です。進捗はターミナルへ残し、最後に1件だけ簡潔な通知を送ります。
- タイトルと本文を短くする
- 短いループから繰り返し通知しない
- 認証情報やターミナル出力を既定で含めない
- バブルを閉じ、別アプリを前面にした状態でも確認する