51
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Termuxを素早く設定

Last updated at Posted at 2020-03-07

Android/ChromeOSをTerminalとして使えるTermuxですが、いつも設定するのが面倒なので、ここにメモします。

Termuxのインストール

まずは、自分で書いた記事をメモ。Termux上でPythonのインストール方法を紹介している。

手順は以下の通り

  • Google PlayStoreでTermuxとTermux APIをインストール

内部ストレージにつなげる

Termuxの~//data/data/com.termux/files/homeなので、内部ストレージにつなぐ方法。以下のコマンドを実行。

termux-setup-storage

これで、~/storageディレクトリができて、Downloadsなどに手軽にアクセスできる。

最低限必要なパッケージのインストール

pkg update
pkg install git vim wget tmux

sshd の設定

Androidスマホの場合、小さな画面でやるの大変なので、sshdを設定してPCから設定を行いましょう。

あるいは、Chromebookの場合、Termuxで日本語入力ができません。そこで、sshdを起動して、別途Chrome拡張のSecure Shellを使ってTermuxにログインして作業します。すると、日本語が入力できます。

# sshdをインストール
pkg install openssh

# 公開鍵の作成
ssh-keygen -t rsa

何度かEnterキーを押してキーを作る。

なお、PC側でも公開鍵を作成する。そして作成して公開鍵をTermux側に登録します。

例えば、LINEやメールなどの方法で、PCの公開鍵の内容をスマホに送信して、Termux内の~/.ssh/authorized_keysに追記します。

そして、TermuxでIPアドレスを調べます。

ifconfig | grep inet

PC側で上記IPアドレス(例えば 192.168.0.5など)に接続できます。

Termuxにパスワードを設定します。

passwd

ただし、Termuxでは1024以下のポートが利用できないため、8022番ポートを使うようになっている。ログイン時には上記で指定したパスワードが必要です。

ssh hoge@192.168.0.5 -p8022

ChromebookでSecure Shellから接続する場合、最初にプライベートキーの~/.ssh/id_rsaを~/storage/downloadなどにコピーしておいて、Secure ShellのIDでそのファイルを選びます。

クリップボードをAndroidと共有できるようにする

Androidとクリップボードを共有できると便利。termux-apiのアプリをインストールし、その後、以下のコマンドを実行する。

pkg install termux-api

何かをコピーするには、以下のように書く。

termux-clipboard-set hoge

コピーしたテキストを表示するには、以下のようにする。

termux-clipboard-get

開発環境をインストール

その他、PythonとNode.js入れておけば、いろいろ便利だろうという感じ。

pkg install python nodejs

GitHubに公開鍵を登録する

GitHubに公開鍵(~/.ssh/id_rsa.pub)を登録する。

公開鍵の内容は以下のようにして表示できるので、これをコピーして、GitHubの設定で追加する。

cat ~/.ssh/id_rsa.pub

そして、vimでプログラムを書きまくる。

vimでクリップボードをAndroidと共有する

以下に書いてあるのだが、VimのクリップボードをAndroidと共有できる。Termux APIを有効にしてあることが前提。

具体的には、~/.vimrc に以下を追加する。

.vimrc
au TextYankPost * call system('termux-clipboard-set &', @")
function Paste(p)
    let sysclip=system('termux-clipboard-get')
    if sysclip != @"
        let @"=sysclip
    endif
    return a:p
endfunction
noremap <expr> p Paste('p')
noremap <expr> P Paste('P')

termux-openでいろいろ開く

macOSでいうところのopenにあたるのがtermux-openです。
これを使うと標準アプリでいろいろ開けます。

例えば、サーバーを起動しておいてIPアドレスを指定してChromeでアプリをブラウザ上で試したい場合など以下のようにかけます。

# IPアドレスを調べる
ifconfig | grep inet

# ブラウザでWebアプリを開く
termux-open http://192.168.0.5:8888

なでしこ3を入れる

日本語でプログラムが作れる「なでしこ3」は入れておくべき(たぶん)。

# なでしこのリポジトリをクローン
git clone git clone https://github.com/kujirahand/nadesiko3.git
# あるいは以下
# git clone git@github.com:kujirahand/nadesiko3.git

# インストール
cd nadesiko3
npm install --production
# Web用のなでしこをビルド
npm run build
# サーバーを起動
npm start

するとAndroid側のWebブラウザ(localhost:3000)でプログラムを作れる。ただしChromebookの場合はアドレスが異なるので、ifconfig | grep inetで確認する。

テキスト音楽サクラを入れる (2020/08/19 手順変わりました)

みんな、きっとAndroidで作曲したいはず。テキスト音楽「サクラ」を動かすには golang が必要。

pkg install golang

環境変数GOPATHを確認

cd `go env GOPATH`
pwd
mkdir -p src/github.com/kujirahand
cd src/github.com/kujirahand

リポジトリをクローン

git clone https://github.com/kujirahand/sakuramml-go.git
# あるいは ... git clone git@github.com:kujirahand/sakuramml-go.git

サクラをコンパイル

cd sakuramml-go
go build csakura.go

すると、csakuraというバイナリができる。ドレミのテキストで作曲して、MIDIファイルにコンパイルする。

./csakura a.mml

すると、a.midiができる。音楽を再生するには、以下のコマンドを実行。(ただしMIDIが再生できるかどうかは機種依存。IdeaPad Duetは再生できず。)

termux-media-player play a.mid

bashの設定ファイル

bashの設定ファイルを作る。

# 各種バッチを保存するディレクトリを準備
mkdir ~/bin

# 設定ファイルを編集する
vi ~/.bashrc

以下のような設定を書く。

# ls
alias ll='ls -laF'
alias l='ls'
# path
export PATH=$PATH:$HOME/bin
# なでしこ3にパスを通す
export PATH=$PATH:$HOME/repos/nadesiko3/bin
# テキスト音楽サクラ用
GOPATH=`go env GOPATH`
PATH=$PATH:$GOPATH/src/github.com/kujirahand/sakuramml-go

設定を反映させる。

source ~/.bashrc
51
50
4

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
51
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?