添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

写在开头

作为一名计算机专业的学生,和其他学生稍有不同的可能就是有些时候需要背着电脑去上课了。但是,每次都要背着那个3公斤重的游戏本上课下课,我们这些"体弱多病"的学生可能真的吃不消。
因此,在去年末,我氪了一台洋垃圾,Chromebook Yoga C630。不到2000块钱,却有着i7的八代低压U,4K触摸屏,16G内存以及128G的固态emmc。在配置上,对于写文档、撸代码的需求应该算是足够了。
但是,由于Chromebook预装的ChromeOS,本地化体验以及生产力方面都有些不足,本文将会介绍提升ChromeOS系统体验的一些方法, 帮助你拥有一台在中国大陆体验更舒适的适合生产的Chromebook


开启开发者模式

Chromebook的开发者模式可以帮助我们获取ChromeOS的root用户访问权限,可以对ChromeOS本身进行修改。其次,开发者模式会将软件包安装程序置入,这样就可以直接安装在Google Play以外的apk了。

需要注意的是,开启开发者模式后,每次开机会出现一个 长达30秒 的警告画面。需要按下 Ctrl+D 跳过。

注意,开启开发者模式会进行一次Powerwash,请提前备份好数据,以免数据丢失。
具体开启步骤如下:

  1. 将Chromebook关机。
  2. 按下 Esc 键与 Refresh 键,按住后再按下开机键。
  3. 在亮屏后,会提示警告信息,此时可以松开 Esc 与 Refresh 键,然后按下Ctrl+D组合键。
  4. 下一步系统会提示你是否继续,按下Enter键继续。
  5. 系统会进行 Powerwash,然后重新开机。此时Chromebook就开启了开发者模式。
  6. 此时,ChromeOS会进入首次设置页面,在第一页找到"启用调试模式"按钮并单击。
  7. 系统会提示设置root密码,需要设置一个稍微复杂的密码,以免被破解。
  8. 根据流程激活Chromebook。

使用MrChromebox缩短警告页面

MrChromebox脚本可以帮助我们在受支持的Chromebook上安装完整的UEFI,使之可以安装Windows等其他操作系统,不过这部分不再本文讨论范围内。
但是,这部分 需要禁用固件写保护 。在部分设备上,禁用固件写保护可能 需要特定的线,甚至拆机扣下电池 。若觉得过于麻烦,可以跳过此部分。

缩短警告页面流程如下:

  1. 激活Chromebook后,确保连接的网络可以正常访问全球互联网,然后,按下 Ctrl+Alt+T组合键,打开Crosh。
  2. 输入shell并回车。
    现在,你的窗口应该是这样:
  3. 随后,输入如下指令,执行MrChromebox脚本:

    cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh

    脚本菜单应该和下面一样:

  4. 输入选项3 Set Boot Options,然后根据需要设置短的警告时间即可。

安装Chromebrew

Chromebrew 是ChromeOS下的一款包管理程序,类似于macOS下的Homebrew。

安装步骤如下:

  1. 按下Ctrl+Alt+T组合键,打开Crosh。
  2. 输入shell并回车,进入shell。
  3. 输入如下一键命令,回车即可安装Chromebrew。

    curl -Ls git.io/vddgY | bash

    Chromebrew提供的包可能远远没有其他Linux包管理器那么多,但是也算是满足了我们日常的使用。


使用Aria2下载

在Windows上,我们可以用IDM进行下载与管理,但在ChromeOS上没有相关软件,那么我们就只能用Chrome来进行下载了吗?当然不。Aria2支持 HTTP/HTTPS, FTP, SFTP, BitTorrent 和 Metalink 等多种协议,是一款功能强大、内存占用低的下载器。
安装Aria2的步骤很简单,先使用Ctrl+Alt+T进入Crosh,然后输入shell进入shell。随后,使用crew 安装 aria2即可。

crew install aria2

