2021-05-22

突然、解説されるChromeOS環境構築

はじめに

エントリはある程度の情報技術リテラシー必須であり、一部の情報PC初心者および初級者に推奨できるものではない。
しかPC初心者および初級者はシステムを壊す、大事データを失うなどの手痛い失敗をして成長するのもまた事実であり、もしもプログラミングなどに興味のあるPC初心者および初級者がこの情報活用する場合システムを壊す、大事データを失うことを覚悟して実行するように

教訓「大事データバックアップ重要である

初期セットアップ

チュートリアルに指示通りに進めれば大きな問題はほぼ発生しません。

開発者向けの注意点

Chrome OSは初期状態デフォルトで「ノーマルモード」と呼ばれる一般ユーザーモードですが開発者向けに「デベロッパーモード」が用意されています
ノーマルモードChrome OSの様々な制限があり、デベロッパーモードによって制限の解除が可能です。

しかノーマルモードからデベロッパーモードへ移行するとPowerwash(初期化)されてしまい、システムユーザー領域へ追加された情報はすべて削除されます
もしデベロッパーモード必要場合デベロッパーモードの詳細を調べ、現在情報は削除されてしまうことを念頭に実行しましょう。

ちなみにProject CrostiniのLinuxレイヤーDebianリポジトリからパッケージを導入するなどにはデベロッパーモード必要ありませんので多くの場合ノーマルモードのままの運用で十分でしょう。
Android OSアプリChrome OSアプリを開発したい場合最初からデベロッパーモードにしたほうが後悔が少ないです。

キーボードショートカットの一覧を表示する

Chrome OSでは一部のキーがほかのOSでは見慣れないものが並んでいます
迷いがちなので一番最初に覚えるべきキーボードショートカットは「Ctrl+Alt+?」です。
「Ctrl+Alt+?」でいつでもキーボードショートカット確認できることだけは覚えておきましょう。

Google Play Store

多くの場合アプリ開発者意図していない

多くのChrome OSデバイスGoogle Play Storeへ対応しており、Google Play Store経由でAndroid OSアプリ導入が可能です。
しかしながらGoogle Play Storeへ公開されているAndroid OSアプリが必ずしもChrome OS最適化しているのか?と言えばそうではなく、Android OSアプリの開発環境であるAndroid StudioがデフォルトChrome OSでの実行を許可していることもあり開発者意図せずChrome OSインストールできてしまうことが大半です。
したがってChrome OSへ導入するAndoirdアプリ動作へ何らかの不具合があったとしても脊髄反射酷評せず、やんわりと丁寧に博愛精神をもってChrome OSではこうだとアプリ開発者情報共有することをオススメします。

CPUアーキテクチャーの違い

多くのAndroidスマートフォンタブレットARMアーキテクチャーと呼ばれるもの採用していますが、現在Chrome OSデバイスは高性能な製品になるほどx86(x86_64)アーキテクチャーを採用している傾向があります
本来コンピューターアプリケーションというものアーキテクチャーが異なると実行起動動作不可能ですが、Android OSアプリは異なるアーキテクチャー間でもアプリの実行起動動作が極力可能となるように互換性をだいたい確保しています
しかしながら例えばARMアーキテクチャー向けのAndoird OSアプリx86アーキテクチャーなデバイスで実行するとアプリ動作パフォーマンスが著しく落ることが多いです。

これは高度なグラフィックス機能必要とするゲームなどで顕著に現れる傾向にあり、Chrome OSでは期待したほどAndroid OSアプリが軽快に動かない可能性を理解しておく必要があるのです。

高性能なChrome OSデバイスしかインストール許可していないアプリ存在する

コロナ禍によって多くのChrome OSデバイス販売することが出来ましたが、それによってChrome OSデバイス間の性能差が問題視される機会も増えました。
具体的には「インターネット上でChrome OSでの動作報告がなされているAndroidアプリ自身Chrome OSデバイスではインストールできない」といった報告です。
これは一部のAndroidアプリ開発者デバイス性能によってインストール許可許可を決めているために起こることで解決方法基本的にありませんので諦めましょう。
これから導入するAndroidアプリのためにChrome OSを購入する際は価格につられて低性能すぎるデバイスを購入してしまうと失敗する確率が高まりますので注意が必要です。

ただし、Google提供するアプリなどは基本的にそのようなことは無いようです。

Project Crostini Linuxレイヤー

Linuxを利用する

設定からLinuxベータ版)」で「オンにする」とLinuxインストールが開始されます

Crostini GPU Support

現在Chrome OS v90ではLinuxレイヤーを実現するProject CrostiniではデフォルトGPUによる支援機能を実行できません。
Chrome Webブラウザを起動し、URL欄へ「chrome:flags」と入力アクセスして「Crostini GPU Support」を「Enabled」とし再起動してください。
この変更で動作不具合確認した際は設定を元に戻してください。

GUIパッケージマネージャーを導入する

LinuxにもGoogle Play Storeのような簡単Linuxアプリを導入できる環境存在します。
GUIパッケージマネージャーを導入する場合「ターミナル」を起動し下記を実行してください。

sudo apt install synaptic gnome-software

パッケージダウンロードを速くする

Chrome OSLinuxレイヤーではパッケージの導入先がデフォルト海外サーバーになっており少々遅いです。
日本国内サーバーへ変更することで速度を改善できる可能性があります。その際は「ターミナル」を起動し下記を実行してください。

  1. sudo apt edit-sources
  2. 下記を最上段へ追記
    deb http://ftp.jp.debian.org/debian/ stretch main contrib non-free
    deb http://ftp.jp.debian.org/debian/ stretch-updates main contrib
    deb http://ftp.jp.debian.org/debian/ stretch-backports main contrib non-free
    deb-src http://ftp.jp.debian.org/debian/ stretch main contrib non-free
    deb-src http://ftp.jp.debian.org/debian/ stretch-updates main contrib
    deb-src http://ftp.jp.debian.org/debian/ stretch-backports main contrib non-free
  3. sudo apt-get update && sudo apt-get dist-upgrade
日本語入力Chrome OSLinuxレイヤーで共有できない

現在Chrome OS v90ではChrome OSLinuxレイヤーを実現するProject Crostiniで日本語入力を共有できず、キーボード入力しても英字しか印字されません。
日本語入力をするには別途に日本語インプットメソッド日本語フォント必要です。
日本語インプットメソッド日本語フォントを導入する場合「ターミナル」を起動し下記を実行してください。

  1. sudo apt install fonts-ipafont fonts-ipaexfont fonts-takao fonts-takao-gothic fonts-takao-mincho fonts-noto-cjk fonts-noto-cjk-extra
  2. sudo apt install fcitx-mozc
  3. export XMODIFIERS=@im=fcitx
  4. fcitx-autostart
  5. fcitx-configtool
    1. 左下+をクリック
    2. Only Show Input Languageのチェックを外す
    3. Search Input Methodからmozc検索
    4. mozc選択してOK
    5. 下部の∧でmozcを上位にする
      1. sudo nano /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf
      2. 下記を追記
        Environment="GTK_IM_MODULE=fcitx"
        Environment="QT_IM_MODULE=fcitx"
        Environment="XMODIFIERS=@im=fcitx"
        Environment="GDK_BACKEND=x11"
  6. 再起動

Linuxへ詳しい方はfcitx5のほうが何かと問題が少ないでしょう。
しかし一部のfcitx5向けパッケージDebian公式リポジトリ存在しない可能性があるのでご注意ください。

Chrome OSLinuxレイヤーディスクを共有する/マイクを共有する

設定→デベロッパーLinux開発環境

Linuxレイヤー仮想環境構築は推奨できない

KVMLXCDockerなどの仮想環境を幾度か試しましたが、仮想環境を構築したProject CrostiniのLinuxレイヤー再起動するなどによってProject CrostiniのLinuxレイヤーシステムへ致命的な破壊が起きることがあるのを何度か確認しています
Project CrostiniのLinuxレイヤー自体仮想環境のため、Chrome OSシステム破壊されるわけではないですが業務利用時にLinuxレイヤーシステム破壊が起きてしまうと困ってしまうので仮想環境構築は推奨できません。
仮想環境によって開発環境統一を計っている現場では開発デバイスとしてChrome OSデバイスは利用しないほうが良いでしょう。

ただし、Chrome OSデバイス実質的Android OSデバイスタッチスクリーンデバイスキーボード付きデバイスタブレットデバイスノートPCデバイスコンバーチブルデバイス(いわゆる2in1)、マルチタスクデバイスウィンドウ可変デバイスタッチスタイラスペン付きデバイスとして機能する可能性を秘めていますので実機デバッグデバイスとしては非常に価値があります
昨今はアスペクト比16:9でないどころかリアルタイムに可変してしまデバイスが物凄く増えていますのでスマートデバイス向けアプリを開発する現場ではデバッグ用として1台持っていても全く損しないデバイスかと思われます
さらに言えばティーン層はGIGAスクール構想によりChrome OSプログラミング学習をしているわけですからティーン層取り込みのためのUI開発にも使えるのではないかと考えます

長くなってしまいましたが、質問があれば気付いたときに随時回答したいと思います

  • Chrome OSでは期待したほどAndroid OSアプリが軽快に動かない可能性を理解しておく必要がある 結局Chrome OSでAndroidアプリが動くのはオマケって考えで良いのかな?

    • 現状ではそう捉えてもらって構いません。 しかしながら開発環境のAndroid StudioはARMアーキテクチャー向け以外にもx86(x86_64)アーキテクチャー向けにもコンパイル&ビルドが可能です。 ゲ...

  • 結局チョロメOSもLinuxコマンドから抜け出せないんだなぁ

    • 突っ込んだ使い方しなければ実質的にAndroidタブレットなんですけどね

      • Chromebookって実際どれくらい使えるの?

        • Webを閲覧する、YoutubeやNetfrixを楽しむ、電子書籍を読む、ちょっとしたゲームをプレイする、SNSでコミュニケーションを取る程度のライトユースなら十全に使えると言って良いです メモ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん