Termux應(yīng)用詳解

起因

幾個(gè)月前學(xué)了python,寫了幾個(gè)練手的爬蟲(chóng)必逆,要運(yùn)行很久才能下載到足夠的數(shù)據(jù),掛機(jī)一夜似乎有點(diǎn)費(fèi)電揽乱,我還心疼我的電腦呢名眉。就一直想拿一個(gè)安卓手機(jī)來(lái)跑,當(dāng)時(shí)只當(dāng)個(gè)想法凰棉,并沒(méi)有動(dòng)手實(shí)施损拢。結(jié)果最近恰逢老爸換手機(jī),于是舊手機(jī)撒犀,一個(gè)紅米note2被我拿來(lái)了福压,于是開(kāi)始了我的折騰之旅。我從未接觸過(guò)linux或舞,但幸好這方面的教程已經(jīng)很多隧膏,通過(guò)大量搜索和實(shí)踐,走了很多彎路嚷那,總算能完成預(yù)期目標(biāo)了胞枕。

開(kāi)始前

最好把手機(jī)root,雖然Termux不需要root權(quán)限也可以運(yùn)行魏宽,但root后可以用管理員權(quán)限腐泻,cd 進(jìn)入手機(jī)存儲(chǔ)目錄,后面可以干的事更多队询。
我把手機(jī)刷了miui7的開(kāi)發(fā)版派桩,反正也不會(huì)拿來(lái)用,隨便刷蚌斩。
root后铆惑,推薦裝一個(gè)re explorer,用來(lái)和電腦傳文件。因?yàn)殡娔X沒(méi)法直接訪問(wèn)手機(jī)內(nèi)置空間员魏。

為什么是Termux

Termux是我們的主角丑蛤,相當(dāng)于安卓上的linux虛擬機(jī)(這樣說(shuō)肯定不對(duì),但權(quán)且這么理解吧)撕阎,下載地址Google Play-Termux受裹。
一開(kāi)始我聽(tīng)說(shuō)GNU Root Debian功能更加強(qiáng)大,嘗試安裝這個(gè)花了很長(zhǎng)時(shí)間虏束。在google play上下載apk安裝后棉饶,每次打開(kāi)都閃退,底下提醒GNU Root not yet installed...我按照提示镇匀,以為還要安裝GNU Root照藻,正好google play上也有一個(gè)這名字的app,但安裝上后仍無(wú)法運(yùn)行汗侵。后來(lái)搜索發(fā)現(xiàn)岩梳,有人稱此app無(wú)法在聯(lián)發(fā)科CPU的手機(jī)上運(yùn)行(貼吧-實(shí)戰(zhàn)紅米手機(jī)安裝Debian系統(tǒng)),不巧紅米note2就是聯(lián)發(fā)科的晃择,倒霉...
所以我就選擇了Termux冀值,可以說(shuō)是因?yàn)闆](méi)辦法,但事實(shí)證明宫屠,Termux很強(qiáng)大列疗,絕對(duì)夠用。

Termux的安裝

我是按照知乎-如何讓自己在電腦上寫的python腳本在手機(jī)或安卓系統(tǒng)上運(yùn)行呢浪蹂?上的回答來(lái)安裝并配置Termux和python環(huán)境的抵栈。基本就是:

1. 更新包

apt update
apt upgrade

2. 修改源

export EDITOR=vi
apt edit-sources

在vi編輯器里把第二行替換成以下內(nèi)容(清華鏡像源)

deb [arch=all,arm] http://mirrors.tuna.tsinghua.edu.cn/termux stable main

在vi編輯器里坤次,輸入第一個(gè)i進(jìn)入編輯模式(插入)古劲,下面會(huì)給出提示“INSERT”,此時(shí)再打字就是在光標(biāo)左邊插入字符缰猴。等修改完畢后产艾,按住音量,同時(shí)輸入e滑绒,即可退出編輯模式闷堡。再輸入:wq保存并退出vi。

3. 安裝python3與相關(guān)模塊

# 安裝python3.6
apt install python python-dev

我目前僅會(huì)爬蟲(chóng)疑故,因此暫時(shí)只安裝了幾個(gè)用得到的模塊杠览。

# 安裝爬蟲(chóng)相關(guān)模塊

# beautifulsoup, requests
pip install BeautifulSoup4 requests

# lxml
apt-get install clang
apt-get install libxml2 libxml2-dev libxslt libxslt-dev
pip install lxml

使用Termux

安裝成功后就可以正常使用python了,有幾點(diǎn)技巧記下來(lái)纵势。


