割と仕事が忙しかった1月も過ぎてしまい。今年はスロースタートするぞと思っていたのですが、今年も3つほどイベントを開催し 全然言ってることとやってることが違うなと思っていました。
久しぶりにChromebookを使ってみる
年始あたりで割と使えるようにしていたChromebook
(ASUS Chromebook Flip C101PA)ですが、出張などでもつかえるようの設定してみました。会社ではOffice365を使用しているので、スマートフォンでもメールやスケジュールの管理ができます。Chromebook
でもAndroidのアプリに対応しているのでインストールすれば問題なく使用できます。PowerPointやWordなどの編集に関してはオンライン版でもできますが、レイアウトが残念なことが多いので仕事レベルではちょっとっていうレベルです。でも、普通にWebサービスやメールなどが使えるので、これだけでも割と十分って感じなのです。
テキストエディタに関しては少し微妙にはなってしまいますが、オンラインではHackMDを使用しています。オフラインではVisualStudioCodeの使用も考えていたのですが、日本語変換がOS側とLinuxコンテナ側で切り替えがずれてしまうことから、もう少し成熟してきてからでもいいのかな~と。なのでTextってアプリ(デフォルト?)を使って急場をしのいでいます。
アップデートしてみた
Chromebook
は割と頻繁にOSのアップデートが行われるのですが、更新完了までは時間がかからないこともあり、トイレに行っている間ぐらいで完了してくれます。今回もきたね、はいはいという感じでアップデートを行ってみました。特に変わったこともなく起動するのですが、Linuxのターミナルの起動だけが何故か立ち上がらない…。
起動待機状態で、くるくる回っている(これってなんていうんだっけ?)んですが、時間が立つと終わってしまいます。
こんな感じ
通常であれば、コンソールウインドウが開くのですが、それはないようです。何度やってもだめだったので、これはやはりアップデート失敗なのか?と思い、仕方なくPowerwash
を行いました。(割と短時間で初期化されます)Powerwash
を行ってもアプリのインストール情報やChromeの設定はユーザーアカウントに残っていてくれるので復帰すればほぼ元の状態に戻ってくれます。(Linuxコンテナ関係はオプションなので無理のようです)
Powerwash
も終わり、さてLinuxコンテナを有効化してみようと思ったら、現象は変わらず。
OSを初期化したのにこの状況やばくない?Chromebookではこれ以外の復帰方法はないので、かなり焦りました。もしかしたら、OSのアップデートが来ればまた治るのでは?という気もしましたが、どういう状況になっているのかは少し気になったので調べてみました。
調べてみた
Linuxの機能を無効化することはできましたが、再度有効化しようとするとコンテナが起動しないというメッセージとともにエラーがでました。それ以降は有効化できず、かなりまずい系の状況に。
ネットでぐぐってみるとcrosh
で調べることができるみたいという情報がありました。crosh
はChromeブラウザ上で【Ctrl+Alt+t】を押すと新しいタブが開いて
Welcome to crosh, the Chrome OS developer shell. If you got here by mistake, don't panic! Just close this tab and carry on. Type 'help' for a list of commands. If you want to customize the look/behavior, you can use the options page. Load it by using the Ctrl+Shift+P keyboard shortcut. crosh>
というようなメッセージとともに起動します。Linuxのbashなどとは異なりChromeOS
のデベロッパー向けのコンソールのようです。ネットワーク系のコマンドやTopなどのプロセス系のコマンドがあるものになります。
コマンドライン上でhelpコマンドを実行すれば、使用できるコマンドが表示されます。
そのなかからvmcコマンド
を使用します。vmcコマンド
は仮想マシンコンテナ関係のコマンドのようです。
helpコマンドでvmc
のヘルプをみると、vmc
のサブコマンドやパラメータが表示されます。
crosh> help vmc vmc USAGE: vmc [ start [--enable-gpu] [--enable-audio-capture] <name> | stop <name> | create [-p] <name> [<source media> [<removable storage name>]] [-- additional parameters] destroy <name> | disk-op-status <command UUID> | export <vm name> <file name> [<removable storage name>] | import [-p] <vm name> <file name> [<removable storage name>] | list | share <vm name> <path> | unshare <vm name> <path> | container <vm name> <container name> [ (<image server> <image alias>) | (<rootfs path> <metadata path>)] | usb-attach <vm name> <bus>:<device> | usb-detach <vm name> <port> | usb-list <vm name> | --help | -h ]
いまのトラブルでは起動がうまく一定ないのでコンテナの起動状態を調べてみます。トラブルの状態で以下のコマンド実行します。
crosh> vmc list termina (1526222848 bytes) Total Size (bytes): 1526222848
Linuxコンテナは起動している(?)ようです。termina
というのがコンテナの名称のようですね。これをコマンドのパラメータ<name>
として指定すれば良さそうです。今は有効化もできない状況なので、とりあえずはコンテナの動作をストップさせてみます。vmc stopコマンド
を使用して停止させてみます。
実行してもエラーはでません。停止したかなと思い、もう一度vmc list
で確認してみると…停止されてはいないようです。
crosh> vmc stop termina crosh> vmc list termina (1465851904 bytes) Total Size (bytes): 1465851904
※正常な状態であっても、コンテナが再起動(?)するようです。ターミナルが開いていても、一度内容が初期化されます。この挙動は正常のようです。
ここでLinux機能を有効化しようとしても状態は変化ません。むう。
Linux機能を有効化していないのに、コンテナが動いているという非常にわかない状況になっているので、一度コンテナそのものを削除しようと思います。
削除はvmc destroy
を使用します。
crosh> vmc destroy termina
こちらも特にエラーもなく終了しました。Linux機能は有効化していない状態なのでvmc list
コマンドをチェックtermina
がなくなりました。
再度、Linux機能を有効化してみると正常に終了し、無事にターミナルも起動するようになりました。(vmc list
コマンドでtermina
は復活します)
おわりに
ChromeOS
のトラブルというトラブルは今回が初めてだったので割とどうしたらいいかなとみたいなところもありましたが、なんとか解決できてよかったです。
また、今回使用したcrosh
に関しては、結構興味深い内容のことも調べられるようなので引き続きチェックしていこうと思います。