Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

Chromebookの日常使い

Chromebookは人生を豊かにしてくれる

WindowsLinuxを使い分け、普段遣いはLinuxだった私。
興味にそそられ、Chromebookを購入してみたら・・・思った以上の成果を発揮。
Chromebookの素晴らしさをはてなブログから発信!

とにかく手軽

仕事に利用しているパソコンを普段遣いの道具とするのは少々気が引ける・・・ってシーンないですか?
興味のあるアプリ入れた途端に調子悪くなって仕事に支障をきたすのは・・・などです。

これを払拭してくれるのがChromebook
機能が限定的なので、仕事に利用するシーンが限られるデメリットはありますが、それは逆に普段遣いのツールとして使いやすいメリットでもあります。

とにかく手軽にアレコレ試しながら自分だけの相棒を作れる楽しみ・・・そんな楽しみ方ができるのがChromebookです。

Chromebookスペシャルな手帳

WindowsLinuxを使って仕事を行い、普段遣いはLinuxで趣味を楽しんでいたワタクシ。
Chromebookを使ってみると、自分の中の認識がぶっ壊れました。

Chromebookはメインパソコンの代替えにはなりません。
そういう求め方はたぶん失敗するような気がします。
むしろ、カバンの中に常に忍ばせる手帳のような存在です。

Chromebookスペック

私のChromebookはこちら。
ASUS Chromebook Detachable CZ1 (CZ1000) | Chromebook | ノートパソコン | ASUS日本

特徴としてはこんな感じ。

  1. USIタッチペンが最初からついている
  2. 画面タッチ有効
  3. キーボード取り外してタブレットモードになる
  4. キーボードでパソコンのように文章入力できる
  5. Androidソフトが動く
  6. Linuxソフトが動く → 普段Linux使っている人はこれ最高です。
  7. Googleアプリとの親和性
  8. 平均10時間稼働バッテリー(公式では11.5時間)

普段使いの真骨頂

AndroidアプリとChrome拡張アプリの両方が使える。
これって使ってみると素晴らしい。

手書きメモ

このアプリを使いだして、紙媒体を利用するシーンが劇的に減りました。
Dropboxとの連携もできるので、クラウドにデータがバックアップされます。
文字検索とかの機能は無い。
あくまでも、ノートの代替え。
とにかく使いやすい。
ノートの代替としては申し分ない。

■手書きメモアプリ「Squid
www.squidnotes.com

  1. プランナー、スケジュール
  2. 音符、スポーツ、数学
  3. ドット等のグリッド
  4. パームリジェクション機能
  5. Dropboxへのデータバックアップ

さっと使えてテキスト入力に集中できるガジェットとして有名なのは、キングジムさんのPomeraとかですね。
私も愛用してました。

Chromebookはそれに加えて手書きメモツールとしての威力を発揮してくれます。
過去、スマホタブレットで紙の代替えを模索してみましたが、指書きとメモ画面描画が理由なのか、バッテリー消耗が思いの外早く、ちょっと残念な思いをしていました。
しかし、Chromebookは全般的に長時間バッテリー駆動なので、スマホほどバッテリー消費を気にする必要がありません。

Squidの活用方法については、別記事で紹介する事とします。

日記

日記アプリに注目したとき、パソコン用のアプリよりも選択肢が多いのが良いですね。
スマホを日記として活用する試みは、iPhoneが世に出たあたりから様々試行錯誤してこられた感じがあります。

おすすめはこちら
【すぐわかる!】『日記帳 - 10年日記 - 写真日記かわいい手帳』 - Appliv

日記を書くことに集中できて、過去を見返す機能が嬉しい。

リスト管理

こちらもパソコンの真骨頂のようなイメージがありますけれど、Todoを始め何かしらのリストをデジタル管理したい試みは、スマホが世に出てから様々試行錯誤されてきた分野かなぁと。
chrome上で快適に利用でき、データはクラウド管理されるので、端末を変えてもデータがなくなることは有りません。

おすすめはこちら
www.taskade.com

勉強

これも、パソコンよりも身近になった感が。
パソコン同様にデータはクラウドに残せるし、Chromebookの場合はGoogleドライブとの親和性が最強です。

音声・映像を活用

昔から活用はしていましたが、Chromebookを利用するようになってからよりスムーズに。
※ただしタブレットモードではうまくいかない場合がある

最近はyoutubeを聞きながら、別アプリでメモをとる。
これめっちゃ勉強はかどります。

youtube + squid
youtube + GoogleDrive
youtube + CaretMod

とかで活用しています。

