西川和久の不定期コラム

古いPCを蘇らせるのはホント!? Google「ChromeOS Flex」再考

ChromeOS Flex

 今年(2022年)2月にChromeOS Flexベータ版の試用記を掲載したが、その後7月に正式版をリリース。9月中順で約2カ月経ったこともあり、再度チェックしてみたい。一部設定方法など過去の記事と被る部分もあるが、まとめと言う意味合いもあり、改めて記載することにしたい

Chrome OS Flex改めChromeOS Flexへ。Linux環境対応プロセッサ大幅に緩和

 今年2022年7月15日に、ChromeOS Flexが正式リリースとなった。ベータ版では、Chrome OS FlexとChromeとOSの間にスペースがあったが、ChromeOS Flexと記述も変更。執筆時のバージョンは105.0.5195.134。Windows版やmacOS版と(ほとんど)同じだ。CloudReadyは本家と比較して結構バージョンが古かったので、Googleが買収した最大のメリットはこの点だと思われる。

 ChromeOSとChromeOS Flexの違いは、Androidアプリに対応しているかどうか。ChromeOSは対応しているものの、ChromeOS Flexは非対応となる。この違いが大きいか小さいかは、使い方によるといったところ。

 ChromeOSはバージョンアップで、大小さまざまな機能を追加しており、これに関してはChromeOS Flexも同じ。つまりAndroidアプリさえ気にしなければChromebookなどChromeOS搭載機とChromeOS Flexをインストールしたマシンは同等となる。

 一点、ベータ版とリリース版で大きく違うのがLinux環境の対応状況だ。今年2月に掲載した記事では、

1)HP ProBook 430 G3(以前CloudReadyの記事で使ったもの) / 第6世代Core i5-6200U
2)Lenovo ThinkPad T440s / 第4世代Core i5-4300U

が、エラーで起動せず、理由は「搭載しているCPUがSpectreおよびMeltdownの脆弱性の影響を受けている場合、Linuxは起動しない。また最新の(対策済み)BIOSだからと言って動く保証はない」と書いたが、これが緩和され、上記2機種でもLinuxが作動するようになった。

 ただし何がOKで何がNGなのかドキュメントはなく、もっと古いプロセッサや同じ世代のプロセッサでも機種/BIOS依存があるのかなどは不明なままだ。

ベータ版では動かなかったi5-4300Uで作動するLinux環境とシステムモニタ

 この制約があると、事実上、第8世代以降となり、Windows 11同様、かなりハードルが高くなるが、第4世代でも動くのであれば(第3世代以下は試してないので不明)、ChromeOS FlexでLinuxを使いたいユーザーにとって大きなメリットとなる。

 ちなみに昨今、ChromeOS Flexの記事で頻繁に見かけるのは、古い機種が復活! サクサク動く的な内容が多いが、これは半分あっているが、半分間違いなように思える。あっているのはOSのフットプリントが小さく、少容量のストレージでも使え、メモリも4GBあればそれなりに動く点。しかし、間違いは古過ぎるとサクサクは動かないところである。

 特にサイトを見る時など、Webのレンダリング速度はCPUパワーに比例しており、WindowsだろうがmacOSだろうがChromeOS Flexだろうが、Chromeを使う限り同じだ。筆者がベンチマークテストでよく使うGoogle Octane 2.0の値がその目安。JavaScriptのベンチマークテストで、JavaScriptはシングルスレッド作動。つまりプロセッサのシングルスレッド性能がそのままスコアに現れる。

 ギリギリの及第点は1万前後だが、実際普通に使うには(個人差もあるが)少なくとも2.5万は超える必要があるだろうか。そして、先に上げた第4世代Core i5-4300Uで28,680。第4世代なので約8年前のマシンだ。この辺りが事実上、最下限だろう。もちろんこれ以前のプロセッサを搭載したマシンでも動くが、動くだけで普通に使えるかと言われれば、何とも……と言う感じとなる。Pentium/Celeronも同様、ChromeOS Flexにしたからと言っていきなり描画が速くなるわけではない。

 そして、この第4世代でもLinuxが動くとなると(用途にもよるだろうが)正に古いマシンの救世主的な存在となり得る。UbuntuなどLinuxを入れてもいいのだが、デスクトップ版でもWindowsやmacOSユーザーには少々とっつきにくい部分がある。そういった意味では、USBメモリからインストール、起動してGoogleアカウントを入れれば即Chromeの世界になるChromeOS Flexの方が親しみやすいといえる。

 いずれにしてもベータ版から使っていた筆者にとって、リリース版でLinuxが動くマシンが増えたことが一番嬉しいポイントだ。後、気のせいかも知れないが、タッチパッドの反応がベータ版と比べて良くなった。ドライバを換えたのだろうか!?