随后,我们需要编辑一个aria2的配置文件,以便启用rpc。
首先,我们新建一个aria2的配置目录,然后创建aria2.conf文件:

mkdir -p ~/.config/aria2c
vim ~/.config/aria2c/aria2.conf

在文件中粘贴以下配置:

# 设置加密的密钥
rpc-secret=123456
# RPC 开关
enable-rpc=true
# RPC 跨域(WEB 界面需要跨域)
rpc-allow-origin-all=true
# RPC 外部访问(false 的话只监听本地端口)
rpc-listen-all=true
# RPC 端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
# 单文件并行下载数
split=5
# 断点续传
continue=true
# 同服务器最大连接数
max-connection-per-server=5
# 最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
# 下载速度限制(0代表不限制)(示例值:500K、10M)
max-overall-download-limit=0
# 单文件速度限制
max-download-limit=0
# 上传速度限制
max-overall-upload-limit=0
# 单文件速度限制
max-upload-limit=0
# 文件保存路径, 默认为当前启动位置
dir=/home/chronos/user/Downloads
# 启用磁盘缓存

这样,我们设置了一个rpc密码为 123456 ,端口为 6800 ,默认下载地址为"下载内容"目录的配置。接下来,我们使用如下命令来测试配置文件正常可用:

aria2c --conf-path=~/.config/aria2c/aria2.conf

至此,aria2的后端程序已经配置完毕,接下来需要使用一个Chrome插件拦截下载请求并发送至aria2后端。

在这里,我推荐使用Aria2 Explorer。这是一款界面清爽的Aria2下载管理器,可以在Chrome 扩展商店下载: 下载地址

安装扩展后,右键扩展并点击"选项",在"Aria2-RPC-Server"一栏填入rpc secret,并在后面设置下载路径,这里可以填写 /home/chronos/user/Downloads ,默认将下载到下载目录中。
在"下载拦截"一栏中开启"自动拦截下载任务到Aria2",在"监测Aria2状态"一栏中开启"监测Aria2下载状态"以及"任务状态通知",这样即可在扩展图标中查看Aria2在线状态以及下载时会弹出通知。
配置完成类似如下:

随后,点击该扩展,将弹出Aria2 Explorer界面。点击"常规设置"——"RPC",在RPC密钥处填写RPC secret。这样,Aria2的前后端配置就都完成了。


安装Clash代理

在国内,若想使用Google全家桶带来的便利,是一定需要代理的。目前主流的操作方法是在Chromebook上安装Clash for Android或其他代理软件,开启VPN。但这种方法需要打开一个Android程序并保持后台运行,这对于 x86架构的Chromebook来讲可能会更消耗内存与CPU。因此我们在这里使用原生Clash Core,在ChromeOS中启用Clash(不是Crostini)。

首先,需要去Clash 的 Github Release 页面下载适配本机的 Clash 二进制文件。 (本来我想直接用crew安装的,但竟然没有)
Clash Github Release
选择 clash-linux-[对应架构]-v1.gz 文件下载。

下载后,在 "文件"程序中解压并将clash二进制文件复制到"下载内容"目录下。

进入shell,输入如下指令:

cd;sudo cp Downloads/clash /usr/local/bin/clash;sudo chmod a+x /usr/local/bin/clash;

执行完成后,本机就拥有了clash。
接下来,需要配置 clash。首先,config.yaml文件需要自备,保存在"下载内容"目录中。
使用 mkdir -p ~/.config/clash 指令创建clash目录。
然后,使用 cp ~/Downloads/config.yaml ~/.config/clash/ 将配置文件保存至clash配置目录内。
最后,输入 clash 启动clash。初次启动需要下载一些内容,可能较慢。
启动成功后,即可配置本机代理。

打开"设置",在"网络"——"WiFi"内选择当前连接的wifi,进入配置。点击"代理",输入clash代理,结果应该如下(端口需要输入config.yaml中的混合端口号):

