本文を読み飛ばす

Chromebook Linux terminal(5): 共有フォルダを使う(softlink不可)

Linuxが固まることがありますが、
Terminalを入れ直すという解決策もあるそうです。

簡単にデータファイルを入れ替えられるように
別のドライブをマウントしたくなりました。

loopbackが遅いので、標準機能の共有フォルダで検討します

Downloadフォルダを共有する

Downloadフォルダで右クリックして共有を選択

Linux側からはLinkを貼るだけです。
overlayfsの方がよさそうですが、できなさそうなので試してません。

$ ln -sf /mnt/chromeos/MyFiles/Downloads/src ~/src

速度もまぁまぁでこれで良かった良かった...
と、行きたいところでしたが共有フォルダでは softlink が使えませんでした。

いつものスクリプトとかが
softlink前提だったので修正して完了させました。

pythonのvenvは使えませんでした。
一部のフォルダはfuseの方で使ったり、Linuxを消すときに
一緒に消えるの覚悟で普通のフォルダで運用することにしました。

$ python3 -m venv --copies venv
... lib -> lib64 のリンクでエラー

--copies 動くかなぁと思いましたが動きませんでした
venv更新したら治るかなぁ...

速度面ですが、Linuxの/homeよりはだいぶ遅い...

Chromebook Linux terminal(4): loopbackを使う

Linuxが固まることがありますが、
Terminalを入れ直すという解決策もあるそうです。

簡単にデータファイルを入れ替えられるように
別のドライブをマウントしたくなりました。

持ち運びもしたいので loopbackを検討してみました。

fuse2fsを使う

losetup は使えないようです。
fuseを使うのを想定しているということで、
fuse2fs を使います。

$ sudo apt install -y fuse2fs

loopbackファイルを作る

FAT32で最大の4GBのファイルを作りました。

exFATにすると、ディスクアクセスの時間が伸びたので、
FAT32でやっています。

(FAT32だと40MB/sec、exFATだと1MB/secでした)

$ dd if=/dev/zero of=/mnt/chromeos/removable/c101pa/loopback.fs \
    bs=$((1024 * 1024)) count=4
$ mkfs.ext4 -O ^has_journal /mnt/chromeos/removable/c101pa/loopback.fs

fuse2fsではjournalを使うとエラーになったので
journalをオフにしています。

fuse2fsでマウント

  • fakeroot オプションを指定しないとrootが求められるので
    指定しました。

    • 一つフォルダ掘って適切に権限設定してもいいと思います。
    • ただ、運用側のフォルダがソフトリンクになるのが嫌だったので
      私はマウント先を直接使うようにこの設定を行っています。
$ fuse2fs -o uid=1000,gid=1000,fakeroot \
    /mnt/chromeos/removable/c101pa/loopback.fs ~/work

ちなみに uid gid だけを指定すると
所有者はそうなって、lsなど見た目はその人がなんでもできそうに見えますが、
最上階層のファイル・フォルダ作成には
root権限が必要になります。

起動時に自動的にマウントする

下のようなスクリプトを .bashrc に記載して
毎回mountする手間をなくします。

function mountsd() {
    if df | grep -qe "$1"; then
        return 0
    fi
    /usr/sbin/e2fsck $1
    uid=$(id -u)
    gid=$(id -g)
    fuse2fs -o uid=$uid,gid=$gid,fakeroot $1 $2
    if [ x$? != x0 ]; then
        echo "$1" was not able to mount.
    fi
}
mountsd /mnt/chromeos/removable/c101pa/home-src.fs ~/src

ここまでやると、環境としては整うのですが
運用してわかったのがアクセスがあまりにも遅い...

結局、標準の「Linuxに共有」を使ってChromeOS側の
フォルダに直接読み書きすることにしました。

Chromebook Linux terminal(3): 固まったLinuxを強制終了する

何日か起動してるとLinuxが固まることがあるので
そうなったらLinuxを強制終了するしかなくなります。 やり方を思い出せないのでまとめてみました。

chroshから終了・再起動させる

$ vmc list
$ vmc stop termina
$ vmc start termina

Linux Terminalアイコンのコンテキストメニューから終了させる

  • アイコンの上で二本指クリックして
  • 「Linuxをシャットダウン」を選択

Linux On Android: まとめ

Chromebook買ったので、Linux On Androidは
一旦アンインストールすることにしました。

使用感のまとめです

  • chrootで実行しているのでソフトによって動く・動かないはありました。

  • あと、一部、権限でよくわからない動きをするものがあって
    そういうところに気が付かないと使いこなすのがちょっと難しいかもしれません

  • Termuxの話ですが、日本語入力するのが結構厳しかったです

    • Google入力はデフォルトが日本語なので、Termuxには向いてなかったです
    • Tabletで英語が打ち込める日本語IMEがなかなか見つからないので苦労しました
  • Debianのpackage使えば、Termux内でapkを作ることはできました。
    kotlinもできました。
    私はあんまりAndroid開発はできないので、活用する機会はなかったですが...

  • gcc-arm-embeddedとか入れれば、組み込みのFirmwareもビルドはできました。
    ただ、USBが使えるわけではないのでビルドまでなんで
    組み込み開発ができる...というわけではありません。

Bluetooth Keyboard BT→BT5で途切れにくくなる

理由がよくわかりませんが、以下感想です。

  • Microsoft Wedge Keyboard (BT) をずっと使ってました
  • EWinというほぼノーブランドっぽいKeyboard (BT5) に買い替えました
  • よく通信が途切れていたのが解消しました
    • 特に駅のアナウンスかかった時と、停車時等が改善した

思いつくのはBTとBT5の規格が違うから、と思いましたが
BTとBLEでは通信方式がだいぶ違うのでそれが効いているのかと勝手に想像。

EWinのはキー配列があと一歩だけど、とにかく安かったので助かりました。

Wedge Keyboardはキー配列が完璧で、なかなか買い替えなかったんですが
こんなことならもうちょっと早く買い替えてたらよかったかな。

ASUS Chromebook Flip C101PA モバイル(11台目)

  • 2023/06/02 購入
  • とにかく安いものが欲しかったので中古で購入。1.2万円
  • 安くと言っても、軽いものが欲しかった
    • 実測したら公称の通り900gでした
    • タブレット+Keyboardだと(800g+320g)だったんで220gは軽くなりました。
      よかった
CPU OP1
Mem 4GB
Storage 32GB eMMC
Keyboard JP78 (配列は綺麗)
Input TouchPad
Input TouchPanel 10points
Monitor 10.1" (1280x800)
Battery 2cells (4940mAh)
I/F 1 Micro SD slot x1
I/F 2 USB-C 3.1 x2
I/F 3 USB-A 2.0 x1
I/F 5 Audio output
I/F 6 WiFi
I/F 7 Bluetooth 4.0
Weight 約900g (実測 902g)
宣伝: