Android下常見終端模擬器和SSH客戶端感受及幾個Tips

之前用Linux Deploy 部署瞭Kali Linux 。讓我這陣子拿到平板有一半的時間是在用終端模擬器(Terminal Emulator)連接。

安卓的終端模擬器,對我來說有3個比較重要的用途:第一個是進入本地的終端,進行一些安卓系統的操作,不過這類操作不會多;第二個是連接localhost 的Kali linux 來進行一系列工具的使用;還有一個就是使用Vim。

下面是我用過的幾個可以滿足其中一個或者幾個要求的幾個模擬器 Terminal IDE ,Android Terminal Emulator, ConnectBot ,VXConnectBot。

ConnectBot是安卓平臺下的一款開源的SSH Client,也是我第一個這方面的軟件。因為它有一個我比較無法容忍的的缺陷,所以這個軟件我沒用多久。那就是決定要提升碼字速度的時候,我毅然決然的外接瞭一個USB鍵盤。想不到它對小鍵盤的123456789對應的特殊字符!@#$%^&*()這些支持非常差。當我在它的Google Project 頁面 裡面找到瞭不少人也有遇到類似的問題,在查看Issues頁面時,發現有人推薦瞭一款VXConnectBot。

VXConnectBot是一款加強版的ConnectBot,幾乎把ConnectBot的缺點(物理鍵盤支持)都給彌補上瞭。

27141384862121

我們知道,在linux下面使用shell時會需要有一些快捷鍵使用到Ctrl、Shift和Alt 。而這個軟件的機制,按一下Ctrl然後光標就變成Ctrl專有的光標,接著按完一下 C它就是代表瞭Ctrl+C,按一下Ctrl然後再按一下L 就是Ctrl+L。每次一個組合快捷鍵要分2下按。嚴重的拖慢瞭碼字速度。如果要在平板上碼代碼之類的操作,那感覺有點像不定時經常便秘….接著就開始尋找替代品

Terminal IDE 是一款在找能夠在Android 上使用Gcc而找到的軟件,這軟件給人的感覺出乎意料的好(除瞭它200MB+的容量以外)。鍵盤鍵位支持,快捷鍵等都挺好的,但它有一個缺點就是沒辦法支持中文,目前我還找不到解決的方法(如果有人知道,請給我留言:) )

Android Terminal Emulator 這軟件放在平板裡也挺久瞭,一直都把它當成使用系統自帶和BusyBox的一些命令而用的。對鍵盤支持好,支持中文,快捷鍵也完美。不過要讓它連接上Linux Deploy的kali linux 還要麻煩一點,因為busybox默認沒有包含ssh,要手動下載android 下面原生的SSH Client 。在搜索的時候,我找到瞭StackexChange上的一個問題《Are there any command line SSH clients available for rooted Android phones?》回復裡有不少答案,其中最簡單的就是把 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)

或者直接在終端模擬器或開啟調試模式在adb shell下輸入

su      #使用管理員權限要設備已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等具體可以執行)
find /data/data/com.magicandroidapps.bettertermpro/bin/ -perm 0755 #查看

有人可能會問,為什麼我不直接使用Better Terminal Emulator Pro 呢?有兩個原因,第一個我已經遇到瞭幾乎能滿足我所有需要的Android Terminal Emulator 而我最後接觸的是Better Terminal Emulator Pro 發現其實它挺好的。如果Pro版本免費的話。(當然天朝裡安卓付費軟件的現狀大傢都懂~)看個人喜好吧。

執行瞭之前復制的操作,Android Terminal Emulator 也可以將默認的shell換成bash。

而現在用Android Terminal Emulator 連接到Kali 進行操作都挺順滑的

Busybox應該不用說都會安裝的吧。而android系統默認的toolbox有些功能就感覺有點閹割,比如ls 不能指定–color 如果遇到瞭命令功能不夠用的情況,可以自行吧原來鏈接到toolbox的命令刪掉,換成鏈接到busybox的較完整版命令。

#以ls這個命令為例
su
cd /system/bin/
rm ls
ln -s busybox ls

以後執行ls就是高端版本瞭~

附加一個Tip:Android 4.4 原生支持的Screenrecord 很多網站是說隻能在電腦上,通過

adb shell screenrecord /sdcard/test.mp4

實踐證明在終端模擬器下面

su    #取得root權限(前提已root)
screenrecord /sdcard/test.mp4  #也能成功錄像

原文:https://www.freebuf.com/geek/17743.html

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *