V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Devin
V2EX  ›  Android

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

  •  1
     
  •   Devin · 2020-12-27 17:49:36 +08:00 via Android · 17375 次点击
    这是一个创建于 1433 天前的主题,其中的信息可能已经有所发展或是发生改变。
    旧手机性能不比树莓派差,可以用来跑一些 Linux 小服务之类的
    49 条回复    2020-12-28 21:55:14 +08:00
    infun
        1
    infun  
       2020-12-27 17:51:08 +08:00   ❤️ 1
    基于 Termux 有好几种安装 Linux 方案
    infun
        2
    infun  
       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
    IgniteWhite
        29
    IgniteWhite  
       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   ·   实用小工具   ·   2832 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 07:11 · PVG 15:11 · LAX 23:11 · JFK 02:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.