0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Termuxでクリップボードを操作、Androidとのコピペをコマンド化する

0
Posted at

Termuxからクリップボードを叩く Androidとのコピペをコマンドで完結

TermuxでAndroidのクリップボードとやりとりするには、Termux:APItermux-api パッケージを使います。
実際に覚えるコマンドは、termux-clipboard-settermux-clipboard-get の2つです。
本記事では、必要な準備、コピーと読み出しの基本、SSH公開鍵を扱う実用例、長いコマンドを短くするエイリアス設定まで整理します。

📦 必要になるのは Termux:APItermux-api

Termux単体では、Androidのクリップボード機能へそのままアクセスできない。
そこで橋渡し役になるのが、Android側の Termux:API アプリと、Termux内で使う termux-api パッケージだ。

導入時は、まずTermux側で次を実行する。

# Termux:API 用のコマンド群を導入します
pkg install termux-api

加えて、Android側では Termux:API アプリもインストールしておく。
この2つがそろって初めて、Termuxからクリップボードの読み書きができるようになる。

⭐️ 覚えるコマンドは termux-clipboard-settermux-clipboard-get の2つだけで十分です。

📋 文字列をクリップボードへコピーする

クリップボードへ文字列を送る基本形は非常に単純だ。
標準入力から termux-clipboard-set へ流し込めばよい。

# 文字列をクリップボードへ送ります
echo 'こんにちは' | termux-clipboard-set

この形を覚えておくと、コマンドの出力結果もそのままコピーできる。

# コマンドの出力をそのままクリップボードへ送ります
git remote -v | termux-clipboard-set

たとえば、GitのリモートURL、設定値、ログの一部、整形済みテキストなどを外部アプリへすぐ貼り付けたい場面で便利だ。
画面を長押しして選択するより、コマンド一発で正確にコピーできる点が大きい。

📥 クリップボードの内容をTermuxへ読み出す

逆方向の操作、つまりAndroid側でコピーした内容をTermuxで受け取るには termux-clipboard-get を使う。

# 現在のクリップボード内容を表示します
termux-clipboard-get

取得した内容は、そのままファイルへ保存することもできる。

# クリップボード内容をファイルへ保存します
termux-clipboard-get > pasted.txt

この方法を使うと、ブラウザやメモアプリでコピーした文章をTermuxへ取り込み、そのまま編集や加工へ回せる。
ログの断片、URL、コード片、メールアドレスなどを受け取る用途とも相性がよい。

📄 ファイルの中身をそのままコピーする

テキストファイルの内容を丸ごとクリップボードへ送りたい場合は、リダイレクトを使うときれいに書ける。

# Markdownファイルの内容をそのままコピーします
termux-clipboard-set < note.md
# メモファイルの内容をそのままコピーします
termux-clipboard-set < memo.txt

この形は、Markdown本文、設定ファイルの一部、テンプレート文、コマンドメモなどをスマホ側へ渡したいときに扱いやすい。
cat file | ... でもよいが、入力元がファイルであることが明確になるぶん、リダイレクトのほうが読みやすい。

🔑 SSH公開鍵をコピーする例

Termuxを使うとなればgitをまず入れるだろう(たぶん)。当然、すぐにやるのがSSH公開鍵のコピーだ。
GitHubやGitLabへ鍵を登録する場面では、公開鍵ファイルの内容をそのままクリップボードへ入れられる。

# SSH公開鍵をクリップボードへコピーします
termux-clipboard-set < ~/.ssh/id_ed25519.pub

このあと、そのままGitHubの SSH keys 画面へ貼り付ければよい。
長い鍵文字列を手動で選択する必要がなく、改行崩れも起こしにくい。

⭐️ TermuxでSSH鍵を作ったあと、そのままコピーして登録画面へ貼れるのはかなり便利です。

⚡ 長いコマンドはエイリアスで短縮する

termux-clipboard-settermux-clipboard-get は機能が分かりやすい反面、毎回打つにはやや長い。
頻繁に使うなら、エイリアスを設定しておくと運用が一気に軽くなる。

たとえば cbs を set、cbg を get にするなら次のように書ける。

# ~/.bashrc にエイリアスを追記します
echo "alias cbs='termux-clipboard-set'" >> ~/.bashrc
echo "alias cbg='termux-clipboard-get'" >> ~/.bashrc

# 設定を反映します
source ~/.bashrc

さらに短くしたいなら、次のような形でもよい。

# よく使う短い別名を設定します
alias cb='termux-clipboard-set'
alias p='termux-clipboard-get'

使い方はこうなる。

# 文字列をクリップボードへコピーします
echo 'hello' | cb

# クリップボード内容を表示します
p

# クリップボードに入っているメールアドレスを Git の設定へ使います
git config --global user.email "$(p)"

# SSH公開鍵をコピーします
cb < ~/.ssh/id_ed25519.pub

⚠️ echo $(p) の形でも動くことはありますが、空白や改行を含む内容では崩れやすいです。コマンド置換を使うときは git config --global user.email "$(p)" のように引用符で囲むほうが安全です。

🧪 最初の動作確認はこの2つで十分

導入直後は、次の2コマンドだけ試せばだいたい状況を確認できる。

# テスト文字列をクリップボードへ送ります
echo 'clipboard test' | termux-clipboard-set

# クリップボードから内容を読み出します
termux-clipboard-get

期待通り clipboard test が返れば、基本の導線は動いていると考えてよい。
動かない場合は、Termux:API アプリの導入漏れ、権限未許可、または termux-api パッケージ未導入を疑うのが近道になる。

⌨️ キーボードが出ないときは入力系も確認する

クリップボード以前に、Termuxでそもそも入力しづらいケースもある。
その場合は、ソフトキーボードや補助キーの表示方法を確認しておくとよい。

Termuxでは、左メニューの Keyboard 長押しや、Volume Up + KVolume Up + Q といった操作が案内されている。
特にショートカット入力や記号入力がしづらい端末では、このあたりを知っているだけで使い勝手がかなり変わる。

📝 画面長押しよりコマンドのほうが安定する場面

Androidでは、画面長押しでもコピーと貼り付けはできる。
ただし、Termuxの出力結果、公開鍵、Markdown本文、設定値のような「正確にそのまま渡したい文字列」を扱う場合は、termux-clipboard-set / termux-clipboard-get のほうが安定しやすい。

選択ミスや範囲漏れを避けやすく、シェルの処理フローにも自然に組み込めるためだ。
とくに、コマンドの出力を別アプリへ持っていく場面や、外部でコピーした文字列をそのまま設定へ流し込む場面では、手作業より明らかに再現性が高い。

⭐️ 「コピペを手作業からコマンドへ置き換える」と考えると、Termuxの使い勝手が一段上がります。

まとめ

TermuxでAndroidのクリップボードとやりとりするには、Termux:API アプリと termux-api パッケージを用意したうえで、termux-clipboard-settermux-clipboard-get を使う。
操作自体はシンプルで、文字列のコピー、クリップボード内容の取得、ファイル本文の転送、SSH公開鍵の貼り付けまで一貫して同じ流れで扱える。

長いコマンドが気になる場合は、エイリアスを定義すれば日常運用にも乗せやすい。
Termuxを単なる端末としてではなく、Androidとコマンドラインをつなぐ作業環境として使うなら、まず押さえておきたい基本機能のひとつといえる。

用語解説

  • Termux:API : Android側の端末機能をTermuxから呼び出すための補助アプリ

  • termux-api : Termux:API と連携するためにTermux内へ導入するパッケージ

  • クリップボード : コピーした文字列を一時的に保持する領域

  • termux-clipboard-set : 標準入力から受け取った文字列をクリップボードへ送るコマンド

  • termux-clipboard-get : 現在のクリップボード内容を読み出すコマンド

  • リダイレクト : ファイル内容や出力先を切り替えるシェル機能。< file> file の形で利用

  • エイリアス : 長いコマンドへ短い別名を付ける仕組み

  • SSH公開鍵 : GitHubなどへ登録して認証に使う公開側の鍵データ

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?