最新版を再点検

 OSのインストール自体は、WindowsでもmacOSでもLinuxでもChromeOSでもいいので、Chromeを起動し、拡張機能“Chromebookリカバリーユーティリティ”をインストール/起動。Chromebookの識別でリストからモデルを選択、メーカー:Google ChromeOS Flex、製品:ChromeOS Flexを選びUSBメモリを焼けばOK。後はPCをUSBメモリからブートするようBIOSを設定、起動後はパネルの表示に従う……と、ベータ版から変わらず。簡単なので省略する。

 注意点があるとすれば、複数のパーティションやストレージを使いマルチブートしているPCだと、問答無用でプライマリストレージを初期化してしまうので、このような環境で使っている場合はちょっと工夫(ChromeOS Flexを入れるストレージだけにしてインストール、後からほかのストレージを接続するなど)が必要となる。

 ログイン後のデスクトップはWindows 10によく似ており、下にタスクバー(ChromeOSではシェルフと呼ぶ/左右にも配置可能)、左にアプリメニュー、右にクイック設定/通知パネル。Windowsユーザーならまず迷うことはない。IMEは[半角/全角]キーもしくは[無変換][変換]キー。ここも同じだ(US配列の場合は[Shift]+[Ctrl]+[Space]/[Ctrl]+[Space])。

 WebブラウザのChromeと違うのは設定にデバイスがあり、ここで、マウスやキーボード、ディスプレイ、ストレージ、電源などの設定ができる。後述するLinux環境は詳細設定の中にある。

 新機能の紹介は、同じバージョンのChromeOSと同じ。最近ではダークテーマに対応し、テーマ/暗(または明)をワンタッチで切替可能となっている。スマートフォンハブは、Android搭載スマホがあればテザリングもChromeOS Flex側からオン/オフでき手間いらず。AirDrop的なニアバイシェアにも対応。この辺りは出たばかりのChromeしか使えないChromeOSのイメージが残っていると面食らう部分だ。ほかの汎用OSと比較しても何一つ遜色はない。

テーマ/明
テーマ/暗
クイック設定パネル
設定/デバイス。ここはWebブラウザのChromeには無い
新機能の紹介(1/2)
新機能の紹介(2/2)。本家ChromeOSと同じ

 標準アプリのファイルはデフォルトでGoogleドライブと一般的なNAS(SMB)に対応しており即マウント可能。ほかにもChrome拡張機能でsshfsやOneDriveなどにも接続できる。

 アプリとしてはファイルのほかに電卓、カメラ(Webカメラ用)、Chrome描画キャンパス、ギャラリーなどが含まれる。テキストエディタは「Text」がおすすめ。LINEも使える。もちろんOffice OnlineやGoogle Workspace、Slack、MessengerなどはもともとWebアプリなので何もしなくても利用可能だ。

