0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iPhoneからCodex CLIを利用してみた件|Tailscale + Termiusで外出先から触るところまでやってみた

0
Posted at

はじめに

こんにちは。
業務改善エンジニアのこめまるです。

今回は、iPhoneからCodex CLIを使ってみた話をまとめます。

CLIというと、どうしても

  • PCで使うもの
  • キーボード前提
  • スマホから触るのはつらそう

という印象があります。

実際、それはかなりその通りです。
ただ一方で、状況によっては

  • ちょっと確認したい
  • 軽い指示だけ出したい
  • 実行状況やログを見たい
  • 外出先で最低限の操作だけしたい

くらいであれば、iPhoneからでも意外と触れるという感触がありました。

今回は、単に「触れた」という話だけではなく、
Tailscale + Termius を使って、iPhoneから手元PC上のCodex CLI環境に入るところまで含めてまとめます。

この記事はこんな人におすすめ

  • Codex CLIに興味がある方
  • 外出先から最低限だけCLI環境に入りたい方
  • TailscaleやTermiusを使った安全寄りの接続方法を知りたい方
  • 「スマホでCLIって実際どうなの?」が気になっている方

もちろん、結論から言うと本格作業はPCのほうが圧倒的に快適です。
ただ、それでも「これはこれで使い道があるな」と思ったので、構成・手順・使ってみた感想を順番に書いていきます。

先に結論

最初に結論を書くと、iPhoneからCodex CLIを使うこと自体は十分可能です。

今回の構成では、

  • PC側にCodex CLIの実行環境を用意する
  • TailscaleでiPhoneとPCを同じプライベートネットワークに入れる
  • TermiusでPCにSSH接続する
  • 接続先でCodex CLIを使う

という流れにしました。

このやり方なら、外部公開を前提にしなくても、比較的安全寄りに外から触れます。

ただし、向いている用途はかなりはっきりしています。

向いている用途

  • 状態確認
  • ログ確認
  • 単発の短い指示
  • 軽い再実行
  • 外出先での最低限の対応

あまり向いていない用途

  • 長文の指示
  • 本格的な実装
  • 多ファイル編集
  • 差分レビュー
  • 試行錯誤しながらの開発

つまり、

「iPhoneでCodex CLIをメイン利用する」のは厳しいけれど、
「補助的に使う」のは十分アリ

というのが率直な感想です。

今回の構成

今回の全体像はこんな感じです。

[iPhone]
   |- Tailscale
   `- Termius
        |
        | SSH
        |
[自宅PC / 作業PC]
   |- Tailscale
   |- SSHサーバー
   `- Codex CLI実行環境

ポイントは、iPhone上でCodex CLIをネイティブ実行するわけではないことです。

実際にCodex CLIが動いているのはPC側で、
iPhoneは Tailscale経由でPCに到達し、TermiusでSSH接続して操作する端末 になります。

この考え方にすると、iPhoneからでも

  • コマンドを打つ
  • ログを見る
  • 実行状況を確認する
  • ちょっとした指示を出す

といったことができます。

なぜTailscaleを使ったのか

iPhoneからPCに入るだけなら、他にも方法はあります。
ただ、今回は Tailscale を使いました。

理由はシンプルで、以下が大きかったです。

  • ポート開放したくない
  • 自宅ルーター設定をあまり触りたくない
  • 公開範囲を絞りたい
  • iPhoneとPCを同じ閉じたネットワークに置きたい

Tailscaleを使うと、iPhoneとPCが同じ仮想ネットワーク上に乗るので、
外出先からでも同じLANにいるような感覚で接続できます。

CLI用途だと「まず安全に接続できること」がかなり大事なので、
この構成は相性がよかったです。

なぜTermiusを使ったのか

接続先に入る端末側アプリとしては、今回は Termius を使いました。

理由としては、

  • iPhoneでSSH接続しやすい
  • 接続先の管理がしやすい
  • ホストごとの設定を持ちやすい
  • スマホでも比較的扱いやすい

あたりが大きいです。

CLIをiPhoneで触る時点で快適性には限界がありますが、
その中でも「接続しやすさ」「ホストの再利用しやすさ」はかなり大事でした。


事前に用意したもの

今回の構成で事前に用意したものは以下です。