至此, 在clash开启的情况下 ,应不需要开启Android的任何VPN程序,即可访问国际网络。


使用自启动脚本

当然,若想贴近原生使用体验,每次开机打开shell然后打开clash或者aria2的操作属实不够优雅。那么,如何才能让clash或其他程序开机自启呢?在这里,我们需要用到"ChromeOS Autostart"扩展程序。该扩展程序可以在开机时执行一条指令,我们可以在这里设置执行需要自启动的程序。

ChromeOS Autostart可以在 Github Release 里下载,可以下载zip版本的文件。
下载并解压后,把扩展目录放置在合适的位置(因为添加到Chrome后不能删除),然后添加到Chrome。

在使用该扩展前,我们需要编写一个自启动脚本,这样就不用每次都修改该扩展保存的指令了。

在shell中,首先执行指令 cd ,将目录切换到用户目录下(该目录不会因为系统升级而清理)。
随后,输入 touch autostart.sh 新建一个自启动脚本文件。
使用 vim autostart.sh 编写自启动脚本文件。

注:此步若提示vim command not found是因为没有安装vim编辑器,输入该指令安装: crew install vim

在autostart.sh中,自启动clash只需要输入如下内容即可:

nohup clash -d /home/chronos/user/.config/clash/ </dev/null &>/dev/null &

这样,clash即可在后台运行。
最后,访问ChromeOS Autostart的配置页面,输入如下指令:

sudo -S bash -x /home/chronos/user/auto_start.sh <<< "调试模式密码"

在引号内输入设置的调试模式密码,然后按下Enter,即可保存开启启动指令。现在,可以重启试试效果了。

由于上文我们使用了Aria2,但是经我测试发现同样的指令放在shell脚本中无法生效后台运行,因此在这里使用了一个折中的办法:使用screen后台运行。因此,上述指令需要在后面添加关于aria2启动的指令,完整指令如下:

sudo -S bash -x /home/chronos/user/auto_start.sh <<< "调试模式密码";sudo screen -dmS aria2 bash -c 'aria2c --conf-path=/home/chronos/user/.config/aria2c/aria2.conf'

常用指令的安装

安装了Chromebrew后,我们就可以在ChromeOS内部安装一些常用的软件,例如vim、git等。安装步骤非常简单,就像上面安装aria2一样。
例如,安装git:

crew install git

开启Linux

只有Android以及PWA应用的Chromebook自然不配被称为生产力工具,因为在此情况下 就连编译调试代码的能力都十分有限 。因此,安装Linux容器是必需步骤。ChromeOS默认安装的Linux容器是Debian 11,如有需要可以切换至Archlinux。但由于与ChromeOS搭配效果并不尽人意,在这里不做讨论。

Linux 默认处于关闭状态。您随时可从“设置”中开启它。

  1. 在 Chromebook 上,选择右下角的时间。
  2. 依次选择“设置”图标 然后 高级 然后 开发者
  3. 在“Linux 开发环境”旁边,选择 开启
  4. 按照屏幕上的说明操作。整个设置过程可能需要花费 10 分钟或更长的时间。
  5. 系统会打开终端窗口。现在,您已进入 Debian 11 (Bullseye) 环境。您可以运行 Linux 命令、使用 APT 软件包管理器安装更多工具以及自定义 shell。

建议设置的容量大一点,方便安装一些IDE或者其他应用程序。

更换国内镜像源

若使用debian官方的源,会导致速度较慢。推荐更换置国内镜像源,访问、下载速度较快。

一般情况下,将 /etc/apt/sources.list 文件中 Debian 默认的源地址 http://deb.debian.org/ 替换为镜像地址即可。

Linux本地化之中文环境

给Linux安排一个中文环境可以帮助我们更加优雅地使用Linux程序。

首先,点开终端程序,执行以下指令进行中文字体的安装:

sudo apt install fonts-noto-cjk fonts-wqy-microhei fonts-wqy-zenhei

