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帐号用下面的命令
sudo -i
或
sudo su -
SSH登录
有时用SSH登录到FydeOS上会更方便工作。FydeOS默认开启了SSH服务,但连接需要密码,而chronos帐号默认又没有密码,所以默认连接SSH会失败。
修改密码
进入终端后可以修改chronos的密码,修改成功后就可以用该密码连接SSH服务了。
$ sudo mount -o remount rw /
$ sudo passwd chronos
查看IP
进入终端后可以用ifconfig命令查看设备IP地址。FydeOS的网卡比较多,有些是给ARC用的虚拟网卡。如果用有线方式连接主要看eth0这个网卡,如果用WiFi连接的要看wlan0这个网卡的IP。
连接SSH
在另一台电脑上执行下面的命令连接到FydeOS。chronos是登录的用户名,192.168.3.16是上一步得到的设备IP地址。
$ ssh chronos@192.168.3.16
Password:
termina基本用法
进入 Termina,安装容器
vmc list查看虚拟机
chronos@localhost ~ $ vmc list
termina (107374215168 bytes, min shrinkable size 4333764608 bytes, raw)
Total Size (bytes): 107374215168
vmc start termina启动虚拟机
chronos@localhost ~ $ vmc start termina
(termina) chronos@localhost ~ $
lxc list列出已经安装的容器:
(termina) chronos@localhost ~ $ lxc list
+---------+---------+------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+------+------+------------+-----------+
| penguin | STOPPED | | | PERSISTENT | 0 |
+---------+---------+------+------+------------+-----------+
lxc start可以启动容器,该命令如果执行成功没有任何提示,再次lxc list可以看到容器状态是RUNNING。
(termina) chronos@localhost ~ $ lxc start penguin
(termina) chronos@localhost ~ $ lxc list
+---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
| penguin | RUNNING | 100.115.92.201 (eth0) | 2408:8207:24d3:13e1:216:3eff:fe07:97d4 (eth0) | PERSISTENT | 0 |
+---------+---------+-----------------------+-----------------------------------------------+------------+-----------+
lxc stop可以关闭容器
(termina) chronos@localhost ~ $ lxc stop penguin
(termina) chronos@localhost ~ $ lxc list
+---------+---------+------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+------+------+------------+-----------+
| penguin | STOPPED | | | PERSISTENT | 0 |
+---------+---------+------+------+------------+-----------+
lxc launch创建容器
基于镜像创建容器lxc launch 镜像名 容器名
,没有相同容器名的容器时,就会创建一个以这个镜像为基础的容器同时启动容器。如果已经有该容器名称的容器,则启动容器。
(termina) chronos@localhost ~ $ lxc launch ubuntu:18.04
Creating the container
Container name is: bright-jackass
Starting bright-jackass
lxc image list查看已有的镜像文件
(termina) chronos@localhost ~ $ lxc image list
+-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCH | SIZE | UPLOAD DATE |
+-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
| | 6063f2011ba1 | no | ubuntu 18.04 LTS amd64 (release) (20201031) | x86_64 | 189.70MB | Nov 3, 2020 at 10:06pm (UTC) |
+-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
| | 6cc6ead01186 | no | Debian buster amd64 (20200721_05:24) | x86_64 | 348.73MB | Nov 2, 2020 at 11:41am (UTC) |
+-------+--------------+--------+---------------------------------------------+--------+----------+------------------------------+
进入容器的命令行
执行容器的命令行
(termina) chronos@localhost ~ $ lxc exec bright-jackass -- bash
root@bright-jackass:~#
添加用户,设置密码,将该用户添加到sudoers文件中,然后退出命令行。
root@bright-jackass:~# useradd -m zachary
root@bright-jackass:~# passwd zachary
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@bright-jackass:~# visudo
root@bright-jackass:~# exit
exit
(termina) chronos@localhost ~ $
登录到容器
lxc console登录到容器,输入刚才设置的用户名和密码,就可以进入ubuntu的shell了。
(termina) chronos@localhost ~ $ lxc console bright-jackass
To detach from the console, press: <ctrl>+a q
Ubuntu 18.04.5 LTS bright-jackass console
bright-jackass login: zachary
Password:
run-parts: /etc/update-motd.d/98-fsck-at-reboot exited with return code 1
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
$
退出时先按Ctrl+a,这时没有任何反应,然后再按q就从容器退回到termina中了。
重命名容器
由于一些限制,目前 FydeOS 的 Linux(测试版)仅集成名为penguin
的容器可以启用。因此需要重命名容器(不要删除自带的 Debian 容器):
(termina) chronos@localhost ~ $ lxc stop bright-jackass
(termina) chronos@localhost ~ $ lxc rename penguin debian
(termina) chronos@localhost ~ $ lxc rename bright-jackass penguin
(termina) chronos@localhost ~ $ lxc list
+---------+---------+------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+------+------+------------+-----------+
| debian | STOPPED | | | PERSISTENT | 0 |
+---------+---------+------+------+------------+-----------+
| penguin | STOPPED | | | PERSISTENT | 0 |
+---------+---------+------+------+------------+-----------+
软件包管理器
FydeOS 的软件包管理器
请注意,这里指的是 FydeOS 本身,而不是 Linux(测试版)。理论上您有两种包管理器可以使用,一种是专门为 Chromium OS 系开发的 chromebrew,而另一种则是 Linux 发行版中常见的 Apt。自然由于 Chromium OS 自身的种种限制,使用 Apt 需要手动对 Apt 本身及其依赖文件进行手动复制安装,并且需要「伪包」以满足 Apt 所有的依赖关系,因此本文仅介绍 chromebrew 的安装方法。
如何安装
您可以通过以下方式对 chromebrew 进行安装:
使用 Ctrl + Alt + t 打开终端并输入 shell
然后输入并运行以下脚本:
curl -Ls git.io/vddgY | bash
在一段时间的下载与安装后(可能需要 10 分钟左右的时间,视您的网络情况而定),chromebrew 便能在您的 FydeOS 中使用了。
如何使用
以下是 chromebrew 的常见使用方法:
- 安装软件包:
crew install *包名*
- 卸载软件包:
crew remove *包名*
- 升级所有软件包到最新版本:
crew upgrade
- 查询帮助:
crew help
其详细用法,请参见:chromebrew 的官方 Github 仓库页面