事前に用意したもの

  • Codex CLIを使えるPC
  • そのPCでSSH接続できる状態
  • iPhone
  • iPhone側のTailscaleアプリ
  • PC側のTailscale
  • iPhone側のTermiusアプリ
  • PCとiPhoneで同じTailscaleアカウント、または同じTailnetに参加していること

ここで一番大事なのは、PC側でSSH接続を受けられる状態にしておくことです。
Tailscaleだけ入れても、SSH先がなければTermiusからは入れません。

手順1:PC側でCodex CLI環境を使えるようにしておく

まずはPC側です。

これは当たり前ですが、iPhoneから触る前に、PC上でCodex CLIが普通に使える状態 にしておく必要があります。

最低限、以下は確認しておくと安心です。

  • PC上でターミナルからCodex CLIが起動できる
  • 作業対象のフォルダに入れる
  • 必要な認証や設定が済んでいる
  • 外から入っても困らないように、作業場所が整理されている

たとえば、普段使う作業フォルダにすぐ移動できるようにしておくと、
iPhoneから入ったときの操作がかなり楽です。

スマホから触る前提なら、

  • よく使うディレクトリ
  • よく使うコマンド
  • 起動手順

をできるだけ簡単にしておくとかなり楽です。

手順2:PC側でSSH接続できるようにする

次に、PC側でSSH接続を受けられる状態にします。

ここは環境によって少し違いますが、考え方としてはシンプルです。

  • PC側でSSHサーバーを有効にする
  • 同一PC上でローカル接続確認する
  • Tailscale経由で到達できるIPを確認する

たとえばWindowsなら、OpenSSH Serverを有効にしておく構成が分かりやすいです。

確認しておきたいポイントは以下です。

  • SSHサービスが起動しているか
  • 接続に使うユーザー名が分かっているか
  • パスワードまたは鍵認証の準備ができているか
  • ローカルネットワーク上でSSHできるか

ここを飛ばしてiPhone側を触り始めると、切り分けがかなり面倒になります。

まずは PC自身や同一ネットワーク上の別端末からSSH接続できること を確認してから、
iPhone + Tailscale 側に進んだほうが楽です。

手順3:PCにTailscaleを入れる

次に、PC側にTailscaleを入れます。

やることはシンプルで、

  1. Tailscaleをインストールする
  2. ログインする
  3. Tailnetに参加させる
  4. Tailscale上のIPまたはマシン名を確認する

という流れです。

接続後、管理画面やクライアント上で、PCに対して

  • Tailscale IP
  • マシン名

が割り当てられているはずです。

あとでTermiusから接続するときに使うので、ここは控えておきます。

たとえば、イメージとしては

  • 100.x.x.x のようなTailscale IP
  • my-pc-name のようなマシン名

を使う感じです。

個人的には、最初はIPでつないで確認し、そのあと必要なら名前運用にする ほうが分かりやすいと思いました。

手順4:iPhoneにTailscaleを入れる

次に、iPhone側にもTailscaleを入れます。

やることはPC側とほぼ同じで、

  1. App StoreからTailscaleを入れる
  2. 同じTailnetに参加する
  3. VPNを有効にする
  4. PCが見えることを確認する

という流れです。

ここで大事なのは、iPhoneとPCが同じTailnetに入っていることです。

同じTailnetに入ったら、Tailscaleアプリ上でPCが見えるかを確認します。

この時点で

  • iPhoneからPCのTailscale IPが見える
  • 同じネットワーク上にいることが確認できる

状態になれば、かなり前進です。

手順5:iPhoneにTermiusを入れる

次に、iPhone側に Termius を入れます。

TermiusはSSHクライアントとして使います。
今回の用途では、iPhoneからPCへ入るための入口です。

入れたら、新しいホストを追加していきます。

手順6:Termiusに接続先を登録する

ここが実際の接続設定です。

Termiusで新しいホストを作るときは、たとえば以下の情報を入れます。

Termiusに登録する主な情報

  • Address:PCのTailscale IP または マシン名
  • Username:PC側のユーザー名
  • Port:通常は 22
  • Password または SSH Key:接続方法に応じて設定

たとえば考え方としては、

  • Address:100.xxx.xxx.xxx
  • Username:Windowsや接続先OSのユーザー名
  • Port:22

のような感じです。

最初はシンプルに Password認証で疎通確認 して、
安定して使うなら 鍵認証に寄せる のが扱いやすいと思いました。

スマホから毎回長いパスワードを打つのはかなりしんどいので、
継続利用するなら鍵認証のほうがだいぶ楽です。

