FydeOS是基于ChromeOS修改的系统,支持安卓运行环境,通过crostini还可以支持Linux系统。

进入终端

FydeOS默认提供的是桌面环境,但对于高级用户来说经常需要用命令行执行一些操作。进入命令行终端的方式有两种,一种是crosh终端,一种是开发者终端。

crosh

打开Chromium浏览器,用快捷键Ctrl+Alt+T即可打开终端。该终端是ChromeOS的crosh shell,只能运行少量几个命令,如果要进入完整的Linux Bash Shell在命令行中敲shell后回车即可。

开发者终端

用快捷键Ctrl+Alt+F2切换到另一个控制台,这和Linux的用法一样。FydeOS支持四个控制台,Ctrl+Alt+F1是图像界面,Ctrl+Alt+F2~F4是命令行。需要登录,用户名默认为chronos,没有密码。如果想切换到root帐号用下面的命令

  1. sudo -i
  2. sudo su -

SSH登录

有时用SSH登录到FydeOS上会更方便工作。FydeOS默认开启了SSH服务,但连接需要密码,而chronos帐号默认又没有密码,所以默认连接SSH会失败。

修改密码

进入终端后可以修改chronos的密码,修改成功后就可以用该密码连接SSH服务了。

  1. $ sudo mount -o remount rw /
  2. $ sudo passwd chronos

查看IP

进入终端后可以用ifconfig命令查看设备IP地址。FydeOS的网卡比较多,有些是给ARC用的虚拟网卡。如果用有线方式连接主要看eth0这个网卡,如果用WiFi连接的要看wlan0这个网卡的IP。

连接SSH

在另一台电脑上执行下面的命令连接到FydeOS。chronos是登录的用户名,192.168.3.16是上一步得到的设备IP地址。

  1. $ ssh chronos@192.168.3.16
  2. Password:

输入上面修改过的密码即可。

termina基本用法

进入 Termina,安装容器

vmc list查看虚拟机

  1. chronos@localhost ~ $ vmc list
  2. termina (107374215168 bytes, min shrinkable size 4333764608 bytes, raw)
  3. Total Size (bytes): 107374215168

vmc start termina启动虚拟机

  1. chronos@localhost ~ $ vmc start termina
  2. (termina) chronos@localhost ~ $

lxc list列出已经安装的容器:

  1. (termina) chronos@localhost ~ $ lxc list
  2. +---------+---------+------+------+------------+-----------+
  3. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  4. +---------+---------+------+------+------------+-----------+
  5. | penguin | STOPPED | | | PERSISTENT | 0 |
  6. +---------+---------+------+------+------------+-----------+

lxc start可以启动容器,该命令如果执行成功没有任何提示,再次lxc list可以看到容器状态是RUNNING。

  1. (termina) chronos@localhost ~ $ lxc start penguin
  2. (termina) chronos@localhost ~ $ lxc list
  3. +---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
  4. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  5. +---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
  6. | penguin | RUNNING | 100.115.92.201 (eth0) | 2408:8207:24d3:13e1:216:3eff:fe07:97d4 (eth0) | PERSISTENT | 0 |
  7. +---------+---------+-----------------------+-----------------------------------------------+------------+-----------+

lxc stop可以关闭容器

  1. (termina) chronos@localhost ~ $ lxc stop penguin
  2. (termina) chronos@localhost ~ $ lxc list
  3. +---------+---------+------+------+------------+-----------+
  4. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  5. +---------+---------+------+------+------------+-----------+
  6. | penguin | STOPPED | | | PERSISTENT | 0 |
  7. +---------+---------+------+------+------------+-----------+

lxc launch创建容器
基于镜像创建容器lxc launch 镜像名 容器名,没有相同容器名的容器时,就会创建一个以这个镜像为基础的容器同时启动容器。如果已经有该容器名称的容器,则启动容器。

  1. (termina) chronos@localhost ~ $ lxc launch ubuntu:18.04
  2. Creating the container
  3. Container name is: bright-jackass
  4. Starting bright-jackass