パソコンライクな使い方

もちろん、パソコンライクな使い方も出来ます。
出来ないことを最初から割り切って考えられたら最強です。

私の中で間違いなく出来ないと割り切っているのはこれ

  1. MicrosoftOfficeの完全互換
  2. 開発業務に関するツール利用(VisualStudio、マイコン開発環境。。etc)
  3. Windowsでしか使えないツールたち
スケジュール管理

上記で紹介しているTaskadeもいけますし、Googleのアプリケーションたちの相性はやはり抜群。
GoogleカレンダーとGoogleKeepの連携は素晴らしいです。
Googleアカウントさえ管理できていれば、スマホとの連携もスムーズ。

Chromebookで作ったGoogleカレンダーのスケジュールが自動的にスマホと連携できているので、リマインダーとしての機能は秀逸です。

文章作成、表計算、プレゼンテーション

こちらもGoogleDriveで全て賄えますね。
難があるとするならば、GoogleDriveの容量が15GBと昨今のストレージとしては少し心許ないです。
これらは、Dropbox等のストレージサービスと連携して活用することで解決できる場合もあります。

MicrosoftOffice365

私は、仕事で利用するためにMicrosoftOffice365を契約しています。
その場合、Chromebookでも機能限定ではありますがMicrosoftOfficeを利用することが可能です。
必要最低限の機能に絞られていますが、それで事足りるなら十分に活用できます。

  1. マクロが使えない
  2. Windowsデスクトップほどのリボンアイコンがない
  3. 普段遣いしているプラグインを利用できない

一度使ってみて、必要十分だなぁと感じるなら、Windowsとおさらばしても良いかもしれませんね。

メール送受信

まぁ、これも言わずもがなですね。
Gmail最強です。
もちろん、Gmail以外にもAndroid向けのメールツールも多々あります。
面白いのが、Chrome拡張のGmailAndroidアプリとしてのGmailが存在していて、どちらも甲乙つけがたいものがあります。

私は、個人のGmailメールアドレスだけではなく、仕事で使うメールアドレスの受信もGmailでやっていますので、ブラウザで利用できるChrome拡張の方を利用しています。
やり方については少し長くなるので、また別記事として。

Web会議

MicrosoftTeams、Zoom、Chatwork、GoogleMeets。。。etc
およそミーティングアプリとして一般的に利用されているものは、ほぼChromebook内で完結します。
オーディオ設定などの簡潔さを考えるなら、Chromebookだけで十分かなと。
注意点としては

  1. 画面共有による作業の公開
  2. 画面共有による資料の公開

が必要になったとき、それがPC上で作成されているものだとしたら、そのファイルたちを何らかの形(Dropbox経由やGoogleDrive、OneDrive経由など)でファイルをChromebook側で参照できるように準備が必要になります。

プログラミング

意外かもしれませんが、Linux環境を導入できることによりプログラミングも可能です。
興味があって勉強してみたいレベルの要求なら、なんら問題なく進めることが出来ますし、Google検索で調べれば、日本語の環境の構築方法なども得られます。

プログラミングエディタ

VSCodeEmacsVim。。。etc
パソコンでプログラミングする時のIDEやエディタを、Chromebook上で利用することが可能。

コンパイラ

私は普段の仕事でC言語を活用してます。
趣味と仕事でGo言語も。
その両方がChromebook上のLinuxコンテナで動作します。
インストールもLinuxを利用している人なら問題なく進められますし、Linuxコマンドラインの学習にもなります。
pythonPerlRuby、RustのCLI動作も確認済み。

Git活用

こちらも開発に携わる方なら必須のツール。」
普通に使えます。

いつでもどこでも手軽に

この手軽さが一番の魅力。
パソコンは起動するのに手間だなと感じてしまうほど、手軽に使えるのがChromebook
小型のノートパソコンを持ち歩く方法もありますが、いやいや・・それ以上に手軽です。

また、普段遣いの仕事などに利用するパソコンですと、環境を壊してしまった時に取り返しがつかないかもしれない恐怖が有り、チャレンジ的な使い方が億劫になってしまいます。

手軽に身近に起きながら、日常のアレコレを快適にこなせるChromebookの気持ちよさは、一度ハマってしまうと抜けられません。

ChromebookでRaspberryPi OSをUSBメモリに焼く

Raspberry Pi OS のイメージをChromebookUSBメモリ

Chromebook リカバリユーティリティをインストール

Chromeストアで、Chromebookリカバリユーティリティをインストールしておく。

Chromebook リカバリ ユーティリティ - Chrome ウェブストア

