Chrome OS と Linux (Arch Linux Arm)のデュアルブート
Chromebook Plus (armv8 / aarch64 / Mali-T860MP GPU)は、Macbook Air early 2015 に代わり、メインのモバイルPCになっていますが、アフィリエイトやネットビジネスに役立たせられるようにフル活用すべく、使い道を探求していたところ、Linux を導入すると良いんじゃないかと思いました。
というのも、この育休中に「退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング」
という本があるのを知って、プログラミング言語の Python に興味を持ち始めたんですよね。
プログラミングって、いかにも難しそうで、アフィリエイトで成果を出すのに絶対必要かといえば、NOだし、2010年ぐらいに WordPress に夢中だったころに、PHPを習得しようとして挫折したので、もうそういう小難しいことは避けて、集客力や販売力(ライティング、プレゼン)を磨いてきたわけですが、今回は、いろんな意味で余裕があり、育児休暇中ということもあるので、ダメ元でチャレンジすることにしてみました。
僕は、社員を雇っていない(というか、雇いたくない)、ぼっち社長なので、僕の分身であるパソコンだったり、サイトであったりに働いてもらう必要があります。自動化といえば、実行できていたのは唯一、ステップメールぐらいしかありませんでした。というより、他に自動化ってどうやるのか正直わかりませんでした・・・。でも、自分の中で自動化については意識していたんでしょうね。「退屈なことはPythonにやらせよう」というタイトルを見た瞬間、これだ!と思ったので。
この本のおかげで、Pythonを知ることができ、プログラマーじゃなくても、プログラミングってできるもんなんだということも分かりました。恥ずかしながら、「もっとパソコンに働いてもらえるんだ!」ってことに今頃気付かされました。
今までは
「パソコンを使って、バリバリ自分が働く」
これからは
「パソコンにバリバリ働いてもらう」
ですね。
というのも、育児していると本当に時間に追われます。自分の親に心の底から感謝できるほど、大変なんですよね。
妻と話していても、シングルマザー/シングルファーザーなんて絶対無理って話になります。たった一人家族が増えるだけでこうも大変かと。とにかく時間がない!幸い僕はこれまでがむしゃらに自分のビジネスを発展させてきたので、1年2年休んだところで、収入がなくなることはありませんが、もっともっと効率良く働かないと、今後はピンチになる可能性がありそうだなーと危機感は持っています。もう38歳だし、自分が働く時間を減らしつつ、今の収入かそれ以上の収入を得られるよう「働き方改革」に着手し、パソコンに働いてもらえるところを洗い出し、パソコンに命令(プログラミング)できるようになろうとしています。(無理だったら、おとなしくプログラマーを雇うつもりです笑)
それでパソコンに働いてもらうために、chromebook で python3 の開発環境がローカルで作れないか探ったんですが、chromebook らしく、多くは、 cloud9 のようなオンラインの開発環境(有料)を使っているような印象でした。Androidアプリも探しましたが、どうもイマイチだったので、アプリでの開発環境はもう少し時間が掛かりそうですね。
それで、最終的に行き着いたのが、 Linux の導入です。Linux に対応しているIDE(開発環境)は、Windows10、macでもおなじみの Pycharm 等があったので、Linux を導入しようと試みました。Linux 使ったことなかったんで、今回初めて分かったんですが、WindowsとかMacと違うんですね。Androidに似ていて、カスタムROMのように、ディストリビューション(distro)と呼ばれる、Linuxの改造版が色々と開発されているんです。ubuntu(xubuntu, Lubuntu)だったり、Debian だったり、galliumOS だったり、arch linux だったり・・・
なので、chromebookの種類によって、導入できるかどうかも変わってくるので、もし、アナタがLinuxを使う予定があるのなら、デバイスを買う時点でよくよく調べておくことをおすすめします。CPUがインテルなのか、arm なのかとか、armでもバージョンは何なのかとかディストリビューションによって動作環境がぜんぜん違うので。
ちなみに僕が買った Chromebook Plus の場合、対応している Linux が、arch linux arm というディストリビューションのみ?でした。
コンテンツ目次
- Arch Linux Arm インストール ガイド
- インストール後の Chromebook
- USBメモリまたはSDカードを用意する
- デベロッパーモードにする
- archbkファイルをダウンロード
- Arch Linux Arm のインストール
- Arch Linux Arm 初期設定
- Wifiのセットアップ
- システムのアップデート
- sudo のインストール
- デスクトップ環境 Mate の導入
- ネットワーク設定
- FireFox インストール
- Arch Linux Arm の未解決項目
- Mate の各種設定
- Pycharmのインストールについて
- Python3.6 + Selenium + FireFox
- Python3.6 + Selenium + Chrome
Arch Linux Arm インストール ガイド
それでは、chroomebook plus に、arch linux arm をインストール(デュアルブートする)手順を綴っておきます。
※ デュアルブート(dual boot)とは、一台のコンピュータに2つのOSを組み込み、どちらでも起動できるように設定すること
インストール後の Chromebook
下図は、Arch Linux Arm をインストールして、起動させた際の画面です、
chromebook ではデスクトップにファイルを置けませんが、 Linux では Windowsのようにファイルを置けます。
実は、インストールマニュアルは、Arch Linux Arm の公式サイト に掲載されていますが、
英語のみで分かりづらいこと、説明が不十分な箇所もあるので、下記マニュアルのほうが良いかと思います。
USBメモリまたはSDカードを用意する
arch linux arm の良いところは、容量の少ない内部ストレージを使わず、USBとかSDカードにインストールする点です。ただ、問題はどんなUSB/SDカードでもOKとはいかないんです。国内外のサイトを見まくりましたが、インストールする USB/SDカード についての注意点を書いているところが、ほとんどなかったんですが、ここ重要です。
僕は、インストール成功までに3つのUSB/SDカードを使いました。
- SunDisk extreame pro 128GB ( SDXC )・・・ ニセモノかも
- Verbatim 16GB( USB-C )・・・ 中古品?
- ELECOM 16gb( USB-C )・・・ ビックカメラで購入した新品
成功したのは、ELECOM のUSBだけでした。なので、僕としては新品のUSBメモリ(Type-C)をおすすめします。
デベロッパーモードにする
【注意】ローカルストレージにあるデータは消えますので、必要に応じバックアップしておきます。
- 電源をOFFにする
- escボタン + 更新ボタン を押しながら、 電源ボタン
- リカバリーモードになるので、Ctrl + d をクリック
archbkファイルをダウンロード
公式サイトの手順を代行してくれるスクリプトファイルが配布されていますので、ダウンロードします。
Arch Linux Arm のインストール
archbkファイルのおかげで、インストール自体は簡単です。
- CROSH を起動する ( ctrl + alt + t )
- 下記コマンドを入力
shell
cd ~/Downloads
次に
wget https://raw.githubusercontent.com/altreact/archbk/master/make-arch_drv.sh
次に
sudo sh make-arch_drv.sh
これでインストールが始まるわけですが、
途中、3ヶ所 「y」 を入力する場面があります。
※ yを入力後、ENTER を押します
① do you want to continue with this install? [y/N] : y
② would you like to keep ArchLinuxARM-gru-latest.tar.gz for future installs? [y/n] : y
③ poweroff this device now? [y/N] : y
以上で、Arch Linux Arm のインストールは終わりです。メチャメチャ簡単ですね。
念のため、画面のコピーを載せておきます。
crosh> shell chronos@localhost / $ cd ~/Downloads chronos@localhost ~/Downloads $ wget https://raw.githubusercontent.com/altreact/archbk/master/make-arch_drv.sh --2017-10-02 21:45:04-- https://raw.githubusercontent.com/altreact/archbk/master/make-arch_drv.sh Resolving raw.githubusercontent.com... 151.101.72.133 Connecting to raw.githubusercontent.com|151.101.72.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 16515 (16K) [text/plain] Saving to: 'make-arch_drv.sh' make-arch_drv.sh 100%[=================================================>] 16.13K --.-KB/s in 0.006s 2017-10-02 21:45:04 (2.57 MB/s) - 'make-arch_drv.sh' saved [16515/16515] chronos@localhost ~/Downloads $ sudo sh make-arch_drv.sh We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. remove all devices (USB drives / SD cards / microSD cards), except for the device you want Arch Linux ARM installed on. to safely remove a media storage device: 1) go to files, 2) click the eject button next to the device you wish to remove, 3) unpug the device press any continue... **************** ** ** ** Warning! ** ** ** **************** USB drive sda will be formatted. all data on the device will be wiped, and Arch Linux ARM will be installed on this device. do you want to continue with this install? [y/N] : y 1) creating root partition on target device 2) downloading latest Arch Linux ARM tarball --2017-10-02 21:46:33-- http://os.archlinuxarm.org/os/ArchLinuxARM-gru-latest.tar.gz Resolving os.archlinuxarm.org... 50.116.36.110 Connecting to os.archlinuxarm.org|50.116.36.110|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://sg.mirror.archlinuxarm.org/os/ArchLinuxARM-gru-latest.tar.gz [following] --2017-10-02 21:46:34-- http://sg.mirror.archlinuxarm.org/os/ArchLinuxARM-gru-latest.tar.gz Resolving sg.mirror.archlinuxarm.org... 210.23.25.77 Connecting to sg.mirror.archlinuxarm.org|210.23.25.77|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 306709510 (293M) [application/octet-stream] Saving to: 'ArchLinuxARM-gru-latest.tar.gz' ArchLinuxARM-gru-latest.tar.gz 100%[=================================================>] 292.50M 1.07MB/s in 4m 46s 2017-10-02 21:51:20 (1.02 MB/s) - 'ArchLinuxARM-gru-latest.tar.gz' saved [306709510/306709510] 3) extracting rootfs to target device root partition 4) writing kernel image to target device kernel partition 5) unmounting target device installation finished! would you like to keep ArchLinuxARM-gru-latest.tar.gz for future installs? [y/n] : y ******************************************************************** press ctrl+u at startup screen to boot Arch Linux ARM. drives will not boot from the blue USB 3.0 port remember to plug drive into black USB 2.0 port to boot from it poweroff this device now? [y/N] : y
Arch Linux Arm 初期設定
ただ問題はここからです。まだコマンドでしか操作できません。色々設定しないと、WindowsやMacみたいに使うことができないので、インストール失敗したと勘違いされないように。
すると、下図のようになります。(ちゃんとしたUSBメモリ/Micro SDカードを使っていない場合は、途中で処理がストップして、下図のようにはならないでしょう)
ログインします。
alarm login: root
password: root
になります。
Wifiのセットアップ
もう、Chromebook じゃないので、まだネットも利用できない状態です。まずはネット接続できるよう、Wifi のセットアップをします。上図のように、次のコマンドを入力します。コマンド入力後は、Enterキーを押します。
wifi-menu
すると、下図のような画面になりますので、使用しているネットワークを選択して、ENTERをクリック。
すると、下図の画面になりますので、プロファイル名(デフォルトのままでOK)を決めて、< O K > のところで、ENTERを押します。
パスワードの入力を求められるので、パスワードを入力します。
入力すると、下図のようになります。
これで Linux でネットが使えるようになりました。
Arch Linux Arm の公式サイト では、ここまでしか説明がありませんので、初めて導入した時は、インストールすれば、WindowsやMacみたいに使えるもんだと思っていたので、テンパってしまいました。Linux の場合、WindowsやMacみたいに使えるようになるには、まだいくつかのステップを踏む必要があります。
いや~、Linuxの導入は思っていた以上に面倒です。
システムのアップデート
次のコマンドを入力し、システムを最新の状態にしておきます。
pacman -Syu
sudo のインストール
次のコマンドを入力します。
pacman -S sudo
デスクトップ環境 Mate の導入
Windows や Mac のように、GUIで Linux を操作できるように、デスクトップ環境をインストールします。デスクトップ環境は、複数ありますが、ここでは Mate (マテ)を導入することにします。※所要時間は、約1時間ほどかかります。
pacman -S mate mate-extra xorg-server
pacman -S lightdm lightdm-gtk-greeter
systemctl enable lightdm.service
ここで、一旦リブート(再起動)して、GUIで操作できるかを確認します。
reboot
リブートすると、リカバリモードになりますので、ctrl + u を押して、Arch Linux ARMを起動します。
コマンド画面が表示された後は、下図のように、GUIのログイン画面が表示されます。
権限の追加
今は、root でログインしていますが、今後はこれから新たに設定するユーザー名とパスワードでログインします。
それでは、ターミナル(MATE端末←誤訳)を開きます。
まず、root のパスワードの変更を求められるので、パスワードを変更します。
変更後は、次に新しいユーザー名とパスワードを決めるよう指示されますので、任意のユーザー名とパスワードを決めてください。
Mate の日本語環境を整える
Mateの導入が確認できたら、UI(ユーザーインターフェイス)は、全て英語なので、日本語にします。(不完全な日本語訳です)
それでは、GUIからコマンド画面に戻ります。
ctrl + →
コマンド画面に戻ったら、日本語フォントをインストールするわけですが、いろんなフォントがあるので、下記コマンドでフォント一覧を表示させます。
pacman -Ss font
例1)otf-ipafont をインストールする場合
pacman -S community/otf-ipafont
例2)adobe-source-han-sans-jp-fonts をインストールする場合
pacman -S community/adobe-source-han-sans-jp-fonts
日本語フォントのインストールが終わったら、次のようにコマンドを入力
[ユーザー名@alarm ~]$ sudo su [sudo] password for ユーザー名: [root@alarm ユーザー名]# nano /etc/locale.conf
LANG="ja_JP.UTF-8"
となるようにして、上書き保存(Ctrl + X ⇒ y ⇒ ENTERキー)
して終了します。これで、英語だらけのGUIから分かりやすくなったんじゃないでしょうか。
次に、日本語入力ができるようにします。(今は英数字しか入力できないので)
下記コマンドを入力します。
pacman -S fcitx fcitx-mozc fcitx-configtool fcitx-im
これで、chromebook 同様、Ctrl + スペース で日本語入力できます。
Mate 外観(apperance)の設定
初期のままだと、文字サイズが小さくて見えづらいので、大きくします。
- System > Control Center > appearance (画像一番奥のウィンドウ)
- Details をクリック(画像中央のウィンドウ)
- Resolution の値を任意の値(画像では200)に変更する(画像手前のウィンドウ)
ネットワーク設定
PC起動後、お使いのWifiへ自動接続するための設定をしておきます。
pacman -S networkmanager network-manager-applet
systemctl enable NetworkManager.service
リブート(再起動)します
reboot
- System > Preferences > Internet and Network > Network Connections
- 使用しているネットワーク名をクリック
- Wi-Fi Security のところで、パスワードを入力
これで、次回からLinux起動後は、自動でネットが繋がります。
FireFox インストール
pacman -S firefox firefox-i18n-ja
FireFox 日本語化
対応している日本語パックをインストールします。
FireFoxのメニューの「Edit」から「Preferenses」を開く(FireFoxのバージョンによっては、「Tools」にあるかも)
次に下図のように、タブ「Content」を開き、「languages」の「Choose」ボタンをクリック。
「japanese [ja]」を選択して、「Add」をクリックします。
これで、FireFoxを日本語で使えます。
Arch Linux Arm の未解決項目
Arch Linux Arm は、Chromebook Plus 上で動かすことができますが、下記の通り、まだ不十分なところも多々ありますので、試行錯誤しながら、情報をアップデートしていく予定です。
Mate の各種設定
Mate の設定で問題がある、上手く出来ていない点は以下のとおり。
輝度(brightness)の設定
初期設定では、ディスプレイの明るさがMaxになっているので、調整したいはずです。
現在、調整方法を調べている所です。
画面右上部の電池のマークっぽいアイコンがありますので、右クリック。
Preferences をクリックすると、下図のようにウィンドウが表示されますので、100%になっている輝度(brightness)を30%程度に下げてみて、まだ明るければ下げて調整します。
タブ「 On Battery Power 」は、こんな設定にしています
タブ「 General 」は、こんな設定にしています。
文字の大きさの調整
Pycharmのインストールについて
まだインストールに成功していません。
Python3.6 + Selenium + FireFox
FireFoxで、ブラウザの自動操作をしたいのですが、うまく行きません。
Chromebook Plus のハードウェアの部分が問題なのか、どこがで設定ミスをしているのかよくわかりません。最新のFireFoxだからというウワサもあったりします。
Python3.6 + Selenium + Chrome
FireFoxがダメなら、残るはChromeしかありません。今後テストしてみます。