カラーな電子ペーパー端末「reMarkable Paper Pro」の登場を知り、タブレット欲しい病が再発した。紹介動画を見ていると、ペンの反応性は良さそうで気ままに落書きができそうだし、11.8インチならばA4サイズのPDFファイルを等倍近くで閲覧できることは確実。数日間の悩みを経て2024-10-03に発注し、2024-10-11に着荷した。
タブレット選びの際、比較対象として常に心に引っかかるのは絶対王者「iPad」だ。しかしながら私は、非常に偏った端末に惹かれる性の導きに従い、無難を志向する理性を捨てて変態シンプルなほうを選んだわけである。さらにreMarkableタブレットは、Developer Modeに切り替えるとSSHログインが可能になるという。この端末は面白そうとしか思えぬ。
種別 | 商品名 | 金額(円) | 購入店 |
---|---|---|---|
電子ペーパータブレット | reMarkable Paper Pro | 86,000 | remarkable.com |
カバー | Book Folio (Mosaic weave, Cobalt) | 23,880 | remarkable.com |
セット割引 | Folio discount | -1,880 | |
専用ペン | Marker Plus | 21,800 | remarkable.com |
合計 | (3点) | 129,800 |
すべてを純正品で揃えた状態。私の発注時にはreMarkable Paper Proのカバーは上記の純正品しか見当たらなかったため、選択の余地無しだった。しかし現在 (記事執筆時点) ではサードパーティ製の下記のような安価なカバーも存在していそうだ。出費を抑えるための選択としてありと思われる。
Miimall 対応 Remarkable Paper Pro 保護ケース クリア ペン収納付き 耐衝撃 落下防止 傷防止 reMarkable 2024年発売 電子ペーパータブレット用 TPU製 スリム軽量 透明 指紋防止 滑り止め ペンホルダー付き 薄型 リマーカブル プロ全面保護カバー
Miimall
電子ペーパータブレットとしての一般的なレビューは、他の方々の詳細な記事や動画に任せて、ここでは簡単に。
ジェスチャーによるreMarkable Paper Proの操作方法を、上記の動画から抜き出して表にまとめた。
操作 | 内容 |
---|---|
画面上端から下へスワイプ | ファイルを閉じる |
右へスワイプ | 前のページに戻る |
左へスワイプ | 次のページに進む |
最後のページでの「+」ボタン | 新規ページを追加する |
上下のスワイプ | ページのスクロール |
2本指でパン | ページ内の移動 |
2本指のピンチ | ページの拡大 |
2本指のタップ | Undo |
3本指のタップ | Redo |
2本指で画面上端から下へスワイプ | ドロワーを開く (Recent, Favorites) |
画面右上から下へスワイプ | クイック設定を開く |
画面下端から上へスワイプ | スライドバーにてファイル内のページ切り替え |
Linux端末としてはどうか。ここからはreMarkable Paper ProへのSSHアクセスを用いるので、公式ページの次の手順でSSHログイン可能なように設定変更しておく。
初期状態では、PDF/EPUBファイルのファイル名の日本語部分、EPUBファイル本文の日本語部分が文字化けするので、日本語フォントを導入する。私はNoto Sans JapaneseとNoto Serif Japaneseを次のように保存した。保存後、フォントキャッシュの再作成または本体再起動を行う。
root@imx8mm-ferrari:~# ls -al ~/.local/share/fonts/ttf/noto/
drwxr-xr-x 2 root root 4096 Oct 11 17:15 .
drwxr-xr-x 3 root root 4096 Oct 11 17:25 ..
-rw-r--r-- 1 root root 36 Oct 11 17:05 .uuid
-rw-rw-r-- 1 root root 5722924 Aug 7 17:27 NotoSansJP-Black.ttf
-rw-rw-r-- 1 root root 5728064 Aug 7 17:27 NotoSansJP-Bold.ttf
-rw-rw-r-- 1 root root 5725300 Aug 7 17:27 NotoSansJP-ExtraBold.ttf
-rw-rw-r-- 1 root root 5737436 Aug 7 17:27 NotoSansJP-ExtraLight.ttf
-rw-rw-r-- 1 root root 5736988 Aug 7 17:27 NotoSansJP-Light.ttf
-rw-rw-r-- 1 root root 5729568 Aug 7 17:27 NotoSansJP-Medium.ttf
-rw-rw-r-- 1 root root 5733060 Aug 7 17:27 NotoSansJP-Regular.ttf
-rw-rw-r-- 1 root root 5726852 Aug 7 17:27 NotoSansJP-SemiBold.ttf
-rw-rw-r-- 1 root root 5736120 Aug 7 17:27 NotoSansJP-Thin.ttf
-rw-rw-r-- 1 root root 8031052 Sep 23 22:44 NotoSerifJP-Black.ttf
-rw-rw-r-- 1 root root 8033348 Sep 23 22:44 NotoSerifJP-Bold.ttf
-rw-rw-r-- 1 root root 8032452 Sep 23 22:44 NotoSerifJP-ExtraBold.ttf
-rw-rw-r-- 1 root root 8037984 Sep 23 22:44 NotoSerifJP-ExtraLight.ttf
-rw-rw-r-- 1 root root 8039096 Sep 23 22:44 NotoSerifJP-Light.ttf
-rw-rw-r-- 1 root root 8037964 Sep 23 22:44 NotoSerifJP-Medium.ttf
-rw-rw-r-- 1 root root 8039120 Sep 23 22:44 NotoSerifJP-Regular.ttf
-rw-rw-r-- 1 root root 8036184 Sep 23 22:44 NotoSerifJP-SemiBold.ttf
カスタムLinuxで動作しているreMarkableタブレット向けに、Toltecというパッケージ管理システムがコミュニティによって開発されているらしい。これがreMarkable Paper Proでも利用できるのだろうと、購入前の調査時には安直に考えていたのだが、話はそう簡単ではないと後に分かった。下記のIssueによると、reMarkable Paper Proの本体ソフトウェアのVersion 3.14系に、Toltecが対応する見通しはまだ無いとのこと。現時点では仕方がない……。
Toltecが使えればTailscaleはパッケージ導入できるそうだが、とりあえずここではTailscaleを自力でビルドして動かしてみることにする。先代の端末reMarkable 2へTailscaleを導入している下記ページの方法を参考にしている。
なお、今回の試みにおいて完全には解決できていない問題が1つあり、Step-4で暫定的な対策をしている。
tailscale.sh
のバックアップを作成する: cp -a ./tailscale.sh{,.original}
vim ./tailscale.sh
$ diff -p tailscale.sh{.original,}
*** tailscale.sh.original 2024-10-20 23:17:35.320516705 +0900
--- tailscale.sh 2024-10-22 01:51:32.425947660 +0900
*************** build_tailscale() {
*** 31,37 ****
# Build Tailscale:
# https://github.com/fako1024/go-remarkable
# This is where I usually download things - not necessarily GOMODCACHE.
! TSPATH="$HOME"/r/github.com/tailscale/tailscale
if ! test -d "$TSPATH"
then
echo >&2 "Downloading tailscale source..."
--- 31,38 ----
# Build Tailscale:
# https://github.com/fako1024/go-remarkable
# This is where I usually download things - not necessarily GOMODCACHE.
! # TSPATH="$HOME"/r/github.com/tailscale/tailscale
! TSPATH="$HOME"/tmp/src/github.com/tailscale/tailscale
if ! test -d "$TSPATH"
then
echo >&2 "Downloading tailscale source..."
*************** build_tailscale() {
*** 50,56 ****
# Use https://tailscale.com/kb/1207/small-tailscale,
# and tags+flags pulled from build_dist.
echo >&2 "Building tailscale..."
! GOOS=linux GOARCH=arm GOARM=7 \
go build \
-C "$TSPATH" \
-o "$CONTENT"/tailscale.combined \
--- 51,58 ----
# Use https://tailscale.com/kb/1207/small-tailscale,
# and tags+flags pulled from build_dist.
echo >&2 "Building tailscale..."
! # GOOS=linux GOARCH=arm GOARM=7 \
! GOOS=linux GOARCH=arm64 \
go build \
-C "$TSPATH" \
-o "$CONTENT"/tailscale.combined \
*************** set -x
*** 84,89 ****
--- 86,92 ----
ln -sf $TSINSTALLPATH/tailscale.combined /usr/bin/tailscale
ln -sf $TSINSTALLPATH/tailscale.combined /usr/sbin/tailscaled
ln -sf $TSINSTALLPATH/tailscaled.service /etc/systemd/system/tailscaled.service
+ ln -sf $TSINSTALLPATH/tailscaled.state /var/lib/tailscale/tailscaled.state
set +x
# Tailscale expects some configuration in a drop-in unit or config files;
*************** systemctl daemon-reload
*** 104,117 ****
echo >&2 "Starting tailscale..."
systemctl enable tailscaled
systemctl restart tailscaled
! tailscale up
EOF
chmod +x "$CONTENT/setup.sh"
echo >&2 "Connecting and uploading..."
ssh -o ConnectTimeout=5 root@"$TARGET" \
"echo >&2 'Connected to reMarkable!'; rm -rf $TSINSTALLPATH; mkdir -p $TSINSTALLPATH" >&2
! rsync -avz "$CONTENT" "$TARGET:$TSINSTALLPATH"
echo >&2 "Running setup script..."
# Execute under systemd-run, so even if our network connection hangs up due to
--- 107,122 ----
echo >&2 "Starting tailscale..."
systemctl enable tailscaled
systemctl restart tailscaled
! #tailscale up
! tailscale up -ssh
EOF
chmod +x "$CONTENT/setup.sh"
echo >&2 "Connecting and uploading..."
ssh -o ConnectTimeout=5 root@"$TARGET" \
"echo >&2 'Connected to reMarkable!'; rm -rf $TSINSTALLPATH; mkdir -p $TSINSTALLPATH" >&2
! # rsync -avz "$CONTENT" "$TARGET:$TSINSTALLPATH"
! rsync -avz "$CONTENT" "root@$TARGET:$TSINSTALLPATH"
echo >&2 "Running setup script..."
# Execute under systemd-run, so even if our network connection hangs up due to
chmod +x ./tailscale.sh
ssh -l root <reMarkable端末> # USB接続なら10.11.99.1
# mount -v | grep 'on / '
/dev/mmcblk0p2 on / type ext4 (ro,relatime)
# mount -v | grep 'on /etc '
overlay on /etc type overlay (rw,relatime,lowerdir=/etc,upperdir=/var/volatile/etc,workdir=/var/volatile/.etc-work)
# umount -l /etc
# mount -o remount,rw /
./tailscale.sh <reMarkable端末> # 10.11.99.1
$ ./tailscale.sh <reMarkable端末>
(途中省略)
Running setup script...
Running as unit: run-r50e661dcf08b40999cb907ee5f751e99.service
$ ssh -l root <reMarkable端末> # 10.11.99.1
# systemctl status run-r50e661dcf08b40999cb907ee5f751e99.service
(途中省略)
Oct 20 14:42:16 imx8mm-ferrari setup.sh[1298]: To authenticate, visit:
Oct 20 14:42:16 imx8mm-ferrari setup.sh[1298]: https://login.tailscale.com/a/**************
open https://login.tailscale.com/a/**************
# systemctl status tailscaled.service
● tailscaled.service - Tailscale node agent
Loaded: loaded (/etc/systemd/system/tailscaled.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2024-10-20 14:42:12 UTC; 4min 20s ago
tailscale ping <reMarkable端末のTailscale IPアドレス>
$ ssh -l root <reMarkable端末のTailscale IPアドレス>
# Tailscale SSH requires an additional check.
# To authenticate, visit: https://login.tailscale.com/a/************** # 別ブラウザで認証を行う
(途中省略)
root@imx8mm-ferrari:~#
~/after-reboot.sh
として保存している)。#!/bin/bash
set -eux -o pipefail
# after-reboot.sh (Ver.20241022)
ln -sf ~/tailscale/tailscaled.service /etc/systemd/system/tailscaled.service
mkdir -p /var/lib/tailscale/ ; ln -sf ~/tailscale/tailscaled.state /var/lib/tailscale/tailscaled.state
systemctl daemon-reload
systemctl start tailscaled.service
systemctl status tailscaled.service
次のページに、スリープ時に表示される壁紙を差し替える方法が紹介されていた。簡単なのでさっそくやってみた。
mount -o remount,rw /
してから、用意した画像を/usr/share/remarkable/suspended.png
へ上書きするreMarkable Paper Proは最新ハードウェアだけあって、落書き用の電子ペーパー端末としてかなり優れていると思う。直感的に操作できて、使っていてストレスの少ない、素朴で素敵な道具だ。しかし本記事ではその感触にはあえて触れず、むしろhackableかどうかを確認してみようとした。
reMarkable Paper ProをLinux端末としてみた場合の現段階の結論としては、やはりパッケージ管理システムを利用できる状態が待ち遠しい。先代の機種と同様にOSやファイルシステムの解析が進んでいけば、それは間違いなく成し遂げられるだろうと予想する。なお、私の環境ではTailscaleはとりあえず開通できたので、たとえば自前のサーバからファイルの定期的なrsyncを行うような仕組みは作れそうな気がする。