Skip to content

Android ​

Androidのクイック接続

GitHub Releasesから署名済みのAPKをダウンロードできます。Android 13以降の戻る操作はsshc内の履歴と連動しています。戻る操作を行うと、まず開いているダイアログ、コマンド検索、メニュードロワー、Inspectorを閉じます。何も開いていない場合は、前のページへ移動します。

スマートフォンでの操作 ​

  • 下部の Home/Connections/SFTP/Terminal/Menu から画面を切り替えます。キーボード表示中は下部ナビゲーションとヘッダーを隠し、入力中の画面を広く使います。
  • セッションを開いたターミナルの画面では、下部ナビゲーションとヘッダーの代わりに、上部にセッション名と接続先の行を置きます。左端のボタンでドロワーを開き、ほかの画面へ移ります。右端の「…」には検索もあります。
  • Connectionsは一覧と編集画面を切り替えて使います。スマートフォンの横向きでも、狭い2ペイン表示には戻りません。
  • スマートフォンの横向き(高さ480px未満)では、下部ナビゲーションを左端の縦のレールに移し、画面の高さを中身に回します。SFTPの転送マネージャーの行は、転送が無いあいだは出しません。
  • タブレットの縦向き(幅600px以上)では、ドロワーを左に出したままにし、下部ナビゲーションは中身の下の中央に置きます。セッションの一覧を見ながら別のセッションへ移れます。
  • ターミナルは指を離した後も減速しながらスクロールします。もう一度触ると止まり、選択中や画面を離れたときには慣性を停止します。OSの「動きを減らす」設定にも従います。
  • Esc、Tab、Ctrl、矢印は補助キーの1行に置きます。Altや記号は「…」から選べます。CtrlとAltは、素早く2回押すと押したままに固定します。横向きでも補助キーを利用でき、押してもキーボードのフォーカスを奪いません。
  • ターミナルをタップしたときの動作:
    • URLやパス: ブラウザで開く・コピーなどのメニューが開きます。プログラムが出力するOSC 8のリンクは、タップでは開けません。
    • それ以外の場所: ターミナルの下の入力欄にフォーカスが移り、キーボードが開きます。
  • キーバーの動作(並びは[Menu]→[Key bar]で変えられます):
    • CtrlかAlt: 次のキーをターミナルへ直接送ります。
    • 左端のキー(キーボードの印): 入力欄を隠してターミナルへそのまま入力します。⌫やカーソルの移動もそのまま効くので、打った行の途中を直せます。もう一度押すと入力欄に戻ります。
  • ダイアログと操作シートはキーボードを除いた表示領域に収めます。長い内容は中をスクロールできます。Androidの戻る操作は、最前面のメニューから順に閉じます。

左上のメニューボタンか、画面を右へ払う操作で開くドロワーには、接続中のターミナル一覧と、コマンド検索を開く[検索]もあります。ターミナルの上でも、横へ払えば開きます。横にスクロールする場所と入力欄の上では、払っても開きません。長押しで文字を選んでいるときも開きません。画面端からのスワイプはAndroidの戻る操作に使います。ドロワーの外側をタップするか、左へ払うか、戻る操作で閉じられます。

スマートフォンのSFTP ​

通常はファイル一覧を広く表示します。上部には接続先の選択、戻る、現在のフォルダ、検索、「…」を置きます。パスを押すと入力でき、その下の[戻る][進む][ホーム][ルート]でも移動できます。「…」からフォルダ作成、アップロード、ここでターミナルを開く、パスのコピーを使えます。空き容量もここに出ます。並べ替えと更新は一覧の上にあります。

ファイル名を1回タップすると、フォルダを開くかファイルをプレビューします。長押しで選択すると、各行にチェックボックスが出て、対象の操作が表示されます。選択中のファイル名タップは選択の追加・解除になります。移動・検索の通信中は処理中の表示を出し、古い一覧への操作を一時的に止めます。

転送マネージャーは下部の1行に件数と進捗を表示します。タップすると詳細がシートで開くため、一覧の表示領域は狭くなりません。[転送設定]を押すと[Settings]→[SFTP]へ移動します。ファイルのプレビューでも、属性情報は必要なときだけ展開します。

Androidのファイル選択画面(Storage Access Framework)を使った転送と、完了/失敗のAndroid通知に対応しています。アップロードでは複数のファイルを選べます。[フォルダをアップロード]では、Androidのフォルダの選択画面で選んだフォルダを、中のフォルダとファイルごと送ります。選んだフォルダを1階層目として、64階層を超えるフォルダの中身は読み飛ばします。転送キューは、既存の転送と追加待ちのファイルを含めて200件までです。選んだファイルが200件以下でも、合計が上限を超えると追加できません。

ターミナル内のプログラムからの通知(OSC 9/99/777)や長いコマンドの完了も、sshcを閉じているあいだはAndroidの通知で届きます。通知の許可は、最初の転送が完了したときに一度だけ自動で求めます。あとから許可するときは[Settings]→[Notifications]の[通知を有効にする]を押します。Androidが確認を出さなくなった場合は、Androidの設定(アプリ → sshc → 通知)で許可します。外部URLはOS標準のブラウザで開きます。

エンジンの常駐とバックアップ ​

sshcエンジンはフォアグラウンドサービスとして動き、「sshcを実行中」の常駐通知を表示します。通知の[停止]か、最近のタスクからアプリをスワイプして閉じると、sshcエンジンとすべてのSSHセッションが終了します。Android 15以降ではデータ同期型サービスの連続実行時間に上限があり、上限に達するとsshcエンジンは停止します。

アプリのデータ(Vault、鍵、設定、登録情報)は、Androidの自動バックアップと機種変更時のデータ移行の対象から完全に外しています。機種変更で引き継ぐには、暗号化同期(Sync)を使うか、移行先のデバイスで設定と鍵を用意し直してください。

sshcの画面は、スクリーンショットと画面の録画に写ります。ターミナルの出力やパスワードの入力欄を撮るときは、画像の扱いに気を付けてください。

開発版APK ​

開発版は sshc Dev(com.github.aida0710.sshc.dev)として正式版と並べてインストールできます。Vaultや設定はアプリごとに別のデータ領域へ保存され、正式版のデータは自動では移りません。

ローカルシェル ​

ローカルシェルは、Androidアプリ専用フォルダを作業フォルダとして使用します。完全なデスクトップLinux環境ではなく、Androidが提供するシェルとアプリのサンドボックス権限で動作しています。llのようなシェルエイリアスや、dirなどの外部コマンドは、標準では利用できないことがあります。

起動失敗時 ​

エラー画面には、診断情報として次の6項目が英語の項目名で表示されます。[診断情報をコピー]でまとめて共有でき、[もう一度試す]で起動をやり直せます。

  • Version: アプリのバージョン
  • Code: エラーコード
  • Detail: 詳細
  • Android: AndroidのバージョンとSDKのバージョン
  • Device: メーカーと機種名
  • ABI: 対応しているABIの一覧(arm64-v8aなど)

SSH設定の保存先フォルダのパスやローカルポートの確保結果は、該当する場合はCodeとDetailに含まれます。

秘密鍵、パスワード、トークン、バケットのシークレットは、診断レポートに含まれません。