RaspberyPi OSのダウンロード

Raspberry Pi 本家のサイトから、Raspberry Pi OSのイメージ(zipファイル)をダウンロードしておく。

Operating system images – Raspberry Pi

USBメモリRaspberry Pi OSを焼き込む

自分で書いておいて、焼き込むという表現に年齢を感じる・・・

16GB以上のMicroSDを準備

ChromebookのUSB端子にマッチするアダプターで、MicroSDを接続(押す)する。
僕のChromebookのUSB端子は電源供給用と共用のType-C

Chromebook リカバリユーティリティを起動しイメージを選択

Chrome拡張機能から、「Chromebook リカバリユーティリティ」を起動。
起動後、 画面右上の歯車アイコンから「ローカルイメージを使用」を選択

f:id:kamuycikap:20220207124834p:plain
画面操作
ダウンロードしたzipファイルを選択

次の画面に進むと、イメージファイルの指定を促されるはずなので、ダウンロードしたRaspberryPiOSのイメージファイル(zip)を選択。

MicroSDUSBメモリ)をUSBポートへ

メディアの挿入を促されるので、Chromebookに搭載のUSBポートへMicroSDを押す。
Chromebookにメディアが認識されれば、メディアの選択肢が画面中央に表示されるはず。

焼き込み開始

メディアを選択したらボタンクリックで次へ進み、あとは放置するだけ。

Chromebookで予期せぬ再起動が多発する時の対応方法

ChromeBookの動作が極端に遅くなり・・・止まる ... orz


ChromeBookを購入し、思った以上に大活躍で手元から離せない日々。
使い倒してやろうとすると、いつのまにやら○icro○oftのWin○owsみたいになってくる。。。

ChromeBook スペック

モデル   :CZ1000DVA-L30019
CPU    :MediaTek MT8183(2GHz)
メモリ   :4 GB
ストレージ :EMMC(128GB)

結論

結論から先に書きます。

crosh起動

下記のキーボード操作を行うとchromeが起動し、croshのコマンドプロンプト画面になります。

■キーボード操作

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> 
swap作成

下記のコマンドを実行し、swap領域を作成します。
Google検索でHitするswap容量は2000(2ギガバイト)とする参考資料がヒットしますが、私の場合は4000以上でなければ症状は改善されませんでした。

現状、UbuntuLinux及びCentOSLinuxの慣例に習い、「実装メモリ容量+2ギガバイト」を設定しています。

crosh> swap enable 6000
再起動

ChromeBookをスリープではなく、ハードウェア再起動します。
私のChromebookでは、電源ボタン長押でした。

swap確認

キーボード操作「Ctrl + alt + t」でcroshを起動し、topコマンドを実行します。
結果、なにやら数字とアルファベットが並びますが、
MiB Swap: 5859.4 total, 4041.8 free, 1817.6 used.
と表示されていれば、設定完了しているはずです。
※私はswap enable 6000として設定したので、6000に近しい値になっています。

crosh> top
Tasks: 482 total,   1 running, 481 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.5 us,  2.7 sy,  0.0 ni, 91.6 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3897.6 total,    141.1 free,   2806.4 used,    950.1 buff/cache
MiB Swap:   5859.4 total,   4041.8 free,   1817.6 used.    571.0 avail Mem 

しばらく運用した結果

現在、一週間ほどヘビーに運用していますが、頻発していたフリーズ症状は数回程度に収まっています。

2022/02/07 追記

暫く使ってみて、自分の環境ではSWAPメモリの利用容量が2GBを超えています。
なので、Chromebookの環境にもよりますが最低でも4000(4GB)のSWAPはあったほうが良いかもしれないですね。

top - 09:21:07 up 2 days, 20:47, 0 users, load average: 1.34, 2.35, 1.71
Tasks: 488 total, 3 running, 485 sleeping, 0 stopped, 0 zombie
%Cpu(s): 10.7 us, 3.4 sy, 0.0 ni, 85.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3897.6 total, 133.7 free, 3306.5 used, 457.4 buff/cache
MiB Swap: 5859.4 total, 3372.5 free, 2486.9 used. 198.9 avail Mem

様々アプリを開き、Chromeのタブを10個ぐらい開いていると、MiB Swap : free が3500を超えることもあり。
極端に動作が重くなった時に見る習慣(croshのtopコマンド)をつけると、平均的に3500を超えている様子。

Raspberry Pi OSにEmacs 27.2をインストールする

Raspberry Pi OSにEmacs27.2をビルドインストール