ファイルアプリでNAS(SMB)もマウント可能。画像などを簡単に表示/編集できるギャラリーアプリもある
Chromeだけでなく、カメラ、Linux環境、エディタ(Text)、LINEなども動く

 画像処理系に関しては、Linux環境にアプリをインストールする手もあるが、Web版のPhotoshop(ただしサブスクプランありのアカウントが必要)がそれなりに使えるようになった。またChromeアプリでお勧めなのが「Polarr Photo Editor」。スマホやタブレットのアプリっぽい操作性でブラシなど一部のファンクションはPro(有償)だが、通常の調整はもちろん、顔の範囲を指定して肌のスムージングや明るさ調整などが無償の範囲で処理できる。RAWにも対応(手持ちのFUJIFILM X-S10で確認)。ただメニュー項目の日本語訳がおかしいので英語のままで使うのをお勧めしたい。後はGoogleフォトのWeb版がアプリ版並の機能を持ってくれれば……というところか。

Polarr Photo Editor(1/2)ブラシなど一部のファンクションはPro(有償)だが、通常の調整などは無償の範囲で可能
Polarr Photo Editor(2/2)顔の範囲を指定して、肌のスムージングや明るさなどが処理できる。モデル:小彩 楓

 こうして見ると(用途にもよるだろうが)、特にWindowsやmacOSでなくても困らない人も多いのではないだろうか。ただ動画編集に関しては、オンラインサービスがあるにはあるが、もともとファイルが大きいのでちょっとつらい感じか。

Linux環境について

 Linux環境はcliだけでなく、Visual Studio CodeやLibreOfficeなどGUI系のアプリも作動し、(開発環境以外で)Chromeの拡張機能/アプリだけでは不足の時、補完する形となる。執筆時のバージョンは、9月10日にリリースされたばかりのDebian 11.5(bullseye)。ただしデフォルトのままでは日本語環境が整っていないため、IMEなどを含めいろいろ設定する必要がある。

 基本、Linuxの作法に則りインストールすればいいのだが、結構面倒で初心者にはハードルが高い。なお、ターミナル上でIMEがオン/オフできるのはChrome拡張機能でターミナルを作っているから。ChromeOS Flexの一部であり標準のIMEが使用可能になっている。

 以前、「Chrome OS Flexと最新版Wine 7.0の組み合わせでWindowsアプリを動かしてみる」に設定方法を書いたが、一部非推奨になったので、再度ここにメモをしておく。もちろん以降の設定はChromeOSでも同じだ。参考までにターミナルへのペーストは[Shift]+[Ctrl]+v。

「ChromeOS FlexでIMEなど日本語環境設定方法」

 ターミナル左上のメニューを選びターミナルの設定 > OSのデフォルトのキーボードバインディング/ショートカットを使用するをオン(デフォルトはオフ)

ターミナル左上のメニュー
ターミナルの設定 > OSのデフォルトのキーボードバインディング/ショートカットを使用するをオン
$ sudo apt update
$ sudo apt upgrade -y
※いつものおまじない

$ apt list task-japanese
$ apt list locales-all
※この2つは日本語環境などの確認
$ sudo apt install task-japanese locales-all fonts-noto-cjk -y
※日本語フォントをインストール

$ sudo localectl set-locale LANG=ja_JP.UTF-8
$ source /etc/default/locale
$ sudo apt install fcitx-mozc -y
$ sudo sh -c 'cat <<EOF >> /etc/environment.d/fcitx.conf
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
GDK_BACKEND=x11
EOF'
$ echo "/usr/bin/fcitx-autostart" >> ~/.sommelierrc

 シェルフのターミナルアイコンを右クリック、メニューでいったん“Linuxをシャットダウン”し、Linuxを再起動