接下来需要配置默认locale,输入如下指令并选择 zh_CN.UTF-8

sudo dpkg-reconfigure locales

重启Linux后,即可看到程序默认使用中文显示。

GTK下的中文显示

在我们使用一些gtk的程序时,可能会感觉中文字体非常奇怪,看起来非常不舒服。此时我们需要调整gtk默认字体,使程序显示更加优雅。
首先,我们需要 gnome-tweaks 这个程序,可以控制gtk的显示效果。
安装 gnome-tweaks

sudo apt install gnome-tweaks

安装后,输入 gnome-tweaks 启动该程序。在"字体"选项中,设置"界面文本"与"文档文本"分别为"Noto Sans CJK SC Regular" 和 "Noto Sans Regular"。其他选项无需修改(修改后可能会导致莫名其妙的后果)。
效果类似如下:

自此,大多数GTK程序的中文显示都不会非常奇怪。设置完毕后,也可以将其卸载,以便留出更多空间。

中文输入法

ChromeOS自带的Linux环境是Debian 11,默认使用的是Wayland协议。在这里我们可以使用fcitx5来作为输入法引擎。
使用如下指令安装fcitx5:

sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 fcitx5-frontend-qt5

然后编辑 /etc/profile ,将下述内容写入配置文件:

export XMODIFIERS=@im=fcitx  
export GTK_IM_MODULE=fcitx  
export QT_IM_MODULE=fcitx

接下来输入 fcitx5-configtool ,进入fcitx5的配置页面。
将 拼音 移到已左侧,激活拼音输入。

点击中间的扳手图标,进入拼音的设置。开启云拼音。

重启Linux后,可以使用 Ctrl+Space 来切换输入法(在Linux应用中)。

Appimage Launcher使用

在ChromeOS中,为了避免Linux容器软件包环境太复杂,可以尽量使用Appimage来进行软件的安装。Appimage的优点是将所有依赖库打包至一个软件包内,且不用安装,直接运行即可。
Appimage Launcher是一款可以方便地管理Appimage的应用,它可以将Appimage同一保存至某一目录下,然后创建桌面图标(该图标可以被ChromeOS识别并显示在菜单中)。

Appimage Launcher的安装非常简单,仅需在Github Release页面下载.deb格式的安装包并安装即可。

下载地址

在这个页面选择bionic格式的安装包,然后再"文件"应用中双击即可安装。

SpaceFM 文件管理器

ChromeOS自带的"文件"管理器属实鸡肋,大多功能都没有,并且在效率上也是捉襟见肘。因此,SpaceFM文件管理器出场了。

发现 Linux SpaceFM 文件管理器的威力 - Linux.cn

SpaceFM 是一款轻量、高效的文件管理器,比较适合在Chromebook这种性能不高的机器上使用。

安装仅需一条指令:

sudo apt install spacefm

当然,此时SpaceFM管理器仅能管理Linux容器内的文件。因此,需要将一些目录映射到Linux中。
打开"文件"应用,将"下载内容"目录映射到Linux中:
右键"下载内容"目录,点击"与Linux共享"。

然后,为了方便使用,我们需要创建一个软链接,将下载内容目录映射到Linux用户目录下:
在Linux终端执行:

ln -s /mnt/chromeos/MyFiles/Downloads ~/Downloads

这样,即可在用户目录下直接操作"下载内容"目录。
如需其他目录,同上操作即可。

Stalonetray

在使用ChromeOS自带的Linux时我们会发现,一些会有后台托盘图标的应用程序,关闭后明明在运行,但我们就是找不到托盘在哪。这种情况下,我们需要一个可以当作后台托盘的程序,帮我们显示后台在运行的程序。Stalonetray就是这么一款托盘程序。

安装仅需一条指令: sudo apt install stalonetray
默认配置下,输入stalonetray即可显示后台托盘,但是在一些高分屏设备下托盘就会显得非常小。
在这个情况下,我们只需要在用户目录下新建一个配置文件,并编辑图标大小即可:

