HP Chromebook 12b 12b-ca0014TU の設定備忘録です.
で検証用として HP Chromebook 12b を導入したことを記しましたが,その設定を備忘録です.作業内容は,
- 日常的な作業に困らない程度のアプリを導入する.
- Linux を導入し,ある程度の開発ができるようにする.
です.
Microsoft 系サービスの導入
まずは,日常的に使うアプリを導入していきますが,Chromebook ですからはじめから Chrome は入ってますし,職場は G Suite がメイン(いまだと Google Workspace と言うべきなのかな)なので,それほどたくさん入れるものがある訳ではありません.
とは言え,仕事のためには,
- Microsoft Office の導入
- OneDrive へのアクセス
- Windows ファイルサーバーへのアクセス
は必要です.つまり,Microsoft 系のサービスを利用したい.
このうち,Microsoft Office と OneDrive については,Google Play から Android 用のアプリを導入できますので,それを入れれば良いだけなのですが,驚いたことに,Android 用の OneDrive を導入し,設定を終えると,Chromebook にはじめから入っている「ファイル」アプリ経由でも OneDrive にアクセスできるようになりました.もちろん,OneDrive アプリからアクセスすることもできます.
ただし,「ファイル」アプリ経由だと,OneDrive に保存したファイルの参照と取り出しはできるのですが,書き込みはできません.読み取り専用でしかアクセスできません.OneDrive アプリにドラッグドロップすれば,ファイルの書き込みもできるので,実用的には困らないのですが,何となく釈然としないものがあります.
なお,Windows ファイルサーバーへのアクセスは,「ファイル」アプリの「新しいサービスの追加」から,SMB ファイル共有をすれば良いだけだったので,これは簡単でした.
また,Microsoft Office ですが,私の場合は,VBA 等は基本的に使いませんが,残念ながら Android アプリ版の特に WORD は機能が足りません.見るだけなら良いのですが,最初から文章を作って完成原稿にするのはチョコチョコと足りない機能(文字の均等割付とか)があります.
見るだけ,あと,ちょっとした修正をする程度ならば使えますが,仕事を全面的に Chromebook で行えるかと言われると,私のような Office のライトユーザーでもちょっと無理があるなぁ……と思います.
パスワード管理ソフトの導入
最近は,仕事でも(個人的にも)とにかくパスワードを大量に管理せざるを得ません.もちろん手作業で管理なんて無理なので,パスワード管理ソフトが使えないと私の場合話になりません.
私の場合,パスワード管理は,Keepass ver.2 の形式のファイルをクラウドドライブで同期し,各種機器から参照していますので,これができるものを探すことになります.
ありがたいことに,これについては,デスクトップ用 OS だと,KeeWeb
をいままで使ってきましたし,KeeWeb の場合は,Chrome で OnlineWebApp を使うことができます.
デスクトップアプリと比べても全く遜色ないですし,WebApps を追加した時点で,画面下のシェルフに KeeWeb のアイコンが追加されます.と言うことで,パスワード管理ソフトについては全く問題がありませんでした.
Linux の導入
今回の Chromebook の導入は,仕事に使えるのかどうかをある程度検証することが目的だったので,当然,これで開発や計算ができるのか,に興味があった訳ですが,結論から言うと,Windows の WSL と同じような感じで Linux を導入できるので,オープン系の開発については,これを入れてしまえばほぼ問題はない訳です.
しかし,標準で導入されるディストリビューションは Debian で,私の場合はこれだとちょっと使いにくい.できればいつも使っている Ubuntu 系を入れたい(Ubuntu も元はと言えば Debian 系統ですが,Ubuntu だと色々 PPA 使えるのが便利)訳です.
調べてみると,ChromeOS の場合,Crostini と呼ばれる LXC + LXD コンテナの動作環境が用意されており,これを用いることで,Ubuntu も動作させられるらしい.
実際の作業は英語ページですが,
の通りにやれば,最新安定版の Ubuntu 20.04 を導入できました.
なお,導入後にやった作業は以下の通り.全て標準のターミナルで作業していることにご注意ください.
まず,TimeZone や日本語のロケールを導入します.
TimeZone の変更 $ sudo dpkg-reconfigure tzdata 日本語ロケールの導入 $ sudo apt install -y language-pack-ja $ sudo update-locale LANG=ja_JP.UTF-8
また,ローカルなサーバーにアクセスするため,内部 DNS Server を使いますので,スタブリゾルバを使わないよう Ubuntu を設定しました.
$ sudo sed -i"" -e "s/.*DNSStubListener=yes/DNSStubListener=no/" /etc/systemd/re $ cd /etc $ sudo ln -sf ../run/systemd/resolve/resolv.conf resolv.conf $ vi /etc/systemd/resolved.conf ... #DNS= #FallbackDNS= Domains=terrace.local #LLMNR=no #MulticastDNS=no ... $ systemctl restart systemd-resolved.service
次に,ローカルなサーバーに SSL で警告なしでアクセスできるよう,オレオレルート証明書を導入します.
$ sudo mkdir /usr/local/share/ca-certificates/extra $ sudo cp hyt-CA.crt /usr/local/share/ca-certificates/extra/ $ sudo update-ca-certificates
Chrome にも「設定」「プラバシーとセキュリティ」「セキュリティ」「証明書の管理」から「認証局」にインポート hyt-CA.crt を導入しました.
次は Zsh の導入ですが,これは,Zsh の便利な機能を一括して導入できる prezto とセットで導入していきます.
$ sudo apt install zsh $ zsh This is the Z Shell configuration function for new users, zsh-newuser-install. You are seeing this message because you have no zsh startup files (the files .zshenv, .zprofile, .zshrc, .zlogin in the directory ~). This function can help you with a few settings that should make your use of the shell easier. You can: (q) Quit and do nothing. The function will be run again next time. (0) Exit, creating the file ~/.zshrc containing just a comment. That will prevent this function being run again. (1) Continue to the main menu. (2) Populate your ~/.zshrc with the configuration recommended by the system administrator and exit (you will need to edit the file by hand, if so desired). --- Type one of the keys in parentheses --- # (q) を入力 $ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" $ setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done $ chsh -s /bin/zsh
次は日常的に使う小物類の導入です.
$ sudo apt install tmux lv bmon iftop vim nkf jpegoptim peco zsh imagemagick mak # pt の導入 $ cd /usr/local/src $ sudo wget https://github.com/monochromegane/the_platinum_searcher/releases/dow $ sudo tar -zxvf pt_linux_amd64.tar.gz $ cd /usr/local/bin $ sudo ln -s /usr/local/src/pt_linux_amd64/pt . $ sudo ln -s /usr/bin/peco percol
さらに,日常的に使っている設定ファイルを以下の通り配置しました.
$ vi .vimrc set termencoding=utf-8 set encoding=utf-8 set fileencodings=utf-8,iso-2022-jp,shift-jis,euc-jp set statusline=[%n]\ %f\ %(\ %M%R%H)%)\=Pos=<%l\,%c%V>\ ASCII=%b\ HEX=%B set viminfo='20,\"50 set autowrite nobackup nowritebackup set autoindent smartindent set showmatch warn set showcmd ruler set paste set ttyfast set wrap wrapscan set wildmenu set ts=8 sts=8 sw=8 smarttab noexpandtab set backspace=2 scrolloff=2 cmdheight=1 laststatus=2 set updatecount=0 set ignorecase smartcase set suffixes+=.orig,.rej,.class,.exe,.bin set shellslash norestorescreen noerrorbells set wildmode=longest,list set formatoptions+=m set nocompatible $ vi .inputrc $include /etc/inputrc # Case-insensitive tab completion set completion-ignore-case on # Allow 8-bit input/output set meta-flag on set convert-meta off # set input-meta on # set output-meta on $ vi .tmux.conf set-window-option -g mode-keys vi set-window-option -g window-status-format " #I: #W " set-option -g default-shell /bin/zsh set-option -g status off set-option -g status-bg "colour238" set-option -g status-fg "colour255" set-option -g status-right " | %m/%d %H:%M:%S" bind b split-window\ "tmux lsw | percol --initial-index $(tmux lsw | awk '/active.$/\ {print NR-1}') | cut -d':' -f 1 | tr -d '\n' |\ xargs -0 tmux select-window -t" bind B split-window\ "tmux ls | percol --initial-index\ $(tmux ls | awk \"/^$(tmux display-message -p '#{session_name}'):/\ {print NR-1}\") | cut -d':' -f 1 | tr -d '\n' |\ xargs -0 tmux switch-client -t" bind-key M-s \ if-shell "tmux show-options -g status | grep off"\ "set-option -g status on" "set-option -g status off" bind-key M-m \ if-shell "tmux show-options -g mouse | grep off"\ "set-option -g mouse on" "set-option -g mouse off"
次は,Gnome Terminal と PDF ビューアーの Evince を導入しました.なお,実際には Gnome Terminal は使っていないのですが,この2つをセットで入れないとなぜか Evince の設定が保存されず,毎回非常に使いにくい形で Evince が起動してしまいます.を一度入れれば,Gnome Terminal 削除後も問題なく設定が保存されるので,恐らく Gnome Terminal が依存する適当なパッケージが影響しているのだと思いますが,あまりに大量なので,どれが影響するパッケージなのかはイマイチよくわかっていません.また,ついでに Latex も入れておきました.
$ sudo apt install gnome-terminal $ sudo apt install evince # latex の導入 $ sudo apt install texlive-lang-cjk $ sudo apt install texlive-fonts-recommended $ sudo apt install texlive-fonts-extra $ sudo apt install xdvik-ja $ sudo apt install latexmk
さて,ここまで入れると,ChromeOS のアプリ一覧に Linux の色々なアプリのアイコンが登録されます.Linux のコマンドは基本的にはターミナルから起動すればよく,ChromeOS 一覧がゴチャゴチャするのはあまり好きではないので,これら ChromeOS のアプリ一覧の Linux アプリのアイコンを消してやることにします.これは以下の通り,Ubuntu の /usr/share/applications 以下を変更してやればできます.また,一部のアイコンが気に食わなかったので,その入れ替えも行いました(/usr/sharepixmaps 以下を適当に変更することでこれは可能になります).
$ cd /usr/share/applications $ sudo mv org.gnome.Evince.desktop org.gnome.Evince.desktop.bk $ sudo mv yelp.desktop yelp.desktop.bk $ sudo mv display-im6.q16.desktop display-im6.q16.desktop.bk $ sudo mv org.pwmt.zathura.desktop org.pwmt.zathura.desktop.bk $ sudo mv vprerex.desktop vprerex.desktop.bk $ sudo mv debian-xterm.desktop debian-xterm.desktop.bk $ sudo mv debian-uxterm.desktop debian-uxterm.desktop.bk # gnome icon theme $ sudo apt install gnome-icon-theme $ sudo ln -s /usr/share/icons/gnome/256x256/apps/utilities-terminal.png /usr/share/pixmaps/org.gnome.Te
次は vscode の導入です.これは PPA を追加することで導入します.
$ sudo apt update $ sudo apt installapt-transport-https $ wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key a $ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos $ sudo apt install code
また,Linux アプリでは基本的に(ChromeOS のターミナル経由で使うアプリを除き)ChromeOS 標準の IME を用いて日本語の入力ができません.このため,Linux 用の日本語 IME の fcitx-mozc を導入します.
$ sudo apt install fcitx-mozc
なお,fcitx-mozc は導入後色々設定してやる必要がありますが,この辺りについては,
を参考に行いました.あと,
を参考に,
$ mkdir ~/.config/fontconfig $ vi ~/.config/fontconfig/fonts.conf <?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <!-- Default serif fonts --> <match target="pattern"> <test qual="any" name="family"><string>serif</string></test> <edit name="family" mode="prepend" binding="same"><string>Noto Serif CJK JP</string> </edit> </match>
としてやりましたが,これが必要だったのかどうかはちょっとよくわかっていません.
これでだいたい日常的に過ごすのに必要なものは全て導入できました.もちろん,このあと,折々に必要になったパッケージを入れたり逆に不要なものを削除したりしていますが,今のところ少なくとも Linux 環境については特に困るようなこともなく,快適に利用できています.特に WSL とは違って,GUI なアプリも使えるのが便利だな……と思います(WSL も将来的には動かせるようになるみたいですけどね).
雑感といまのところの問題点
と言うことで,最低限使えるよう整備しましたが,私的には,ChromeOS って,Android が使える elementary OS だよなって思います.なお,elementary OS と言うのは,Linux のディストリビューションの一つで,
シンプルで美しいデスクトップがその特徴なのですが,実際,セットアップも少なくとも Linux の部分についてはほとんど同じ
ですし,できることも Android アプリが使えること以外ほとんど同じです.また,elementary OS の場合,デスクトップにファイル等全く置けませんが,ChromeOS も置けないのでこの辺り全く同じ感覚ですし,どちらもシンプルさが売りです.
Android アプリが使えるのと,プリインストールされた専用のものが用意されており,セットアップなどに気を使わなくて良い分だけ,ChromeOS の方がかなり良い……と言いたいところですが,残念ながら,elementary OS より劣るところがあります.それは,ハードウェア情報と周辺機器のサポートです.
ChromeOS ってハードウェアの情報がほとんど分かりません.もちろん「設定」アプリの「デバイス」から一通りのことはできますし,最低限の情報は表示されます(CTL+ALT+T で crosh を起動して dmesg コマンドを打てばある程度は分かりますが,これは ChromeOS の機能とは言えないでしょう)が,その内容は必要最低限です.また,ChromeOS の場合,周辺機器のサポートはほとんど期待できません.Android のアプリをサポートしているのだから,Android と同程度,周辺機器もサポートしているのかと思ったのですが,残念ながら全くの別物です.Bluetooth は SBC のみのサポートのようですし,プリンタなどもどうやってセットアップしたら良いのかよく分かりません.そしてこの辺りのことを調べてもほとんど何も情報が出てきません.
elementary OS は Linux のディストリビューションの一つですから,その気になれば苦労はしますが,ハードウェアの詳細な情報を取得できますし,周辺機器についても(自己責任で)色々使えるようにできます.しかし,ChromeOS はこれができるようには見えないし,多分現状はできないと思います.つまり,現状,ある意味,Linux より「不便」だよなって思う訳で,Linux でも Windows や MacOS と比べると使える周辺機器少ないので(Microsoft Office の問題点と合わせて),お仕事用としては,今のところかなり用途が限定しないと辛いかなぁ……と思います.
と言うか,Google さん.せめて Bluetooth のコーデック,Android と同じだけサポートしてもらえないでしょうか.Android のアプリは使えるのに,使っているイヤフォンには SBC でしかつながらないって,悲しいです.
以上!