$ fcitx-configtool
※入力メソッドでMozcを追加。一番上はキーボード 日本語 - 日本語(OADG 109A)。ここは使っているキーボードに合わす。全体の設定でホットキー、入力メソッドのオン/オフを必要に応じて指定
入力メソッドでMozcを追加
全体の設定でホットキー、入力メソッドのオン/オフを設定。ここでは[無変換][変換]キー。加えてWineで使う場合は、アドオン > Advanced > Fcitx XIM Frontend のチェックをいったん外し再チェック。[設定]が有効になるので設定。XIMでOn The Spotスタイルを使うにチェックして[OK]
$ code
※確認でLinuxアプリのVisual Studio Codeを起動。事前にここからダウンロード/インストールしておく
Visual Studio Code上で[無変換]、[変換]キーを使いIMEをオン/オフ

 いかがだろうか。結構面倒で、筆者でさえメモを頼りに毎回コピペしている。ここはなんとか簡単にして欲しいところ。

 次にWindows互換レイヤー、Wineのインストール。Linuxアプリだけで事足りればいいが、Windowsアプリを使いたい時、動く可能性がある(動かない、もしくは動いても使いづらいケースもあるので過度な期待はしない方が無難)。先の記事にも書いたが、1カ所にまとまってる方が楽なので、以下に記述する。

$ sudo dpkg --add-architecture i386
$ wget -nc https://dl.winehq.org/wine-builds/winehq.key
$ sudo apt-key add winehq.key
$ sudo apt install software-properties-common
$ sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/debian/ bullseye main'
$ sudo apt update
$ sudo apt install --install-recommends winehq-stable
$ wine --version
wine-7.0

$ winecfg
1.アプリケーション > 互換性Windows 8へ
2.画面 > ウィンドウマネージャがウィンドウを修飾するのを許可するのチェックを外す
3.必要に応じて画面の解像度を変更

$ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
$ chmod +x winetricks
$ sudo mv winetricks /usr/bin/
$ winetricks fakejapanese
ファイルアプリで”非表示のファイルを表示”をチェックし、~/.wine/drive_c/windows/notepad.exeを右クリック/Wine Windowsプログラムローダーで起動。IMEも作動する

 これで~/.wineに関連ファイルがインストールされる。drive_cの下にはProgram Files/Program Files(x86)などがあるので、ここからアプリを起動すればOKだ。前者が64bitアプリ、後者が32bitアプリとなる。

 最後に/etc/hostsとポート転送の話を。おそらく今ChromeOSやChromeOS Flexを使っているユーザーはエンジニアの割合が結構高いと思うので少し触れておきたい。

 /etc/hostsの編集は、例えばあるサイトのサーバー引っ越しの時、旧サーバーと新サーバーはIPアドレスが異なる。当然旧サーバーは切り替えるまで作動中なので、ドメイン名でのアクセスはこちらだ。しかし新サーバーで作業する時、同じドメイン名でアクセスしたいケースがあり、そんな時は/etc/hostsを書き換え、新サーバーのIPアドレスでドメイン名を引けるようにする。これがChromeOS Flexではできないのだ(WindowsではC:windowssystem32driversetchosts。macOSでは/private/etc/hosts)。Chromeの拡張機能で類似の物があるにはあるが完全には機能しない。

 この逃げ道として、Linux環境側の/etc/hostsを書き換え、Linux版のChromeをインストール、これでアクセスすれば取り敢えず事は足りる。ChromeOS Flex側にChromeがあるのに、Linux版のChromeをインストールというのは無駄な感じだが、現状仕方ない部分だ。

 またLinux環境で作動するsshdやapacheは、ChromeOS Flex側とIPアドレスが異なるためそのままでは外部からアクセスできない。設定 > デベロッパー > Linux開発環境 > ポート転送で、Linux側で作動している、たとえば8080/tcpを設定すれば、ChromeOS FlexにアサインされたIPアドレスで外部からアクセスできるようになる(ただしLinux環境起動/再起動時はオフになってしまうので再度オンにし直す必要がある)。

設定 > デベロッパー > Linux開発環境 > ポート転送。22222/tcpを設定
UbuntuからChromeOS FlexのLinux環境へssh接続

 sshdに関してはデフォルトで入っているものの、一工夫しないと外部からはアクセスできない。

