Android下常見終端模擬器和SSH客戶端感受及幾個Tips
之前用Linux Deploy 部署了Kali Linux 。讓我這陣子拿到平板有一半的時(shí)間是在用終端模擬器(Terminal Emulator)連接。
安卓的終端模擬器,對我來說有3個比較重要的用途:第一個是進(jìn)入本地的終端,進(jìn)行一些安卓系統(tǒng)的操作,不過這類操作不會多;第二個是連接localhost 的Kali linux 來進(jìn)行一系列工具的使用;還有一個就是使用Vim。
下面是我用過的幾個可以滿足其中一個或者幾個要求的幾個模擬器 Terminal IDE ,Android Terminal Emulator, ConnectBot ,VXConnectBot。
ConnectBot是安卓平臺下的一款開源的SSH Client,也是我第一個這方面的軟件。因?yàn)樗幸粋€我比較無法容忍的的缺陷,所以這個軟件我沒用多久。那就是決定要提升碼字速度的時(shí)候,我毅然決然的外接了一個USB鍵盤。想不到它對小鍵盤的123456789對應(yīng)的特殊字符!@#$%^&*()這些支持非常差。當(dāng)我在它的Google Project 頁面 里面找到了不少人也有遇到類似的問題,在查看Issues頁面時(shí),發(fā)現(xiàn)有人推薦了一款VXConnectBot。
VXConnectBot是一款加強(qiáng)版的ConnectBot,幾乎把ConnectBot的缺點(diǎn)(物理鍵盤支持)都給彌補(bǔ)上了。
我們知道,在linux下面使用shell時(shí)會需要有一些快捷鍵使用到Ctrl、Shift和Alt 。而這個軟件的機(jī)制,按一下Ctrl然后光標(biāo)就變成Ctrl專有的光標(biāo),接著按完一下 C它就是代表了Ctrl+C,按一下Ctrl然后再按一下L 就是Ctrl+L。每次一個組合快捷鍵要分2下按。嚴(yán)重的拖慢了碼字速度。如果要在平板上碼代碼之類的操作,那感覺有點(diǎn)像不定時(shí)經(jīng)常便秘….接著就開始尋找替代品
Terminal IDE 是一款在找能夠在Android 上使用Gcc而找到的軟件,這軟件給人的感覺出乎意料的好(除了它200MB+的容量以外)。鍵盤鍵位支持,快捷鍵等都挺好的,但它有一個缺點(diǎn)就是沒辦法支持中文,目前我還找不到解決的方法(如果有人知道,請給我留言:) )
Android Terminal Emulator 這軟件放在平板里也挺久了,一直都把它當(dāng)成使用系統(tǒng)自帶和BusyBox的一些命令而用的。對鍵盤支持好,支持中文,快捷鍵也完美。不過要讓它連接上Linux Deploy的kali linux 還要麻煩一點(diǎn),因?yàn)閎usybox默認(rèn)沒有包含ssh,要手動下載android 下面原生的SSH Client 。在搜索的時(shí)候,我找到了StackexChange上的一個問題《Are there any command line SSH clients available for rooted Android phones?》回復(fù)里有不少答案,其中最簡單的就是把 Better Terminal Emulator Pro 里面包含的ssh,scp等文件直接拷過來。
安裝后 用Root Explorer 把
/data/data/com.magicandroidapps.bettertermpro/bin/
里面的SCP和SSH(這里的SCP和SSH Client 是Dropbear版)拷到/system/bin/目錄下 注意要掛載對/system/的讀寫
(或者拷貝同目錄下的OpenSSH和OpenSCP)
或者直接在終端模擬器或開啟調(diào)試模式在adb shell下輸入
su #使用管理員權(quán)限要設(shè)備已root
mount -o rw,remount yassf2 /system/ #掛載對/system/目錄的讀寫
find /data/data/com.magicandroidapps.bettertermpro/bin/ -perm 0755 -type f ! -name "busybox*" -exec cp {} /system/bin/ \; #把bin目錄下除了busybox以外的程序都拷到/system/bin/目錄下
#其中包含不少使用工具如(ssh,openssh,dropbear,dropbearkey等具體可以執(zhí)行)
find /data/data/com.magicandroidapps.bettertermpro/bin/ -perm 0755 #查看
有人可能會問,為什么我不直接使用Better Terminal Emulator Pro 呢?有兩個原因,第一個我已經(jīng)遇到了幾乎能滿足我所有需要的Android Terminal Emulator 而我最后接觸的是Better Terminal Emulator Pro 發(fā)現(xiàn)其實(shí)它挺好的。如果Pro版本免費(fèi)的話。(當(dāng)然天朝里安卓付費(fèi)軟件的現(xiàn)狀大家都懂~)看個人喜好吧。
執(zhí)行了之前復(fù)制的操作,Android Terminal Emulator 也可以將默認(rèn)的shell換成bash。
而現(xiàn)在用Android Terminal Emulator 連接到Kali 進(jìn)行操作都挺順滑的
Busybox應(yīng)該不用說都會安裝的吧。而android系統(tǒng)默認(rèn)的toolbox有些功能就感覺有點(diǎn)閹割,比如ls 不能指定–color 如果遇到了命令功能不夠用的情況,可以自行吧原來鏈接到toolbox的命令刪掉,換成鏈接到busybox的較完整版命令。
#以ls這個命令為例
su
cd /system/bin/
rm ls
ln -s busybox ls
以后執(zhí)行l(wèi)s就是高端版本了~
附加一個Tip:Android 4.4 原生支持的Screenrecord 很多網(wǎng)站是說只能在電腦上,通過
adb shell screenrecord /sdcard/test.mp4
實(shí)踐證明在終端模擬器下面
su #取得root權(quán)限(前提已root)
screenrecord /sdcard/test.mp4 #也能成功錄像