cd;
touch .stalonetrayrc
vim .stalonetrayrc

在配置文件中写入如下配置:

background "#F2F2F2"
decorations all
geometry 4x1+0+0
icon_size 64

这样,最终的显示效果就较为客观了。若觉得图标太大,可以按需调整icon_size的值。

QQ

ChromeOS虽然有原生Android的支持,若安装一个QQ HD或者移动版QQ,对于笔记本来说使用体验仍然非常割裂。因此,我们可以使用最新的linuxqq解决该问题。
linuxqq仅需在官网下载最新版的deb安装包并安装即可。使用体验已经非常完美了。

QQ官网

微信 - Wine

张小龙你不做人!!
上文提到,ChromeOS的Linux容器默认使用Wayland协议,因此我试了几个不同的deepin-wine-wechat,皆出现一个大黑遮罩,盖住了微信本体。 这个体验就像依托答辩。 这就根本没有使用体验。
最后,我通过虚拟桌面的方式,勉强解决了该问题。
效果如下:

目前大部分功能完善,但是也有一些影响使用的问题:

  • 无法发送图片、文件
  • 无法打开公众号文章等内容
  • 音视频通话无法使用

这也是无奈之举,如果linux下有完善功能的微信,也不会穷途末路去使用Wine来安装Windows 微信。
张小龙你不做人!!!

安装Wine,我们首先要启用32位库的支持。
在linux终端中,输入如下指令。

sudo dpkg --add-architecture i386

然后,刷新软件包列表并安装wine。

sudo apt install -y wine64

安装好后,我们就可以在微信官网下载windows版的微信,然后使用wine进行安装了。

但在此之前,我们需要配置wine的虚拟桌面。在终端输入 winecfg 并回车,进入wine的设置界面。单击"显示"选项卡,启用虚拟桌面。虚拟桌面的大小按需填写。可以填完保存重新执行 winecfg 进行测试。

调整到合适大小后,使用wine安装微信。
wine微信的文件注定无法非常顺畅地打开,但我们知道它保存的路径:

~/Documents/'WeChat Files'/wxid_[id号]/FileStorage/File

因此,我们可以创建一个软链接,让我们方便地访问微信的文件。

ln -s ~/Documents/'WeChat Files'/wxid_[id号]/FileStorage/File ~/WXFile

Visual Studio Code

既然是计算机专业了,那么我们的VS Code肯定是必不可少的工具。
VS Code的安装十分简单,仅需在官网下载.deb格式的安装包,双击安装即可。

Visual Studio Code官网

PyCharm/IDEA

Jetbrains家的两款IDE,分别对应Python与Java的程序开发。
两款IDE的安装方式如出一辙,在这里仅介绍一款,另一款以相同的步骤安装即可。

  1. 打开官网 ,下载所需IDE的.tar.gz包
  2. 将安装包移动至Linux容器内
  3. 解压.tar.gz包至自定义的Application目录内
  4. 运行解压的IDE的bin目录内的xxxxx.sh文件(例pycharm.sh文件)
  5. IDE将会打开,然后点击左下角的齿轮图标,点击"创建桌面条目",即可在启动其中创建图标。

WPS Office

对MS Office兼容性最好的Office套件,并且可以在Linux下使用的,也就属WPS一家了。

Onedriver

Onedriver是一款可以将自己的OneDrive挂载到本地目录的程序。


推荐的Chrome扩展

既然是叫ChromeOS了,不加点扩展还怎么好好地玩Chrome呢?
这里推荐一些可以提升使用体验的扩展程序。

Dark Reader

Dark Reader可以将当前页面适配为夜间模式,在夜晚的时候不会让默认亮色的页面很刺眼,好用的地方是,它现在还可以根据系统设置的亮暗模式来进行自动调整,这样就让整个系统一体性更强了。

