ターミナル

DR-Terminal は Kotlin でゼロから書かれた独自の VT100/xterm エミュレーターを搭載しています。WebView は使いません。xterm-256color、代替バッファ(vim/less/nano)、OSC 52 クリップボード、フォーカスイベント、マウストラッキング(mc、htop)に対応します。

キーボードとショートカット

ショートカット動作
Ctrl+C — テキスト選択時選択範囲をクリップボードにコピーします。選択がない場合は通常の SIGINT がリモートプロセスに届きます。
Enter — テキスト選択時代替のコピーショートカット(Ctrl のないキーボードで便利)。
右クリック / コピーメニュー選択後のコンテキストメニュー — 常に利用できます。
Ctrl+V貼り付け。複数行のクリップボード内容では複数行貼り付けの確認ダイアログが開きます。
Shift+Insert貼り付け — X11/Windows でおなじみの操作です。単独の Insert は引き続きシェルに届きます。
Shift+Delete選択範囲をコピーして選択を解除します(切り取りのような動作)。
Ctrl+F検索バーを開きます(出力内の検索を参照)。このキー入力がシェルに届くことはありません。
Ctrl+Shift+Sスニペットピッカーを開きます(スニペットを参照)。単独の Ctrl+S は引き続きシェルに届きます。
ショートカットバーesc、ctrl、tab、矢印、よく使うシェル記号、snip キー、⌨ トグル — モバイルで便利です。ファンクションキーとナビゲーションキーは、DevOps キーボードの fn レイヤーと任意の F キー行にあります。
フォントサイズターミナルメニューの A- / A+ ステッパー。範囲は 8〜32 pt です。

macOS では、上記で Ctrl と書かれている箇所は Cmd でも動作します。Cmd+C、Cmd+V、Cmd+F、Cmd+Shift+S は Ctrl 版と同じように振る舞います。

DevOps キーボード(Android・iOS)

システムのキーボードはターミナルでは邪魔になります。自動修正が sudo -rf を壊し、シェル記号は 2 レイヤー奥に隠れ、非ラテン系の配列にはそもそも ASCII がないことも。DR-Terminal はアプリ自身が描画する常時 ASCII の DevOps キーボード を搭載し、キーをターミナルへ直接送ります — システムの IME は一切関与しません。