Raspberry Pi OSにapt installコマンドでEmacsを導入すると、バージョン26.1がインストールされるのですが、折角なので最新版をソースコードからビルドして構築してみます。

ソースのダウンロード

GNU Emacs download - GNU Projectにある「 nearby GNU mirror」をクリックして、最新のソースをダウンロードします。
2021年11月16日時点での最新は、emacs-27.2.tar.gzでした。

開発環境のインストール

無事にemacs-27.2.tar.gzをダウンロードできたら、Linuxターミナルを起動してコンパイルの前作業を実施。
コンパイルをするために必要なあれこれを事前にインストールしておきます。

# まず解凍
$ tar zxvf emacs-27.2.tar.gz

# 解凍したディレクトリへ移動
cd emacs-27.2

# コンパイルするための不足ぶんを確認
./configure

すると、GUI表示のライブラリ一式が無いですよと画面に表示されます。
なのでGUI表示に必要なライブラリ一式をインストール。

sudo apt install build-essential texinfo libx11-dev libxpm-dev libjpeg-dev libpng-dev libgif-dev libtiff-dev libgtk2.0-dev libncurses-dev gnutls-dev libgtk-3-dev libgif-dev librsvg2-dev

コンパイル

スーパーユーザー権限でコンパイル開始
下記のコマンドを順番に実行。

$ sudo make
$ sudo make install

しばらく待てば、Emacs27.2がインストールされる。

起動

$ emacs

Go言語1.17でgodocを利用する

Go言語 1.17でgodocパッケージを利用する

バージョン1.16で利用していたgodoc利用を1.17で使おうとしてハマったので備忘録
今回は事情あってWindows上の話
※考え方はLinuxでも一緒

事前条件

すでにGO言語がインストールされ、goコマンド及びgo installでインストールしたパッケージの実行ファイルにコマンドプロンプトでアクセスできる事。
さらに、自分がソース管理しているディレクトリのパスを把握しておく事

> go version
go version go1.17.2 windows/amd64

上記の通りバージョン表示されない場合は、正しくgo言語がセットアップされていない。

GOROOTの確認
> go env

とすると、Go言語に関係する環境変数の設定値がズラッと並ぶ。
その中に、GOROOTがあるはず。
意図的に変えてなければ、下記のデフォルト値が設定されているはず。

GOROOT=C:\Program Files\Go
自分がソース管理しているディレクト

仮に、下記のディレクトリに自作Goソース(パッケージ)を配置しているものとする

C:\mygolang\src\
  ┃
  ┠ pkg01
  ┃ ┠ go.mod 
  ┃ ┗ pkg01.go 
  ┃
  ┠ pkg02
  ┃ ┠ go.mod 
  ┃ ┗ pkg02.go 
  ┃

godocインストール

> go install github.com/golang/tools/tree/master/godoc@latest

バージョン1.17からは、積極的にinstallでのパッケージ導入が推奨されている模様。
結果、環境変数GOPATH配下のbinディレクトリに入れられる。

※2021/12/21 追記
Chromebookにインストールしようとしたら、上記のコマンドではだめだと怒られた。。。
下記のコマンドでインストールした。
Linuxでも同じ様な結果になるかもしれない。

$ go get golang.org/x/tools/cmd/godoc

GOROOT配下のsrcディレクトリにシンボリックリンク作成

godocにドキュメントとして認識してもらうため、GOROOT直下にあるsrcディレクトリに、自分がソース管理しているディレクトリのシンボリックリンクを作成する。
仮にシンボリック名をworkspaceとする。

> cd "C:\Program Files\Go\src"
> mklink /d workspace "C:\mygolang\src\"

上記は、Windows10のコマンドプロンプトでのシンボリックリンク作成コマンド

godoc起動

コマンドプロンプトからgodocを起動する

> godoc -http=:8080

URL入力

godocの起動ができたら、Webブラウザでgodocページにアクセスしてみる

http://localhost:8080/pkg/workspace/

pkgというディレクトリ指定に違和感があるが、内部的にはGOROOT直下のsrcディレクトリと置き換えられる模様。
うまく行けば、下記のようなWeb画面が表示されるはず
下記画面に表示されているのは、私がテストとしてあれこれ試したGo言語プログラム(パッケージ)

f:id:kamuycikap:20211115155607p:plain
godoc実行後のサンプル画面

HTMLで保存するには?

godocで表示されるHTMLをローカルに保存するにはどうすればいいか?
その答えは、Webページをダウンロードすればいい。
ただし、Windowsの場合、wgetが標準でインストールされていないので、Windowsの上で動くwgetをどうにかしてインストールするか・・・使った事はないがbitsadminと呼ばれるWindows上のwget代替えコマンドを利用する。