手順7:iPhoneから実際にSSH接続する

ここまでできたら、いよいよ接続です。

流れとしてはこんな感じです。

  1. iPhoneでTailscaleを有効にする
  2. Termiusを開く
  3. 登録したホストを選ぶ
  4. SSH接続する
  5. 接続先PCのシェルに入る

ここで無事入れたら、あとはその接続先でいつも通り操作できます。

たとえば、

  • 作業ディレクトリへ移動する
  • Codex CLIを起動する
  • ログを見る
  • 軽い指示を出す

といったことができます。

手順8:接続先でCodex CLIを使う

実際に接続できたら、接続先PCでCodex CLIを使います。

流れとしてはかなり普通で、

  1. 作業ディレクトリへ移動する
  2. 必要に応じて環境を有効化する
  3. Codex CLIを起動する
  4. 軽い確認や操作を行う

という形です。

このあたりはPCで使うときと同じですが、iPhoneからだと入力コストが高いので、

  • よく使うコマンドを短くしておく
  • エイリアスを使う
  • 作業場所を固定する

あたりをやっておくと、かなり楽になります。

実際にやってみて良かったところ

実際にやってみて、よかったのはこのあたりです。

1. 外出先でも最低限の確認ができる

たとえば、

  • いま処理が動いているか
  • ログがどうなっているか
  • 追加で1回だけ実行したい
  • 軽い確認だけしたい

といった用途では、かなり便利でした。

わざわざPCを開かなくても、スマホから最低限入れるのはやはり強いです。

2. 接続の考え方がシンプル

Tailscale経由でつなぎ、TermiusでSSHする、という構成はかなり分かりやすいです。

  • 接続はTailscale
  • ターミナル操作はTermius
  • 実行環境はPC

と役割が分かれているので、トラブル時の切り分けもしやすいです。

3. 既存の開発環境を流用できる

iPhone向けに何か専用の仕組みを作るというより、
今あるPC環境にスマホから入れるようにするだけなので、導入しやすかったです。

この「新しいものを作るのではなく、入口だけ足す」感じはかなりよかったです。

実際にやってみてつらかったところ

もちろん、つらいところもかなりあります。

1. 長文入力がしんどい

これは本当にそのままです。

CLIは結局、文字入力が命なので、

  • 長いコマンド
  • 複雑なオプション
  • 長文の依頼
  • パスの入力

あたりはかなり面倒です。

2. 出力が長いと追いづらい

スマホ画面だと、ログや差分を追うのがかなり大変です。

  • 一度に見える範囲が狭い
  • スクロール量が多い
  • 前後関係を見失いやすい

ので、長い出力を読み込む用途にはあまり向いていません。

3. 本格作業にはやはり向かない

結局のところ、iPhoneからのCLIは補助用途が中心です。

探索的にいろいろ試したり、ファイルを横断して見たり、
長文で考えを整理しながら依頼したりするなら、やはりPCのほうが圧倒的に楽です。

向いている使い方

今回の構成で、特に向いていると思ったのは以下です。

向いている使い方

  • 実行状況の確認
  • ログ確認
  • 軽い再実行
  • 単発の短い指示
  • 外出先からの一次確認
  • 「あとでPCで本格対応する前の入口」として使う

逆に、以下は素直にPCを使ったほうがいいです。

向いていない使い方

  • 本格的な実装
  • 複雑な修正
  • 多ファイル編集
  • 長い差分確認
  • 長文プロンプト前提の利用

まとめ

今回は、Tailscale + Termius を使って、iPhoneからCodex CLIを触る構成を試してみた話をまとめました。

流れとしてはかなりシンプルで、

  • PC側でCodex CLI環境を用意する
  • PC側でSSH接続を受けられるようにする
  • PCとiPhoneをTailscaleで同じネットワークに入れる
  • iPhoneのTermiusからPCへSSH接続する
  • 接続先でCodex CLIを使う

という形です。

実際にやってみた感想としては、

  • 使えなくはない
  • でも快適ではない
  • 補助用途としてはかなり便利
  • 本格作業はやはりPC向き

というところに落ち着きました。

個人的には、「スマホでも開発する」ではなく、「スマホでも最低限つながる」 と考えると、かなり実用的でした。

同じように、外出先からCLI環境に入りたい方や、Codex CLIをスマホから触ってみたい方の参考になればうれしいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?