今回からはLinuxアプリケーションをCloudReadyにインストールしていきます。やり方自体は簡単です。
Linuxを有効にする
最初に[設定]-[Linux(ベータ版)]-[Linux]でLinuxを有効にする(オンにする)だけです。これだけでLinuxを使えるようになります。
Linuxを有効にすると上記の様なセットアップが起動します。[インストール]をクリックするとセットアップが始まります。
あとは待つだけです。セットアップは数分で終わります。
最初にインストールしておいた方が良いLinuxアプリケーション
セットアップが終わるとChromiumのタブでターミナル画面が表示されます。画面上に自分のGoogleIDの名前でbashプロンプトが出ているはずです(今回はマスクしてます)。penguinというのはマシン名でもあり、lxcのコンテナについている名前でもあります。このpenguinというLinuxコンテナの中にLinux環境を構築していくことになります。
この「penguin」に入っているOSはdebianになりますので、大抵の有名なLinuxアプリケーションは揃っています。あとはapt等でインストールしていくだけですが、最初にこの2つのアプリケーションだけはインストールしておいた方が良いと思います。と、その前にapt updateとapt upgradeが先ですね。システムをアップデートしてから以下のコマンドで2つのアプリケーションをインストールしてください。
sudo apt update
sudo apt upgrade
sudo apt install gnome-terminal synaptic
インストールが終わると、メニューにインストールしたアプリケーションが表示されていると思います。Chromeアプリケーションと混同するとあとあと面倒になるので、Linuxアプリケーションはひとつのメニュー内にまとめた方が良いです。グループ化する方法はスマホと一緒で、まとめたいアイコンをドラッグして重ねると自動でグループ化されます。
ターミナルはお好きなものを使えば良いと思いますが、今回は標準的なGnome端末を入れています。
※追記:Gnome端末だと日本語入力の動作が安定しませんので、「mate-terminal」をインストールしてください。
sudo apt install mate-terminal
でインストール出来ます。
GUIのパッケージマネージャーはsynapticをインストールしています.。synapticはroot権限で動くアプリケーションなので残念ながらアイコンはメニューに登録されません。コマンドで実行してください。ですが、おそらく今のままだと起動時にエラーが出るはずです。これはChromeOSがWaylandを使用しているのが理由で、root権限でGUIアプリケーションを実行しようとすると必ず出ます。回避する為には以下のコマンドを入力して、rootでのGUIアプリケーションを有効化してやる必要があります。
xhost +si:localuser:root
上記コマンドを実行してからsudoで起動すればGUI権限が必要なGUIアプリケーションを起動することができます。
synapticの場合は以下の様になります。
xhost +si:localuser:root
sudo synaptic
xhost -si:localuser:root
※アプリケーション実行後はroot権限を削除するのを忘れずに。
synapticを常用する方であれば、毎回コマンド入力して起動するのは大変だと思いますので上記をスクリプト化しておいた方が良いと思います。コマンドでパッケージをインストールするのに慣れている方であれば、普通にターミナルからaptでインストールした方が楽でしょう。
日本語環境を整える
fcitx-mozcと日本語フォントのインストール
ChromiumOSの日本語入力はLinuxアプリケーションでは使えませんので、Linuxアプリケーション用に日本語入力環境を整えてやる必要があります。fcitx-mozcと日本語フォントをインストールしてやりましょう。フォントはお好きなのを入れてください。私はnotoが一番好みですが、takaoが好きな人はfonts-takaoをインストールするのもいいでしょう。
sudo apt install fcitx-mozc fonts-noto-cjk
インストールが完了したらfcitxの設定をしますが、残念ながらメニューに登録されたfcitxのコンフィグツールは使えません。コマンドで実行してください。
fcitx-configtool
実行すると以下画面が表示されます。
表記が英語になっていると思います。これはLinuxコンテナのイメージ上で日本語環境の設定がされていないからです。ですので、最初にOSで使用しているのは日本語環境だという設定をする必要があります。
ロケールの設定
一度、fcitxのコンフィグツールを終了させて以下のコマンドを実行します。
sudo dpkg-reconfigure locales
実行すると以下画面が表示されます。「ja_JP.UTF-8」を探してスペースキーでチェックを入れて[Enter]キーを押します。
次にデフォルトをロケールを尋ねられますので、こちらも「ja_JP.UTF-8」を選択して[Enter]キーを押します。これでロケールのインストールとデフォルトのロケールの設定は完了です。
ロケールのインストールと設定が終わったら、fcitxの設定をする前に自動起動の設定をしてしまいましょう。
fcitxの自動起動設定
以下のコマンドを実行してIMの起動設定をします。
sudo vim /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf
以下を追記してから保存してください。
Environment="GTK_IM_MODULE=fcitx"
Environment="QT_IM_MODULE=fcitx"
Environment="XMODIFIERS=@im=fcitx"
次にfcitxの自動起動設定です。以下のコマンドを実行してください。
vim ~/.sommelierrc
以下を追記してから保存してください。
/usr/bin/fcitx-autostart
これで設定は完了です。コンテナを再起動します。
sudo reboot
※以下、詳しく知りたい人の為に補足です。
ChromeOSで動いているLinuxコンテナですが、Crostini(VM)とsommelier(X/waylandの通信?)という仕組みでChromeOS(ホスト側)とLinuxコンテナ間の通信を制御しています。IMの起動設定は普通のLinuxであればユーザの設定ファイル内等に記述することが多いですが、Crostiniの場合はXの通信をそのままホスト側(ChromeOS)に向かわせているようで、ユーザ単位ではなくシステムとして設定する必要があるみたいです。ですので、IMの設定は「cros-garcon-override.conf」という謎なファイルに書き込んでやり、fcitxの自動起動は「.sommelierrc」という謎なファイルに書き込んでやる必要があるみたいです。
まだ詳しくは理解していませんが、Garconというのがこの中継をしているデーモンでsommelierというのがXのリダイレクトの機能みたいです。ここら辺の事を詳しく知りたい人は「crostini」「garcon」「sommelier」等で調べてみてください。
日本語入力環境の設定
再度fcitxの設定をします。以下コマンドを実行します。
fcitx-configtool
今度は日本語表記になっていると思います。自分の使っているキーボードの種類とmozcを追加します。
左下の「+」をクリックすると上記の様にキーボードの選択画面が開きますので日本語のキーボードを選び[OK]をクリックします。
日本語キーボードが追加されると上記の様になります。同じ様に左下の「+」をクリックして「mozc」を追加します。
これでmozcも追加できました。設定画面の下に書いてある通り、最初の入力メソッドが直接入力時に使用されますので、今のままだと英語キーボードが使われてしまいます。もし英語キーボードを使用していないのであれば削除してしまいましょう。英語キーボードを選択した状態で左下の「ー」をクリックする事で削除できます。
これで入力メソッドの設定は終わりです。
次にキーバインドを設定します。mozcを起動するキーをカスタマイズします。Macの場合、日本語入力の時はスペース右側の「かな」キーを押し、英数字入力の時はスペース左側の「英数」キーを押す事で入力モードが切り替わるのが一般的です。この設定をfcitxで行います。
fcitxでキーバインドを設定するには、上部タブを「全体の設定」に切り替えます。
まず最初にデフォルトの「入力メソッドのオンオフ」のキーバインドを変更します。デフォルトの「CRTL+スペース」はChromeOSの日本語切り替えと同じキーバインドになりますが、mozcが起動できるのはLinuxアプリケーションだけなので同じでも実害はありません。ただ個人的に同じキーバインドは気持ち悪いので、とりあえず「Option(Alt)+スペース」に設定します(実際はほぼ使わないのでどうでもよかったりします)。
変更方法は、変更したいキーバインドをクリックすると新たに設定したいキーバインドを尋ねられるので、新しいキーバインドを入力するだけです。「Ctrl+Space」をクリックして「Option(Alt)+スペース」キーを入力するだけです。
次に、「かな」キーにmozcを割り当てます。左下にある「Show Advanced Options」のチェックボックスをクリックします。
「入力メソッドをオンに」の項目の「空」と書いてあるところをクリックし、「かな」キーを押します。
「空」から「Hangul」に変わりました。ハングルじゃないけど?と思うかもしれませんが、おそらくキーコードが同じなので混同してるだけでしょう。スルーしてください。
同じ様に「入力メソッドをオフに」の項目に「英数」キーを割り当てます。
今度は「空」から「Hangulhanja」に変わりました。同様にスルーしましょう。
ここまででfcitxの設定は完了です。外観等をカスタマイズしたい人はここで変更しておくと良いでしょう。
ターミナルでvim等のエディタを開いて日本語入力ができるかテストしてみてください。
・・・ここまで実際に試しながら記事を書いていましたが、Gnome端末上では日本語入力がまともに動作しないことがわかりました。ですので対応策です。と言っても他のターミナルエミュレータを使うしか回避策は無いと思います。「mate-terminal」では問題が発生しませんので、「mate-terminal」のインストールをお勧めします。
Linuxアプリケーションのインストール
日本語入力環境が整ったので、アプリケーションをインストールしていきます。必要なアプリケーションは人それぞれだと思いますが、今回は「副業用最強PC」を目指しているので、アフィリエイト環境とアプリ開発環境を整えることに主眼をおいていきます。
debianということもあり、aptではデスクトップアプリケーションに関しては物足りないですし、主にflathub経由で行うことを念頭に入れているので、最初にflatpakのインストールだけは行っておいてください。
flatpak
ChromeOSのコンテナで動いているLinuxはdebianなので、最新の物やOSS以外のアプリケーションは標準のリポジトリからインストールできません。だからと言ってインストールの度にリポジトリの設定を弄るのは面倒だと思います。ですので今回はflatpakをインストールしてflathub経由でアプリケーションをインストールしていこうと思います。
以下コマンドを実行します。
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flathubにはflatpakで配布されている大量のパッケージがあります。以下で紹介しているアプリケーション以外にも有用なアプリケーションが揃っていますので探してインストールしてみてください。
Firefox
ChromeOSでも、Linuxコンテナ上であればFirefoxをインストールすることが可能です。ただ注意があります。このLinuxコンテナはdebianなので、普通にaptからFirefoxをインストールするとESR版がインストールされます。さすがにESRのFirefoxを利用する一般人は少ないと思いますので、ここではちゃんとしたQuantum版の最新Firefoxをインストールします。インストールはflathubからおこないます。
flatpak install flathub org.mozilla.firefox
Chrome
ChromiumOSでも本家のChromeを使うことができます。ただ、やはり標準のChromiumの方が動作は軽いので、常用するならChromiumの方をおすすめします。ただ、日本語入力関係でChromiumを使いたく無い場合等だけコンテナ版Chromeを使う、といった感じで使い分けると良いと思います。(ちなみにコンテナ版のChromiumもインストールできます。混乱するのでお勧めはしません。)
Chromeはflatpakではインストール出来ませんので、先程インストールしたFirefoxで公式サイトからパッケージをダウンロードしてインストールします。
Vivaldi
これはもう個人的な趣味で使っているブラウザなので需要はあまりないかもしれませんが、Vivaldiをインストールします。
VivaldiもChromeと同じくflatpakではインストール出来ませんので、Firefoxで公式サイトからパッケージをダウンロードしてインストールします。
Filezilla
コンテナの中でも普通にネットに繋げられますし、さすがにChromeアプリではファイル転送系のアプリは貧弱なのが多いのでftp等はFilezillaを使ったほうが良いです。
Filezillaはflatpakからインストールできます。
flatpak install flathub org.filezillaproject.Filezilla
MindMaster
Chromeアプリでもいくつかマインドマップ用のソフトウェアはありますが、使い勝手はネイティブアプリの方が遥かに良いです。Linux環境下では日本語入力に問題のあるマインドマップのソフトウェアが多いですが、MindMasterは比較的問題なく日本語入力が出来ますのでおすすめです。
MindMasterはflatpakではインストール出来ません。Firefoxで公式サイトにアクセスしてパッケージをダウンロードしてインストールしてください。
https://www.edrawsoft.com/jp/download-mindmaster.html
XMind
MindMasterと同じく、比較的日本語入力に問題が少ないマインドマップのソフトウェアです。スマホアプリ等もあって連携も取りやすく、複数環境で同じソフトウェアが使えますので、そういう運用を考えている方にはMindMasterよりXMindをお勧めします。
XMindはflatpakからインストール出来ます。XMind8とXMind ZENの2種類がありますが、XMind8の方がお薦めです。
XMind 8
flatpak install flathub net.xmind.XMind8
XMind ZEN
flatpak install flathub net.xmind.ZEN
FocusWriter
文章執筆に特化したテキストエディタと言えばいいのでしょうか。そもそも、テキストエディタって文章を執筆する為の物なのですが、その中でも特に文章執筆向けです。全画面表示に切り替わるので集中して執筆できます。お気に入りの壁紙を貼ってお楽しみください。
FocusWriterはflatpakからインストールできます。
flatpak install flathub org.gottcode.FocusWriter
Typora
Linuxで一番使われているであろうマークダウンエディタです。プレビュー画面が分離されているタイプでは無く、改行する度にエディタ画面の表示が更新されるタイプのマークダウンエディタです(なんて言えばいいのか判らない)。ブログ記事なんかは結構書きやすいと思います。
Typoraはリポジトリを追加してインストールする必要があります。公式サイトの手順通りにやればインストール出来ます。
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update
sudo apt-get install typora
Zettlr
Zettlrもマークダウンエディタです。標準でファイルブラウザやタグ機能が付いているので、こちらはブログ記事等よりも技術文書とかメモ用のマークダウンを書くのに向いていると思います。
Zettlrはflatpakではインストール出来ません。Firefoxで公式サイトからパッケージをダウンロードしてインストールしてください。
GIMP
(昔の)フォトショップライクなペイントソフトです。フリーウェアのペイントソフトでは圧倒的に多機能です。Chromeアプリでもペイント系の拡張機能はありますが、それよりも圧倒的に高機能ですし、Linuxでは標準的な画像編集ソフトウェアですので入れておいて損はないです。
GIMPはflatpakからインストールできます。
flatpak install flathub org.gimp.GIMP
Inkscape
最近バージョンが1.0に上がったベクター系画像編集のソフトウェアです。こちらもかなり多機能で慣れるとGIMPよりも使用頻度が上がってきます。ここまでのソフトウェアはChromeアプリでは実現出来ないと思うのでLinuxアプリとして入れておくべきです。
Inkscapeはflatpakからインストールできます。
flatpak install flathub org.inkscape.Inkscape
LibreOffice
Googleオフィスがあるので必須ではありませんが、それでもローカルでの編集を前提としたオフィスソフトがあるとなにかと便利です。容量は大きいですが入れておいて損はないでしょう。
LibreOfficeはflatpakからインストールできます。
flatpak install flathub org.libreoffice.LibreOffice
VisualStudioCode
いまやほとんどの開発者が使っているエディタになりつつあるVisualStudioCodeです。エディタ側のプラグインで多数の言語に対応できますし、かなり使い勝手が良い上に動作も軽く、開発元もMicrosoftなのでいろいろと安心です。
VisualStudioCodeはflatpakからインストールできます。アイコンの違いくらいしか違いが判らないのですが、公式版とOSS版があります。どちらも同じプラグインが使えますのでお好きな方をどうぞ。
VisualStudioCode
flatpak install flathub com.visualstudio.code
VisualStudioCode - OSS
flatpak install flathub com.visualstudio.code.oss
※補足:公式版とOSS版の違いは内部にMSのトラッキングコードが仕込まれているか否かの違いらしいです。機能的に差はないらしいので、気にならない方は公式版を、気になる方はOSS版をインストールすれば良いと思います。
AndroidStudio
「副業用最強PC」を目指してるのでスマホアプリ開発を念頭に入れて今回はAndroidStudioをインストールします。
AndroidStudioはflatpakからインストールできます。
flatpak install flathub com.google.AndroidStudio
vlc
一応娯楽的要素も入れておかないと息抜きが出来ないので動画ソフトも入れておきます。
vlcはflatpakからインストールできます。
flatpak install flathub org.videolan.VLC
バックアップを取る
必要なアプリケーションをインストールして一通り環境が整ったら「必ず」バックアップを取りましょう。バックアップを取らないとChromiumOSの魅力半減と言っても過言ではないです。
ChromiumOS(CloudReady)はどんなPCでもインストールされていれば同じ環境を利用することができます。Googleにログイン時に設定をGoogleから取得するため、どんなPCからログインしたとしても壁紙からなにから毎回同じ設定に変わります。これがChromeOSがクラウドOSと言われる所以です。
ところが、このクラウドに設定を保存しておいてくれるのはChromeOS部分、つまりChromeアプリ等までしかやってくれません。Linuxコンテナに関しては自動でバックアップを取ってくれませんので、もし現在使っている環境から他の環境に移った場合、また新たにLinux環境を作り直す必要がでてきます。
せっかくLinux環境はコンテナとして独立しているのですから、定期的にバックアップを取ってクラウド上(Googleドライブ上)に保存しておくべきです。そして環境が移った際はそのバックアップをリストアしてやる事で毎回同じ環境で作業ができるようになります。これがクラウドOSであるChromeOSの「真骨頂」です。絶対にバックアップは取る様にしましょう。
[設定]-[Linux(ベータ版)]-[Linux]-[バックアップと復元]で「Linuxのアプリとファイルをバックアップします」の項目で「バックアップ」ボタンをクリックします。
「名前を付けて保存」のダイアログが出ますので、ファイル名を付けて保存するだけです。デフォルトだと「ダウンロード」フォルダに保存されますが、この時にGoogleドライブを選択して保存することで、クラウド上にバックアップを保存することができます。
ちなみに、LinuxのOSをそのままバックアップしているので、バックアップのファイルはそれなりに大きくなり、時間はそれなりにかかります。アプリを大量に入れていたり、Linuxのファイルシステム上に大量のファイルを保存しているとそれなりに長時間かかりますので注意が必要です。
まとめ
とりあえず、Linuxのアプリケーションのインストールとバックアップまでを説明しました。Linuxデスクトップを使用したことのある方だったら、ここまでやればChromiumOSでも違和感無く使用できると思います。
個人的に面白いのは、このChromeOSのLinux仮想化部分で動いているCrostiniという仕組みです。LXCを利用しているのですが、LXDに当たる部分がCrostiniになっているのかな?ベースがGentooらしいのですが、上位のChromiumOSの中でシームレスにLinuxデスクトップアプリケーションを動かせているのはちょっと興味深いですね。
ちなみにですが、このCrostiniでLinuxをDebianではなく他のディストリビューションを動かすことも出来たりします。私が試したのはubuntuですが、問題なく動かせました。ただユーザやグループ等、いろいろと制約がありますので、簡単に動かすことは出来ません。LXC自体は普通のLXCですので、OSの導入は楽なんですけどね。また何か機会があったら別のLinuxに入れ替える方法についても書いてみたいと思います。