本文是为了实现“在自已的android手机上运行文件服务器”这个想法而写的。
本文的后续文章是在android搭建个人的文件中心(3)--Termux中使用ssh服务器这篇文章。
如何在android中运行文件服务器?
我的解决方法是在android安装Termux,然后在Termux上安装并运行linux下的程序sshd,再用sshd建立sftp服务器。
Termux是一个运行在android的linux环境终端。Termux Wiki里面有对termux应用的详细说明。
安装了Termux,可以在android运行很多linux程序,包括sshd。
1. Termux的安装
从google Play 或 F-Droid(Free and Open Source Android App Repository)两个应用商店都可以安装Termux。前者国内没法用,后者可以。
F-Droid是一个专门提供开源android程序的商店。Termux是开源软件,也包括在内。
2. Termux的简单配置
Termux的配置文件是~/.termux/termux.properties ,wiki上有此配置文件的说明[1]。这里仅介绍刚安装完成后的初步设置。
2.1 Termux访问手机内部存储
打开Termux,出现一个运行bash的终端,工作目录是/data/data/com.termux/files/home,相当于linux的~目录,这里一开始什么都没有。
『注:/data/data/com.termux/files/是termux的“根目录”。android真正的根目录是/。但如果设备没有root,/data/data/com.termux/以上的目录大部分是没法访问的,会提示权限不够。』
为了访问内部存储,运行termux-setup-storage即可[2]。
$ termux-setup-storage
此命令在home中创建storage文件夹,里面有shared、dcim、downloads、pictures等等链接,分别指向内部存储的相应文件夹,其中shared是指向内部存储的根目录[2]。
还有一种方法是直接访问/storage/emulated/0/这个目录,此目录就是内部存储的目录。
$ cd /storage/emulated/0/
2.2 Termux软键盘
android的键盘上没有alt、ctrl、tab和Esc这些按键。这些键对于使用终端来说很重要。wiki上给出了用音量键加字母键的方法,但是如果这些按键出现在键盘上更方便些。
参照wiki[3],在~/.termux/termux.properties(如无此文件,需要先创建)中写入extra-keys = [['xxx','xxx'...],[...]...]格式的语句,可以在android键盘的上方增加几行按键。
例如写入下面的语句。
extra-keys=[["ESC","TAB","INS","PAGEUP","HOME","UP","END"],["CTRL","ALT","DEL","PAGEDOWN","LEFT","DOWN","RIGHT"]]
产生的效果如下图所示。

为了编辑方便,也可以用“”来分行,这与bash的语法很像。下面的语句起到与上面相同的效果,但是更方便修改。
extra-keys=[
["ESC","TAB","INS","PAGEUP","HOME","UP","END"],
["CTRL","ALT","DEL","PAGEDOWN","LEFT","DOWN","RIGHT"]]
参考
- ^https://wiki.termux.com/wiki/Terminal_Settings
- ^abhttps://wiki.termux.com/wiki/Termux-setup-storage
- ^https://wiki.termux.com/wiki/Touch_Keyboard