0x00 背景小米平板5開始支持了鍵盤與鼠標(biāo),終于離生產(chǎn)力工具越來越近了。因此,從入手小米平板5開始,就想著怎么安裝一個(gè)linux系統(tǒng),可以在里面安裝vscode,以便使用pad開發(fā)代碼。下面是這段折騰之路的記錄。 0x01 使用Aid Learning方案Aid Learning是一個(gè)為在Android機(jī)器上進(jìn)行AI開發(fā)而實(shí)現(xiàn)的APP,官網(wǎng)地址為:http://www./。這個(gè)APP內(nèi)置了vscode,對于不想折騰的同學(xué)非常友好。
但是,這個(gè)應(yīng)用的實(shí)現(xiàn)方案是創(chuàng)建了一個(gè)vscode server,客戶端其實(shí)只是一個(gè)瀏覽器。這種方式體驗(yàn)上并不是很好,所以還是想達(dá)到與linux本地開發(fā)一致的體驗(yàn)。

0x02 在Termux中安裝linux系統(tǒng)Termux是一個(gè)Android上的終端模擬器,可以免root模擬linux環(huán)境,同時(shí)提供了大量linux上的軟件供安裝使用,但它本質(zhì)上還是一個(gè)Android環(huán)境。在這個(gè)環(huán)境中可以通過安裝proot-distro工具來安裝真正的linux系統(tǒng)。
APK下載地址:https:///packages/com.termux/。 $ apt install proot-distro
COPY $ proot-distro listSupported distributions: Alpine Linux (3.14.1) Alias: alpine Status: NOT installed Arch Linux Alias: archlinux Status: NOT installed Debian (bullseye) Alias: debian Status: NOT installed Fedora (34) Alias: fedora Status: installed Gentoo Alias: gentoo Status: NOT installed OpenSUSE (Tumbleweed) Alias: opensuse Status: NOT installed Ubuntu (20.04) Alias: ubuntu Status: installed Void Linux Alias: void Status: NOT installedInstall selected one with: proot-distro install <alias>COPY 上面是目前支持的linux發(fā)行版列表。使用以下命令安裝預(yù)期的linux系統(tǒng): $ proot-distro install ubuntu
COPY 由于我這里需要桌面系統(tǒng),在嘗試了多個(gè)系統(tǒng)之后,最終選擇了Fedora。安裝之后使用以下命令進(jìn)入linux終端環(huán)境: $ proot-distro login fedoraLast login: Wed Sep 1 16:39:52 UTC 2021 on pts/5[root@localhost ~]#COPY 可以看到,默認(rèn)進(jìn)入的是root環(huán)境。這里做一些簡單的測試。 # uname -a
Linux localhost 5.4.0-faked #1 SMP PREEMPT Fri Jul 30 03:13:42 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
# cat /etc/os-release
NAME=Fedora
VERSION='34 (Container Image)'
ID=fedora
VERSION_ID=34
VERSION_CODENAME=''
PLATFORM_ID='platform:f34'
PRETTY_NAME='Fedora 34 (Container Image)'
ANSI_COLOR='0;38;2;60;110;180'
LOGO=fedora-logo-icon
CPE_NAME='cpe:/o:fedoraproject:fedora:34'
HOME_URL='https:///'
DOCUMENTATION_URL='https://docs./en-US/fedora/f34/system-administrators-guide/'
SUPPORT_URL='https:///wiki/Communicating_and_getting_help'
BUG_REPORT_URL='https://bugzilla./'
REDHAT_BUGZILLA_PRODUCT='Fedora'
REDHAT_BUGZILLA_PRODUCT_VERSION=34
REDHAT_SUPPORT_PRODUCT='Fedora'
REDHAT_SUPPORT_PRODUCT_VERSION=34
PRIVACY_POLICY_URL='https:///wiki/Legal:PrivacyPolicy'
VARIANT='Container Image'
VARIANT_ID=container
COPY 當(dāng)然,這里的root不是真的root,不能夠訪問網(wǎng)卡等設(shè)備資源。因此,在這里環(huán)境里是不能抓包的。 0x03 安裝桌面系統(tǒng)使用命令行界面畢竟還是不太方便,需要開啟桌面系統(tǒng)??梢允褂靡韵旅畎惭b桌面系統(tǒng)以及firefox瀏覽器: # dnf install mate-session-manager mate-desktop mate-themes mate-terminal pluma caja marco glibc-langpack-en firefoxCOPY 此時(shí),還不能直接開啟桌面系統(tǒng),需要配置DISPLAY環(huán)境變量??梢允褂靡韵聝煞N方式配置這個(gè)環(huán)境變量: 其中,第二種方法模擬了XServer服務(wù),更接近linux的日常使用。XSDL的安裝包可以在以下地址:https:///projects/libsdl-android/files/apk/XServer-XSDL/中獲取。 啟動后,會提示在終端中配置以下環(huán)境變量: $ export DISPLAY=localhost:0 PULSE_SERVER=tcp:localhost:4713
COPY 然后啟動桌面系統(tǒng):mate-session。XSDL窗口中很快就看到linux桌面了。
 雖說系統(tǒng)界面談不上特別美觀,但至少夠用了,基本的使用應(yīng)該沒啥問題(要啥自行車?。?/p> 0x04 安裝常用軟件# dnf install fcitx fcitx-sunpinyin fcitx-configtool im-chooserCOPY 然后使用im-chooser命令進(jìn)行輸入法相關(guān)設(shè)置。 在vscode官網(wǎng)下載arm64版本的vscode deb包,使用dpkg -i vscode.deb命令安裝到系統(tǒng)中。 由于vscode不讓使用root權(quán)限運(yùn)行,因此,需要創(chuàng)建普通賬號: # useradd -m drunkdream
# dnf install passwd
# passwd shadowyang
COPY 此時(shí),需要使用以下命令行進(jìn)入fedora:proot-distro login fedora --user drunkdream。如果要進(jìn)入root權(quán)限,可以使用su命令,輸入密碼即可。 Android系統(tǒng)與fedora之間沒法直接進(jìn)行復(fù)制、粘貼等操作,此時(shí),可以借助一些文件管理工具來達(dá)到這一效果。我使用的是filebrowser,直接下載后放到/usr/local/bin目錄下,需要的時(shí)候啟動起來即可。 0x05 總結(jié)Android平板可以通過安裝termux應(yīng)用,進(jìn)一步安裝完整的linux系統(tǒng),來達(dá)到創(chuàng)建開發(fā)環(huán)境的目的。因此,平板在一定程度上是可以取代筆記本,達(dá)到便攜式開發(fā)和遠(yuǎn)程處理緊急工作的目的。
|