lxc image list查看已有的镜像文件

  1. (termina) chronos@localhost ~ $ lxc image list
  2. +-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
  3. | ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | SIZE | UPLOAD DATE |
  4. +-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
  5. | | 6063f2011ba1 | no | ubuntu 18.04 LTS amd64 (release) (20201031) | x86_64 | 189.70MB | Nov 3, 2020 at 10:06pm (UTC) |
  6. +-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
  7. | | 6cc6ead01186 | no | Debian buster amd64 (20200721_05:24) | x86_64 | 348.73MB | Nov 2, 2020 at 11:41am (UTC) |
  8. +-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+

进入容器的命令行

执行容器的命令行

  1. (termina) chronos@localhost ~ $ lxc exec bright-jackass -- bash
  2. root@bright-jackass:~#

添加用户,设置密码,将该用户添加到sudoers文件中,然后退出命令行。

  1. root@bright-jackass:~# useradd -m zachary
  2. root@bright-jackass:~# passwd zachary
  3. Enter new UNIX password:
  4. Retype new UNIX password:
  5. passwd: password updated successfully
  6. root@bright-jackass:~# visudo
  7. root@bright-jackass:~# exit
  8. exit
  9. (termina) chronos@localhost ~ $

登录到容器

lxc console登录到容器,输入刚才设置的用户名和密码,就可以进入ubuntu的shell了。

  1. (termina) chronos@localhost ~ $ lxc console bright-jackass
  2. To detach from the console, press: <ctrl>+a q
  3. Ubuntu 18.04.5 LTS bright-jackass console
  4. bright-jackass login: zachary
  5. Password:
  6. run-parts: /etc/update-motd.d/98-fsck-at-reboot exited with return code 1
  7. The programs included with the Ubuntu system are free software;
  8. the exact distribution terms for each program are described in the
  9. individual files in /usr/share/doc/*/copyright.
  10. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
  11. applicable law.
  12. $

退出时先按Ctrl+a,这时没有任何反应,然后再按q就从容器退回到termina中了。

重命名容器

由于一些限制,目前 FydeOS 的 Linux(测试版)仅集成名为penguin的容器可以启用。因此需要重命名容器(不要删除自带的 Debian 容器):

  1. (termina) chronos@localhost ~ $ lxc stop bright-jackass
  2. (termina) chronos@localhost ~ $ lxc rename penguin debian
  3. (termina) chronos@localhost ~ $ lxc rename bright-jackass penguin
  4. (termina) chronos@localhost ~ $ lxc list
  5. +---------+---------+------+------+------------+-----------+
  6. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  7. +---------+---------+------+------+------------+-----------+
  8. | debian | STOPPED | | | PERSISTENT | 0 |
  9. +---------+---------+------+------+------------+-----------+
  10. | penguin | STOPPED | | | PERSISTENT | 0 |
  11. +---------+---------+------+------+------------+-----------+

软件包管理器

FydeOS 的软件包管理器

请注意,这里指的是 FydeOS 本身,而不是 Linux(测试版)。理论上您有两种包管理器可以使用,一种是专门为 Chromium OS 系开发的 chromebrew,而另一种则是 Linux 发行版中常见的 Apt。自然由于 Chromium OS 自身的种种限制,使用 Apt 需要手动对 Apt 本身及其依赖文件进行手动复制安装,并且需要「伪包」以满足 Apt 所有的依赖关系,因此本文仅介绍 chromebrew 的安装方法。

如何安装

您可以通过以下方式对 chromebrew 进行安装:
使用 Ctrl + Alt + t 打开终端并输入 shell
然后输入并运行以下脚本:

  1. curl -Ls git.io/vddgY | bash

在一段时间的下载与安装后(可能需要 10 分钟左右的时间,视您的网络情况而定),chromebrew 便能在您的 FydeOS 中使用了。

如何使用

以下是 chromebrew 的常见使用方法:

  • 安装软件包:crew install *包名*
  • 卸载软件包:crew remove *包名*
  • 升级所有软件包到最新版本:crew upgrade
  • 查询帮助:crew help

其详细用法,请参见:chromebrew 的官方 Github 仓库页面