Chrome 应用商店:Dark Reader

Tampermonkey

Tampermonkey是一款脚本加载器,可以加载各种脚本,来对页面进行一定程度的修改。

Chrome 应用商店:Tampermonkey

简悦

简悦为当前页面提供了阅读模式,以及多种导出、保存当前文章的功能。

Chrome 应用商店:简悦 - Simpread

Feedbro

Feedbro是一款可以嗅探当前页面的RSS源的扩展程序。不仅如此,它还是一款RSS阅读器,可以订阅并管理RSS源。

Chrome 应用商店:Feedbro

附:将Feedbro Reader界面修改为中文的方法:

  1. 右键这里复制汉化json文件链接
  2. 点击扩展并点击 Open Feedbro Reader
  3. 点击右上角的齿轮图标
  4. 点击Settings中的 Import locate
  5. 输入第一步复制的链接,并点击OK。这样就设置好中文显示了。

Minimal Twitter

它可以简化Twitter的一些不必要的栏目,让整个Twitter看起来更加清爽。

Chrome 应用商店:Minimal Theme for Twitter

Wikiwand

Wikiwand可以让那个丑陋的维基百科变成现代化的页面样式。

Chrome 应用商店:Wikiwand: Wikipedia Modernized

Awesome Screenshot

这个扩展程序可以截图整个页面,也可以区域截图,在分享时比较方便。


值得一用的PWA程序

说起ChromeOS主打的应用程序,还是基于浏览器的PWA渐进式应用程序。这种程序说白了就是一个网页,不过它对于浏览器进行了一些适配,并且可以保存一些程序资源在本地,有些时候可以造成是一款独立APP的假象。若以下应用在浏览其中没有弹出安装按钮,直接在菜单里选择“创建快捷方式”即可,反正都一样。

StackEdit

StackEdit是一款Markdown编辑器,它可以将md保存到多种不同的服务中。

StackEdit官网: StackEdit
StackEdit中文版: StackEdit CN

Twitter

虽然Twitter争议比较大,但是作为PWA应用使用体验还是不错的。

Spotify

Spotify是一款线上的音乐平台。

Spotify官网: Spotify

Gifcap

GIFCap是一款可以录制屏幕并将录制内容保存为gif的程序。

gifcap官网: gifcap

Capture QR Code

Capture QR Code可以使用摄像头扫描二维码并解析。
官网地址: Capture QR Code

Clipchamp

Clipchamp是微软旗下的一款视频编辑软件。使用PWA视频编辑软件的优点是视频的渲染导出均在云端完成,并不消耗本机算力。

Clipchamp官网: Clipchamp

OneDrive

虽然前文介绍了Onedriver,但是在一些场景下,可能仍然需要响应更快的onedrive,因此在这里可以再备一个PWA版本的OneDrive。

OneDrive官网: OneDrive

FyDrop

FyDrop其实就是SnapDrop。这是一款无需安装即可在本地局域网传输文件的程序,仅需双端同时打开该页面即可。

FyDrop: FyDrop

Draw.io

Draw.io是一款流程图绘制软件,它可以绘制多种图。

官网: Draw.io

Photopea

Photopea是一款在线的图片编辑器,类似Photoshop,如果是轻量编辑图片,可以使用Photopea进行编辑操作。

YesPlayMusic

YesPlayMusic是一款高颜值的第三方网易云播放器。
该播放器支持PWA/macOS/Linux/Windows。因此,ChromeOS用户可以使用Linux版AppImage,但是出于性能考虑,有基础的用户可以根据项目作者的提示将项目部署至服务器或Vercel。

Github 项目:YesPlayMusic


后记

在使用了一段时间的Chromebook后,一些内容可能有了与之前不同的见解,这篇文章也因为很多原因一直没有发表。在之后的文章中,我也会分享更多更优雅地使用Chromebook的姿势,请大家敬请期待。

打造一台适合生产的Chromebook