安卓手机是否可以作为一台 Linux 主机使用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Devin
V2EX    Android

安卓手机是否可以作为一台 Linux 主机使用?

  •  1
     
  •   Devin 2020-12-27 17:49:36 +08:00 via Android 20730 次点击
    这是一个创建于 1759 天前的主题,其中的信息可能已经有所发展或是发生改变。
    旧手机性能不比树莓派差,可以用来跑一些 Linux 小服务之类的
    GlobalNPC
        1
    GlobalNPC  
       2020-12-27 17:51:08 +08:00   1
    基于 Termux 有好几种安装 Linux 方案
    GlobalNPC
        2
    GlobalNPC  
       2020-12-27 17:51:50 +08:00   9
    liuxey
        3
    liuxey  
       2020-12-27 18:20:05 +08:00   1
    楼上说了 Termux,正好推荐个 B 站的视频:BV174411d7Hr
    eason1874
        4
    eason1874  
       2020-12-27 18:20:36 +08:00   2
    怕是有兼容性问题,要是我,可能的话就当二手机卖掉,换树莓派。
    cs8425
        5
    cs8425  
       2020-12-27 18:36:10 +08:00   1
    喜欢折腾的话还行
    有 root 比较方便
    需要动到内核的通常都不能用
    设定开机自启动服务比较麻烦
    可能有些坑要自己想法解决
    之前有 node.js 的磁碟 IO 巨慢的问题
    不知修正没
    所以我后来只拿来跑 go 写的小东西(简单的 web, 远端操作手机)
    wangbenjun5
        6
    wangbenjun5  
       2020-12-27 18:49:17 +08:00
    没啥意义,不用 root 也能跑,你下个终端 APP 就可以执行 shell 命令,用 go 写的应用编译成 arm 的直接可以跑,图啥呢,云主机又不是很贵
    Kasumi20
        7
    Kasumi20  
       2020-12-27 19:04:48 +08:00
    就算可以安装原生 Linux 系统, 不能插网线, 如何连接是个问题
    Atomo
        8
    Atomo  
       2020-12-27 19:34:23 +08:00   1
    @Kasumi20 #7 网线是可以的使用的,如果手机是 type 口的,买一个 type-c 的 Rj45 扩展坞,即插即用
    dotiean
        9
    dotiean  
       2020-12-27 19:55:17 +08:00 via iPhone
    安静 吵到我用 tnt 了?
    leighton
        10
    leighton  
       2020-12-27 20:27:35 +08:00
    termux chroot 安装其他发行版,再加上 android 自带的 desktop mode 或者 Samsung dex,连接任意 type c 显示器应该可以当个 linux 主机用了
    debuggerx
        11
    debuggerx  
       2020-12-27 20:29:10 +08:00   1
    除了大家熟悉的 Termux,再推荐一下国产的 AID learning,试试就知道,很强大,我通过 ssh -x 在手机上跑 pycharm 竟然都非常流畅,还能直接执行用 pyqt5 写的软件
    zengming00
        12
    zengming00  
       2020-12-27 20:32:58 +08:00
    我的旧手机是用 linuxdeploy 搞的一个图形化系统,用 vnc 连接进去,主要需要解决下面这些问题:
    1. vnc 连接时鼠标显示为 x:编辑 xstartup 文件
    2. 解决图形界面下中文乱码:安装中文字体
    3. 安装中文输入法
    4. 安装 arm 版本 vscode (不推荐,因为 headmelted 版本在 linuxdeploy 下并不好用,可以用谷歌浏览器和 code-server 代替)

    另外,安装系统时,sdcard 文件系统可能不支持大文件,最好的办法是直接使用 /data/里面的文件夹

    折腾好之后,是可以当成开发机使用的,我有一段时间需要开发 arm 版本的 l 程序就是在这个手机上完成的

    不足之处就是很多软件安装起来非常折腾
    love
        13
    love  
       2020-12-27 21:58:23 +08:00
    电源是个麻烦,总不能 24 小时充电吧,怕烧了
    手机拿掉电池只接 USB 启动不了的吧?
    zackkk
        14
    zackkk  
       2020-12-27 22:36:27 +08:00
    @love 手机拿掉电池只接 usb,可以的。
    AmrtaShiva
        15
    AmrtaShiva  
       2020-12-27 23:02:58 +08:00 via iPhone
    @love HTC 一直充电好几个月了不拔下来
    fox0001
        16
    fox0001  
       2020-12-27 23:03:38 +08:00 via Android
    @zackkk #14 不是每个手机都可以这样玩
    fox0001
        17
    fox0001  
       2020-12-27 23:05:03 +08:00 via Android
    楼主,可以做,并不代表能做好…玩下,开心过就算了
    zhhww57
        18
    zhhww57  
       2020-12-27 23:10:51 +08:00
    终于有人提这个方案了,android 做 linux 主机,需要解决的问题,就是一边充电一边 otg 的问题,最好找个支持 pd 协议的,然后咸鱼收分线器,我归纳下:
    1 、支持一边 otg 一边充电,(方法包括但是不限于:无线充电,pd 充电等各种方法)
    2 、接口最好是 usb3.0 的,或者 usb3.1 的,otg 的时候可以接 hub,千兆网卡等
    zhhww57
        19
    zhhww57  
       2020-12-27 23:12:33 +08:00
    3 、完整功能的 USB TYPE-C 支持三个东西,是同时进行的,usb3.0,hdmi 输出,充电
    4 、这个时候需要给你的手机安一个 ssh,我记得 magisk 有个插件,不过是通过 ssh key 实现的,只要装了就可以自己生成 ssh key,这样通过 wifi 可以随时 ssh 上去,一开机就启用的那种,权限是 root
    zhhww57
        20
    zhhww57  
       2020-12-27 23:15:10 +08:00
    5 、也可以弄个原生 linux,弄 android 手机 linux 内核的源码,自己搞个版本出来,比如 debian 啥的,只要兼容供电+usb,基本问题不大,充电方面的话,可以这样安排,电量低于百分之二十开始充电,然后高于百分之八十停止充电,规则自己设定,反正长时间百分百充着我感觉并不好,或者电力百分之八十停止,百分之七十开始充电,需要写个守护进程进去负责这一块
    zhhww57
        21
    zhhww57  
       2020-12-27 23:16:49 +08:00
    之前就研究手机作 linux 系统,我发现最大的阻碍反倒是,边充电,边接 usb 分线器的问题,不能啥都走 wifi 和蓝牙啊。。。。。,把手机拆开,魔改添加 dc 口啥的。。。。感觉有点失去便携性了。。。。emm 。。。。
    systemcall
        22
    systemcall  
       2020-12-27 23:17:05 +08:00
    @Kasumi20 #7
    OTG 接个 USB 网卡就好了。试了一下好多手机都是支持的,哪怕是 MicroUSB 的也没有影响,只要支持 OTG 并且系统里面有对应的驱动
    供电的话,试过一些设备。直接在 OTG 模式的情况下给 Vbus 加上 5V 的供电,是可以对其供电的,不过不排除一些设备不能够这样
    zhhww57
        23
    zhhww57  
       2020-12-27 23:17:56 +08:00
    有了完整 type-c 的话,可以外接个 4k 显示器,运行个 debian,分出两三个 usb3.0,然后外界充电
    zhhww57
        24
    zhhww57  
       2020-12-27 23:19:42 +08:00
    pd 充电宝给便携式显示器供电,然后再给手机供电,手机再分出 usb3.0,手机再接便携式显示器,系统移植一个 ubuntu arm 版本,接个鼠标键盘,然后 3d 打印一个外壳,妥妥的笔记本啊。电池就是充电宝
    systemcall
        25
    systemcall  
       2020-12-27 23:21:04 +08:00
    可以。如果是老点的手机,root 之后 chroot 跑 Linux,就可以了
    如果是新点的手机,装个 Termux,再装个 tmoe,用 tmoe 装 Linux 就可以了
    图形界面不一定要在本机上显示,甚至不一定需要图形界面。图形界面可以用 noVNC 来解决
    上面说到了 AID Learning,感觉软件可以,就是要的权限太多了,而且很大。总感觉里面不干净
    安卓的磁盘 I/O 性能真的烂。用过就知道了。这几年头一次见到写入一个比较大的文件可以把整个系统卡死的,挂 bt 都难
    zhhww57
        26
    zhhww57  
       2020-12-27 23:21:20 +08:00
    手机存储不够也不要怕,外界个硬盘盒,usb3.0 外接硬盘壳,接 sata 的 ssd,比如接个 1t 的,然后做个槽,rec 下再做个开机选单,手机放进去,启动到 rec 选择你自己的模式,秒变笔记本。linux 系统的
    zhhww57
        27
    zhhww57  
       2020-12-27 23:23:20 +08:00
    @systemcall 要是能 root 的话,可以试试看关掉 userdata 分区加密,然后分区改 f2fs,弄个内核模块,我以前的老小米 5,我这样干过,要是实在压不住,可以考虑外接移动硬盘组个 raid0 和内置存储
    zhhww57
        28
    zhhww57  
       2020-12-27 23:23:55 +08:00
    内存大的话,可以牺牲 1G 的内存作为硬盘缓存,用来加速的
    @systemcall
    FurN1
        29
    FurN1  
       2020-12-28 00:05:17 +08:00
    @zhhww57 是的,otg 是正确方法!
    kwanzaa
        30
    kwanzaa  
       2020-12-28 00:19:11 +08:00
    可以,之前外出的时候拿手机工作过。
    蓝牙键盘+ipad ssh 在 Termux 上直接开干。
    yfwl
        31
    yfwl  
       2020-12-28 01:10:34 +08:00
    可以,自己 DD 就行了
    nguoidiqua
        32
    nguoidiqua  
       2020-12-28 01:17:49 +08:00 via Android
    其实有个 postmarketOS,直接把手机刷成 Linux,而非 chroot proot 什么的,基于 Alpine,用起来和一般 Linux 发行版差不多了。

    不过刷起来不是那么简便,可能需要自己编译对应手机 ROM 。

    另外还有个 MaruOS,是在 LineageOS 的基础上通过容器提供了一个 Linux 环境( Debian ),插上显示器就会显示 Linux 桌面( Xfce )。不过支持的设备就几款,除此之外的也需要自己去编译。
    ma2553047
        33
    ma2553047  
       2020-12-28 07:42:35 +08:00 via Android
    为啥不考虑国产的电视盒子
    cwyalpha
        34
    cwyalpha  
       2020-12-28 08:27:36 +08:00 via iPhone
    @infun 这个教程太丧心病狂了
    dingwen07
        35
    dingwen07  
       2020-12-28 08:34:42 +08:00 via Android
    Z1on
        36
    Z1on  
       2020-12-28 08:56:56 +08:00 via Android
    @love 可以用 AccA 控制开始和结束充电的范围(需要 root )
    ligiggy
        37
    ligiggy  
       2020-12-28 09:07:15 +08:00
    @dotiean 哈哈哈,这个梗放到这里就很搞笑……
    zengming00
        38
    zengming00  
       2020-12-28 09:12:53 +08:00
    正规厂家的手机和充电器是可以 7x24 小时充电的,如果担心有问题那干脆直接把电池拆了接个 4.2v 电源
    darknoll
        39
    darknoll  
       2020-12-28 09:28:51 +08:00
    电池爆炸
    evilcoming
        40
    evilcoming  
       2020-12-28 09:36:56 +08:00
    可以用,就怕电池爆炸
    raptor
        41
    raptor  
       2020-12-28 09:45:45 +08:00
    不建议折腾。装原生 LINUX 面临驱动问题,直接在 android 上弄其实并不好用
    LiYanHong
        42
    LiYanHong  
       2020-12-28 09:50:00 +08:00
    电信 4g 有公网,流量需求不大的话,用起来还是挺方便的
    knightdf
        43
    knightdf  
       2020-12-28 10:34:20 +08:00
    树莓派不香?
    julyclyde
        44
    julyclyde  
       2020-12-28 10:53:18 +08:00
    @zhhww57 USB-C 的视频信号是 DP 的,不是 HDMI 的
    jigong1234
        45
    jigong1234  
       2020-12-28 10:56:52 +08:00
    可以但是没必要,太折腾了
    gearfox
        46
    gearfox  
       2020-12-28 14:41:20 +08:00
    @dotiean 哈哈哈哈哈哈
    Lemeng
        47
    Lemeng  
       2020-12-28 14:50:06 +08:00
    玩玩就好了
    cache
        48
    cache  
       2020-12-28 19:24:25 +08:00
    zhhww57
        49
    zhhww57  
       2020-12-28 21:55:14 +08:00
    @julyclyde 这个知道的,其实说的时候我就知道,不过感谢指正,其实确实是 dp 信号,不过不少卖转接器的厂家,是加装了芯片,把 dp 转成 hdmi 的,之前闲鱼有不少走私(怀疑)的 type-c 一分三,特别便宜 30-40 元就可以买到,是分别转成:1 、usb pd 充电 2 、usb 3.0 3 、hdmi 接口 ,后来查询资料知道,这个 hdmi 接口是用芯片把 dp 信号转成 hdmi 的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3284 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:16/a> PVG 19:16 LAX 04:16 JFK 07:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86