以下、wgetバージョン。
上記説明の通り、Windows版のwgetを入手して利用できるようにしておく事。

> godoc -http=localhost:8080 &
> wget -r -np http://localhost:8080/pkg/workspace

Emacsでバイナリファイル作成・編集

nhexl-modeによるバイナリファイル作成と編集


Emacsでバイナリファイルを利用する為に必要なパッケージと編集モード。

nhexl-modeのインストール

M-x package-list-packages で、nhexl-modeをインストール

モードの説明

GNU ELPA - nhexl-mode
hexl-modeとは違い、データの削除と追加が可能。
ニブルエディタマイナーモードに切り替えれば、直接16進数でデータを編集できる。

ニブルエディタマイナーモード

M-x nhexl-nibble-edit-mode
カーソルがニブル(4ビット)で進むふりをし、
自己挿入キーを使用すると、16進数を直接編集できます。

テキストの移動を回避するためのマイナーモード

M-x nhexl-overwrite-only-mode
このマイナーモードでは、自己挿入キーだけでなく、既存のキーも上書きされます
テキストですが、「yank」や「kill-region」などのコマンドも同様です。

KiCAD 5.1.10(Windows)にRaspberryPI Picoのシンボルを登録

Windows10のKiCADにRaspberry Pi Picoのライブラリを登録する

ライブラリのダウンロード

Githubからダウンロードする。

rpi/pico/kicad at master · blippy/rpi · GitHub
busybox32を利用できるようにしてたので、wgetコマンドでインストールした。
ダウンロードできるならば何でもよい。

> wget https://github.com/blippy/rpi/raw/master/pico/kicad/pico_rp2040.dcm
Connecting to github.com (52.69.186.44:443)
Connecting to raw.githubusercontent.com (185.199.110.133:443)
saving to 'pico_rp2040.dcm'
'pico_rp2040.dcm' saved

> wget https://github.com/blippy/rpi/raw/master/pico/kicad/pico_rp2040.lib
Connecting to github.com (52.69.186.44:443)
Connecting to raw.githubusercontent.com (185.199.110.133:443)
saving to 'pico_rp2040.lib'
'pico_rp2040.lib' saved
SWDピン付きのライブラリ(2021/11/05 追記)

上記のライブラリは、SWDピンが出ていない。

https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040.pdf
この資料に書いてある(Chapter.3 )んだけれど、SWDピンまで出ているライブラリが含まれているzipファイルのURLがこれ。
https://datasheets.raspberrypi.com/rp2040/VGA-KiCAD.zip

ファイルを解凍すると「RPi_Pico.lib」が含まれており、それがSWDピン付きのPicoライブラリ。

フットプリントのコピー(2021/11/05 追記)

シンボルとは別ではあるが、基盤レイアウトをするときに必要なフットプリントも同梱されているのでコピーしておいたほうが良い。
ファイルを解凍すると「RPi_Pico.pretty」フォルダが含まれており、それがSWDピン付きのPicoフットプリント。
フォルダをまるっとコピーしてあげればよい。
→ C:\Program Files\KiCad\share\kicad\modules\
※コピー先フォルダは、インストール時のオプション変更によって変わる可能性がある?ので注意したほうが良いかも。

KiCADのライブラリ用フォルダにコピー

ダウンロードしたファイルを、KiCADのライブラリフォルダにコピー
・pico_rp2040.dcm
・pico_rp2040.lib
→ C:\Program Files\KiCad\share\kicad\library\
※別に任意のフォルダでも問題ない様子。(日本語や半角スペースなどが含まれるファイルパスは避けたほうが良いかも)
※KiCADのバージョンやインストールする時の設定によっては上記PATHと異なる場合があるので、そこは適度読み替えてほしい。

コピーしたシンボルをシンボルライブラリに登録

KiCADを起動し、「回路図レイアウトエディター」を起動。
回路図レイアウトエディターのメニューから、「設定」→「シンボルライブラリの管理(s)...」をクリック。

シンボルライブラリーダイアログが表示されるので、ダイアログ上部にある「グローバルライブラリー」タブをクリック。
その後、ダイアログ下部にある「+」ボタンをクリックして新たな入力行を作成し、RaspberryPi Picoを登録する。
f:id:kamuycikap:20211104105518p:plain

確認

無事に登録できていれば、シンボル一覧に表示されるようになる。
f:id:kamuycikap:20211104110017p:plain