レイヤー:小文字、大文字(Shift)、数字、シェル記号(| ~ $ & ' " \ …`)、fn/nav レイヤー(F1–F12、矢印、Home/End、PgUp/PgDn)。Ctrl/Alt/Shift はスティッキー:タップで次のキーに対して有効化、ダブルタップでロック。・矢印・スペースは長押しでリピート。隅に小さな印のあるキーは長押しで代替文字を入力します。

設定 → キーボード(モバイル):デフォルトのキーボードAuto はシステムロケールが非ラテン系(アラビア語、ヘブライ語、CJK…)なら DevOps キーボードを、それ以外ではシステム IME を選択;配列 — Auto/QWERTY/QWERTZ/AZERTY;不透明度キーサイズ のスライダー;Fキーを表示 — キーボードの上に常時表示される F1〜F10 の行で、mc や htop の作業に便利です。キーボード設定はすべて、スマートフォンやタブレットからエクスポートした暗号化構成バックアップで持ち運べます。

選択、コピー、貼り付け

デスクトップ:マウスでドラッグして選択します。ダブルクリックで単語、トリプルクリックで行を選択します。上記のショートカットでリリースするとコピーされ、右クリックでメニューが開きます。

Android と iOS:ターミナル内のどこでも 長押し して選択を開始し、ドラッグして範囲を広げ、離すとコピーされます。テキストはシステムのクリップボードに入ります。短いタッチは引き続きシェルへタップが届き、スワイプは引き続き履歴をスクロールするので、いつものジェスチャーはそのまま使えます。

OSC 52 により、リモートプログラム(tmux、vim、fzf)がエスケープシーケンスを通じてシステムのクリップボードへコピーできます。双方向です。

複数行の貼り付け:クリップボードに改行が含まれる場合、複数行貼り付けのプレビューダイアログが表示されます。確認していないコマンドの貼り付けを防ぎます。

スクロールバックと履歴

スクロールバックバッファは最大 1000 行を保持します。ホイールまたはタッチドラッグでスクロールします。カーソルは正しくビューポートから外れ(xterm の挙動)、選択範囲はテキストと一緒にスクロールします。

履歴をクリア はサイドバーの履歴タブにあり、その接続に保存された コマンド 履歴を消去します。画面上のスクロールバックには影響しません。

ターミナルの右端に スクロールバー が表示されます(デスクトップ)。マウスでつかんで履歴をスクロールできます。Android と iOS はタッチでスクロールします。ホイールスクロール速度 は設定 → ターミナルで設定できます(ホイール 1 回あたりの行数)。

代替バッファ(フルスクリーンアプリ)

vimlessnanohtopmc のようなプログラムは 代替バッファ に切り替わります。終了時に消える別画面で、メインのスクロールバックを汚しません。

出力内の検索

Ctrl+F(macOS では Cmd+F)を押すと 検索バー が開きます。スクロールバックをリアルタイムで検索し、すべての一致をハイライトして順に移動します。ハイライトはレンダリング時のオーバーレイであり、SSH ストリームに何かを注入することはありません。

フォント、テーマ、ハイライト

スニペット

スニペット は、どのセッションにも送り込める再利用可能なコマンドテンプレートです。テンプレートには型付きのプレースホルダーを埋め込めます — ping -c {count:int=4} {host:ip} — このようなスニペットを実行すると、値を尋ねる小さなダイアログが開きます(intipboolenum のプレースホルダーには、それぞれに合った入力欄と検証が用意されます)。プレースホルダーのないスニペットはそのまま実行されます。すぐに実行 は、Enter まで送信するのか、それともコマンドをプロンプトに置くだけにして編集できるようにするのかを決めます。

実行方法:

各スニペットには 表示対象 があります。すべてのホスト、一つの グループ、または単一の ホスト です。任意の システム フィルター(Debian、RHEL、Arch、macOS…)でさらに絞り込めるため、apt のスニペットは Debian 系と検出されたホストにだけ表示されます。検出はログイン時の調査によるものです(下の ホストインサイト を参照)。利用可能な場合のみ表示 を使うと、そのコマンドがホストに存在しないと確認された場合にスニペットが隠れます。SSH ホストを持たないセッション(ローカル、シリアル、Telnet)にはグローバルなスニペットのみが表示されます。

スニペットは 設定 → ターミナル → スニペット で管理します。追加、編集、複製、削除に加え、表示対象、システム、すぐに実行フラグを設定できます。100 を超える既成のスニペットからなる同梱カタログ — システム別(Debian、RHEL、Arch、Alpine、SUSE、BSD、macOS)に加えて Docker、ネットワーク、ストレージ、ツールのセット — が初回起動時に登録されます。自分のスニペットと同じように編集・削除できます。

コマンド履歴とオートコンプリート

保存した各接続は、自身のコマンド履歴を記憶します(履歴を保存 がオンの場合)。上矢印で過去のコマンドを呼び出せ、オートコンプリートフィールドはサーバー上で利用できるコマンド名を提示します。これはシェルによるライブ補完であり、入力したコマンドの履歴とは別物です。

ホストインサイト(ライブ情報)

SSH セッションでログインすると、アプリは静かにホストを調べ — OS 名、CPU のモデルとコア数 — ライブ情報のポーリングを開始します。ロードアベレージ、メモリ、スワップ、マウントごとのディスク使用量で、それぞれ使用率バーが描かれ、75% を超えると橙色、90% を超えると赤色になります。

セッションタブ

すべてのセッション — SSH、SFTP、ローカル、シリアル、Telnet — はタブに収まります。タブ、またはアクティブセッション一覧のカードを長押し(モバイル)または右クリック(デスクトップ)すると、そのメニューが開きます。名前を変更接続情報セッションを再起動タブを閉じる です。セッションを再起動 は接続を破棄してゼロから接続し直しつつ、タブは維持します。サーバーの再起動後に便利です。リモートセッションが切断されると、ターミナルメニューに 再接続 の項目も現れ、その場で接続を張り直せます(ローカルターミナルにはありません。新しく開いてください)。

サイドバー(右パネル) — ホスト / 履歴 / 補完 / スニペット / テーマ

ターミナルの右側(デスクトップ / タブレット)には、5 つのタブを持つ折りたたみ可能なパネルがあります。右端の矢印で開き、左端をドラッグしてサイズを変更します。状態は エイリアスごと です。保存した各接続が自身のタブと幅を記憶します。

テーマ — ターミナルテーマ(435 種)

テーマは エイリアスごと です。各接続が独自の背景、前景、16 色 ANSI パレット(ls --color が使うのと同じインデックス:標準 0〜7 + 明色 8〜15)を持ちます。

Android と iOS:デスクトップのサイドバー全体が、ターミナル上部バーの 1 つのパレットアイコン に置き換わります。タップすると、同じ 435 種のテーマカタログがボトムシートで開き、検索可能で見本のライブプレビューが表示されます。行をタップするとテーマが適用されてシートが閉じ、結果がすぐに見られます。上部の リセット ボタンはすべての上書きを破棄し、エイリアスを既定値に戻します。

435 種の組み込みテーマは、オープンソースの edcet/terminal-themes コレクション(MIT)に由来します。

Previous
認証
Next
SFTP