スマホ上にLinux環境が作れるTermuxが最高に楽しい

まさか、スマホにSSH接続する日が来るとは思わなかったですwでも考えてみれば、AndroidはLinuxベースなんだから、出来てもおかしく…ない?

インストール

Google PlayからTermuxで検索する。root権限はいらないです。でもあるともっと色々出来るみたい(未検証)

初期設定

apt update
apt upgrade
pkg update
pkg update clang
pkg upgrade
apt install openssh

とりあえず既存のパッケージとかを全部新しくしましょう。clangは何故か明示しないとアップデートされずに後々痛い目を見ます…

アップデートが終わったら(もしくは待っている間に)オンラインマニュアルに目を通しましょう。面倒くさかったら

Volume Up + Q

音量上げるボタンQキー同時押しすると幸せになれることだけ覚えていましょう。

仮想キーボードのマニュアル

あと今後ずっとスマホでポチポチ文字入力するのは流石に辛いので、PCからSSH接続出来るようにしましょう。

sshの初期設定

CentOSとかと一緒でなんか安心しました…w

Termux側

ssh-keygen
cat id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chmod 700 .ssh
sshd

id_rsaをコピーしてPCに送っておきましょう。

PC側

TeraTermをインストール。

  • ユーザ名は空白
  • パスワードはssh-keygenした時に入力したやつ
  • rsa鍵に先程コピーしたid_rsaを指定

IPアドレスは以下のコマンドで確認できます。

ifconfig wlan0

f:id:sakage24:20170624210153p:plain

上記の場合192.168.1.12:8022に接続して下さい。ポートは22でなく8022です。

注意

sshdは自宅などのローカルネットワークや信頼出来るネットワーク上で起動しましょう。モバイルネットワークやフリーwifi上で起動してはいけません。インターネットは危険がいっぱいです。

遅くても泣かないこと。どうしても面倒臭かったり遅かったりして不満だったら、素直にワイヤレスキーボードを買いましょう。サックサクです。

追記

bash on Ubuntu on Windowsをインストールされている方は、sshコマンドを使えばTeraTermをインストールする必要はありません。

ssh -p 8022 -i id_rsa 192.168.1.12

でOK。便利な時代になりましたね。

.bashrcと.bash_profileの初期設定

お好きなように設定して下さい。初期設定だとカレントディレクトリも分からないので、.bash_profileは設定したほうが良いです。

.bashrc

alias py=python
alias py2=python2
alias ll="ls -la"
alias la="ls -a"
alias l="ls"

.bash_profile

PS1="$bldgrn[\u@\h \W]\$ $txtrst"

PythonとGitのインストール

ここから、私が作成した神ソフト(笑)「2ちゃんねる☆すくれいぱー」を動かしてみましょう…

pkg install python git

もしかしたら最初から入っているかもしれませんが一応。

2ちゃんねる☆すくれいぱーをcloneする

git clone https://github.com/sakage24/vip_scraper

カレントディレクトリにvip_scraperがcloneされます。

実行に必要な外部ライブラリのインストール

とりあえずpipとsetuptoolsをアップデートします。

pip install --upgrade pip setuptools

続いて、vip_scraper/config/requirements.txtに必要なライブラリが記載してありますので、該当のファイルから読み込みします。

pip install -r vip_scraper/config/requirements.txt

…全て正常にインストール出来ましたでしょうか?恐らくlxmlのインストールでコケてると思います。

f:id:sakage24:20170624190556p:plain

私はここで2時間くらい詰まりましたw
結論から言うと、以下のコマンドで解決しました。

apt install libxml2 libxml2-dev libxml2-utils livxslt livxslt-dev

以上の作業を行ってもコケる場合、

pkg update clang

を行って下さい。私はclangのアップデートをしてなかったのでずっと詰まってました…

pip freezeで確認

pip freeze
certifi==2017.4.17
chardet==3.0.4
colorama==0.3.9
cssselect==1.0.1
idna==2.5
lxml==3.8.0
PyYAML==3.12
requests==2.18.1
urllib3==1.21.1

以上が全てインストールされていれば成功です。足りない場合は手動でインストールしましょう。

pip install パッケージ名

起動

cd vip_scraper
python run.py

f:id:sakage24:20170624192215p:plain

動いた~。ってことは地震とか災害があっても最悪スマホ上でPython開発が出来る…??

終わり

まだまだ遊べそうです。普通にCentOS触ってるのと遜色ありませんね…コマンド間違ってたら遠慮なく声かけて下さいね。

欲出してAnacondaをインストールしようとしたらエラーが出て無理でした…どなたか挑戦してみて下さい。そしてやり方を教えてください…他にも、nginxとかPHP入れてポータブルWEBサーバーごっことか出来そう。

あ!2ちゃんねる☆すくれいぱーをよろしくお願いします。大切に育てています。今後も精力的に更新します。

リンク

https://www.kiwi-bird.xyz/2017/07/09/20170709133114/

コメントを残す

メールアドレスが公開されることはありません。