運(yùn)行python

1. 管理員身份

默認(rèn)是沒(méi)有管理員權(quán)限的踱阿,在執(zhí)行一些敏感操作時(shí)會(huì)提示Permission denied管钳,或者在cd到一些目錄時(shí)會(huì)提示無(wú)此文件夾。
輸入su進(jìn)入管理員身份软舌,第一次進(jìn)入時(shí)仍會(huì)提示Permission denied才漆,但此時(shí)Termux已經(jīng)申請(qǐng)了獲取手機(jī)的root權(quán)限,進(jìn)入安全中心的root權(quán)限管理葫隙,給Termux通過(guò)即可。此時(shí)再次su就可以成功了躏仇。

su進(jìn)管理員身份

在管理員身份下恋脚,輸入exit可回到普通用戶身份。
但Termux環(huán)境的根目錄是/data/data/com.termux/files焰手,而在su后的PATH環(huán)境變量是/sbin/su:/system/bin糟描,很多命令就用不了(貼吧-Termux下root權(quán)限問(wèn)題的解決辦法),比如此時(shí)就無(wú)法進(jìn)入python书妻。
此時(shí)無(wú)法打開(kāi)python

但按照上個(gè)網(wǎng)頁(yè)的說(shuō)法船响,tsu命令修復(fù)了PATH變量,但需要先安裝躲履。

# 安裝tsu
pkg install tsu

但我嘗試了一下见间,tsu后執(zhí)行python仍提示未安裝,我沒(méi)有繼續(xù)往下試工猜,也許能行米诉?

tsu提示沒(méi)有安裝python

2. 終止程序運(yùn)行

我們都知道用Ctrl+C終止程序,在Termux中篷帅,需要使用音量+c史侣。

3. 輸入法

我用的谷歌輸入法,一些常用的特殊符號(hào)可以在qwerty鍵盤上長(zhǎng)按得到魏身,比較方便惊橱。也有人推薦黑客鍵盤,試了下箭昵,不能輸入中文税朴,在別的地方還得切換,麻煩家制。
但不管用什么輸入法掉房,手機(jī)上敲代碼都太反人類了,下面介紹一下通過(guò)筆記本鍵盤連接Termux的方法慰丛。

遠(yuǎn)程鍵盤

我個(gè)人試驗(yàn)成功了兩種方法卓囚,都無(wú)需在電腦上安裝軟件,可以在命令行中運(yùn)行诅病。但為了簡(jiǎn)便起見(jiàn)哪亿,推薦安裝XShell5粥烁。

1. Remote Keyboard

通過(guò)Telnet方式與電腦通訊,下載地址Google Play-Remote Keyboard蝇棉,幾乎無(wú)需配置讨阻,極為簡(jiǎn)便
軟件安裝后打開(kāi)篡殷,即顯示以下界面

Remote Keyboard界面

此時(shí)點(diǎn)擊上方Select Keyboard钝吮,將默認(rèn)輸入法選為Remote Keyboard。
然后在電腦上進(jìn)入命令行板辽,輸入telnet [host] [port]奇瘦。比如按照上圖,在命令行輸入:

telnet 192.168.1.103 2323

即可進(jìn)入telnet界面劲弦,此時(shí)在該窗口按下的任何字符都可以在手機(jī)的輸入界面上顯示耳标。
如果上句報(bào)錯(cuò)telnet不是有效命令,按照百度經(jīng)驗(yàn)-Win7如何開(kāi)啟Telnet服務(wù)所說(shuō)開(kāi)啟服務(wù)邑跪。
但此方法有幾個(gè)嚴(yán)重缺點(diǎn):

  1. 最重要的次坡,會(huì)掉線,而且有時(shí)掉線后無(wú)論如何都無(wú)法重新連接上画畅。
  2. 有延遲砸琅,偶爾掉包。
  3. 不支持組合鍵轴踱。

2. SSH

這個(gè)方法比較高級(jí)明棍,但配置很麻煩,我弄了一天寇僧。當(dāng)然有l(wèi)inux基礎(chǔ)的人能很快上手摊腋,不懂的按照我的步驟,也能很快配置完成嘁傀。
手機(jī)上操作:

# 安裝openssh
apt install openssh

安裝完成后會(huì)在手機(jī)的data\data\com.termux\files\home下創(chuàng)建.ssh文件夾兴蒸,里面有文件authorized_keys,用于儲(chǔ)存可以通過(guò)驗(yàn)證的機(jī)器公鑰细办。
電腦上操作:
在電腦命令行輸入ssh橙凳,看是否報(bào)錯(cuò)。如果報(bào)錯(cuò)笑撞,下載并安裝OpenSSH岛啸,配置環(huán)境變量。確保命令行輸入ssh后正常運(yùn)行茴肥。
命令行輸入