1)Linux環境でユーザーにパスワードを設定(sudo passwd ユーザー名)
2)/etc/ssh/sshd_configのPortを22以外、例えば22222へ変更(1024以上、2222以外)
3)/etc/ssh/sshd_not_to_be_runを/etc/ssh/sshd_not_to_be_run.bakなどへリネーム
4)sudo systemctl restart sshdでデーモン再起動
5)先のポート転送で22222/tcpを設定

これで外部からssh -p22222 ユーザー名@xxxx.xxxx.xxxx.xxxx(ChromeOS FlexにアサインされているIPアドレス。設定 > ネットワークで確認可能)で接続可能だ。Linux環境でいろいろ設定する時は、はじめにこれを行っておくと、メインマシンから操作できるので楽。

 以上、筆者がChromeOS Flexを使う時、Linux環境ではじめに設定する内容をご紹介した。どれもこれも面倒なので、一発で行けるスクリプトが欲しいところ(笑)。

ChromeOS Flexで追加/改善して欲しい機能

 ここまでいろいろ書いてきたが、実際使っていて追加/改善して欲しい機能は主にこの4点。最後1つは一般には関係なく、エンジニア系だ。

1)画面のカラーマッチング
2)Linux環境でのファイルアクセスの高速化
3)ChromeOS Flex側のIMEをwrapperか何かでLinux環境と共通化
4)ChromeOS Flex側の/etc/hostsの編集機能

 まず1)の画面のカラーマッチングだが、ChromeOS Flexは内部的にはiccプロファイルで管理している。ただ、これを外部から変更/追加する方法がなく、またキャリブレーションアプリなども今のところ見たことがない。

 言うまでもなく写真/動画編集を本格的にするには必修。これがないとちょい使い程度はOKだが、プロ用途でChromeOS Flexは使えないことになる(現状そんなアプリもないと言われればそれまでだが)。もちろん普通の用途でもサイトを見て色がおかしいと気持ち悪いし、古いノートPCだとパネル性能が劣化して色がおかしいケースもあるだろう。是非対応をお願いしたいところ。

 2)は実際使うと分かると思うが、とにかく遅い。例えばwinetricks fakejapaneseは、日本語フォントなどを読み込みWindowsのレジストリへ登録するのだが、これがLinux環境上だと10分以上かかる。対して素のUbuntuだと秒単位。これが原因で、Visual Studio CodeなどLinuxアプリを起動してもかなり待たされる。コンテナで作動していることもあり難しいかも知れないが、実用的に使うには何とかして欲しい部分だ。

 3)と4)は、上記で触れた部分だ。IMEの設定は面倒だし、ChromeOS Flex側の/etc/hostsが編集できず、わざわざLinux用のChromeをインストールして使うのも美しくない。


Core i5-4300U搭載ThinkPad T440sで作動中のChromeOS Flex

 以上のようにChromeOS Flexは、ChromeOSのAndroidアプリ対応以外を実現したPC用のOSだ。上記でいろいろ不満点を並べたが、そのほとんどはLinux環境。Chromeを使うだけなら非常に快適に操作可能。手持ちのChromebookと比較しても何の遜色もない。

 よく見かける古いPCが蘇る……は、Webのレンダリング速度の関係もあり、あまり古すぎると快適には使用できないが、それでもWindows 11には見放され、Windows 10で使うにも少々厳しくなってきた第5世代以下辺りでインストールすればいい感じに作動する。短期間での使用だったが、最新のCore i9-12900で動かせば爆速。新しいマシンを組んでとりあえず何かOSを的に使うのもありだろうと思った。

 いずれにしてもPCで作動するOSとしてWindows、Linuxこの2つが長年独占状態だったが、ChromeOS Flexが新たに加わり選択の幅が広がった。特にWebブラウザのChrome依存度が高い人ほどお勧めしたいOSと言えよう。