ssh-keygen -t rsa

執(zhí)行完成后坚踩,會(huì)在C:\Users\username\.ssh文件夾下創(chuàng)建三個(gè)文件id_rsa, id_rsa.pub, known_hosts。分別是私鑰瓤狐、公鑰和連接記錄瞬铸,第一個(gè)文件不要泄露批幌。
然后通過(guò)各種方式將id_rsa.pub文件復(fù)制到手機(jī)的data\data\com.termux\files\home\.ssh文件夾內(nèi)。有人用adb push嗓节,我不會(huì)荧缘,用的復(fù)制粘貼大法...復(fù)制到電腦能訪問(wèn)到的sd卡中,再在手機(jī)上用re explorer移動(dòng)到目標(biāo)文件夾(手機(jī)必須root才可以做到)拦宣。
手機(jī)上操作:
首先cd到.ssh文件夾截粗,然后將公鑰內(nèi)容復(fù)制到驗(yàn)證文件中

# 復(fù)制公鑰內(nèi)容到驗(yàn)證文件
cat ./id_rsa.pub >> authorized_keys

再獲取用戶名,比如說(shuō)u0_a118

whoami

還需要保證.ssh文件夾的權(quán)限為700(即rwx------)鸵隧,而且用戶為u0_a118绸罗。
通過(guò)執(zhí)行ll -a命令可以查看當(dāng)前路徑下的所有文件和文件夾權(quán)限,但不能在普通用戶權(quán)限下執(zhí)行該命令掰派。

# 獲取管理員權(quán)限
su
# 進(jìn)入home目錄
cd data\data\com.termux\files\home
# 查看當(dāng)前路徑文件和文件夾權(quán)限
ll -a
執(zhí)行后如圖从诲,紅框內(nèi)為.ssh文件夾權(quán)限和用戶

若結(jié)果不對(duì)左痢,則需要修改

# 修改權(quán)限
chmod 700 .ssh
# 修改用戶和組
chown u0_a118:u0_a118 .ssh

同樣查看authorized_keys文件權(quán)限是否是600(rw-------)靡羡,用戶是否正確。不是的話按上述方法修改俊性。
此時(shí)已經(jīng)設(shè)置完成略步,通過(guò)sshd命令即可開(kāi)啟ssh服務(wù)器。

# 指定端口9000
sshd -p 9000

電腦上操作:
命令行輸入ssh [username]@[host] -p [port]即可連接定页,比如

ssh u0_a118@172.16.2.11 -p 9000
成功連接到Termux趟薄!

此后,在電腦命令行輸入指令典徊,手機(jī)即可執(zhí)行(但無(wú)任何顯示)杭煎,甚至手機(jī)可以熄屏。完美卒落!
最后羡铲,以成功運(yùn)行以前寫的爬蟲(chóng)程序圖結(jié)尾。


電腦通過(guò)SSH遠(yuǎn)程手機(jī)執(zhí)行爬蟲(chóng)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末儡毕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雷恃,更是在濱河造成了極大的恐慌倒槐,老刑警劉巖唱凯,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異票从,居然都是意外死亡峰鄙,警方通過(guò)查閱死者的電腦和手機(jī)吟榴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門锥咸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)搏予,“玉大人碗殷,你說(shuō)我怎么就攤上這事锌妻。” “怎么了牍陌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵贝室,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我唤冈,道長(zhǎng),這世上最難降的妖魔是什么傅物? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮卒暂,結(jié)果婚禮上介却,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好佩耳,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般挂捅。 火紅的嫁衣襯著肌膚如雪闲先。 梳的紋絲不亂的頭發(fā)上伺糠,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音琉朽,去河邊找鬼墅垮。 笑死耕漱,一個(gè)胖子當(dāng)著我的面吹牛算色,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播螟够,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼灾梦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了妓笙?” 一聲冷哼從身側(cè)響起若河,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寞宫,沒(méi)想到半個(gè)月后萧福,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辈赋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年鲫忍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钥屈。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡悟民,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焕蹄,到底是詐尸還是另有隱情逾雄,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站鸦泳,受9級(jí)特大地震影響银锻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜做鹰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一击纬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钾麸,春花似錦更振、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至钥平,卻和暖如春实撒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涉瘾。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工知态, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人立叛。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓负敏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親秘蛇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子其做,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345