双11的时候入手了一个 Kobo Libra2, 一直没找到时间鼓捣,这周终于有时间自定义了一下了,毕竟我购买这个设备就是为了更方便的使用 epub 格式的电子书,以及能比 Kindle 多一点可以 Hack 的部分。这篇文章记录一下我的设置,以防下次需要重置。
我目前还没有深入使用,所以还不确定这个墨水屏电子书阅读器值不值得推荐,所以本文只记录我的设置过程。
Kobo 的 Hack 过程比较好做,因为官方留了一个口子给第三方插件,基本上安装任何第三方插件,都只需要连接 usb (你的电脑文件夹要能显示隐藏文件,也就是.
开头的文件)。一般来说,第三方插件会提供一个名字是KoboRoot.tgz
的安装包,你需要把它拖到 kobo 存储盘里的 .kobo
文件夹,然后安全弹出 Kobo USB 设备,再等待几秒就可以了。
Kobo 会自动检测 KoboRoot.tgz
文件,然后运行里面的安装程序。一般来说,第三方程序并不会影响 Kobo 的主系统,他们只是额外安装了自己,和主系统完美共存。
目前比较热门的第三方程序有:
- koreader - 可以高度定制的一个阅读器客户端,还有安卓版。有非常多的功能,比如支持 calibre 无线传输,RSS,Wallbag 等等等等
- Plato - 一个简约的阅读器,性能好,用Rust编写,功能相对较少,但够用,还附带有一个计算器和涂写的小工具。还有一个选中高亮便捷自动调整范围的小特性,(经常用墨水屏阅读器的人应该深有体会,很难精确的选中一个段落,所以这个特性我特别喜欢)
- kobocloud 可以自动同步 Dropbox, Google Drive, Next Cloud 的书籍到 Kobo 上。
这三个我都试用了一下,最后还是放弃了 koreader, 功能真的太多了…所以使用起来几乎是一头雾水,界面也有点一言难尽,性能也没有 Plato 好,所以我决定只安装 KoboCloud 和 Plato.
下面记录下我的安装和设置过程:
1. 打开开发者模式🔗
这不是必须的,但是我建议一开始就开启,这样可以通过 telnet
进系统里四处看看以熟悉整个文件夹构造,或者在电脑上用 vi 编辑配置文件。
开启这个,会让我们的【设置】【测试版功能】里多一些功能,甚至还有一些小游戏。
只需要在 Kobo 的搜索框里输入 devmodeon
, 即可自动打开。注意,kobo不会给你任何提示,我当时也一直疑惑怎么输入这个对我无效,原来是只要输入,按下回车键就好了,具体可以去【设置】【测试版功能】里面查看有没有数独小游戏入口来确认有没有开启成功。实验功能里面还有一个 Sketchpad 很实用,可以用手指写写画画,我打算把这个添加到我的 NickelMenu 菜单里。
同时在【设置】【设备信息】里面会多出来一个选项 【Developer options】 里面有很多选项可以用。
这个教程 有更多关于开发的信息。
最常用的是用 telnet 连接到该机器,这样就能远程操控了,(可以在【设置】【设备信息】里获取当前的kobo ip),点击【wiki】图标,并保持菜单打开,可以让网络不断开。
telnet 192.168.50.212
输入 root
用户即可,没有密码
2. 调整 Kobo 的自动扫描设置🔗
由于最新版本的 Kobo 会自动扫描所有隐藏文件夹,但是我们即将要安装的插件都是放在 .
开头的隐藏文件夹里,会让主屏幕识别出很多无效的图片文件,所以我们需要编辑设置文件,禁止这个行为。
重新插拔 USB 连接Kobo 之后,打开主目录,找到 .kobo/Kobo/Kobo\ eReader.conf
文件,用你喜欢的编辑器,在最后一行添加如下设置:
[FeatureSettings]
ExcludeSyncFolders=(\\.(?!kobo|adobe).+|([^.][^/]*/)+\\..+)
编辑完成之后,安全弹出设备,耐心等待几秒,等待系统应用该配置文件。
不知道是错觉,还是什么,因为我尝试的次数比较多,似乎某些时候更改配置不生效,所以你可以重新插拔一下USB,再次打开该配置文件,确实是否生效。
Kobo 会重新排序配置,所以虽然你刚刚在最后一行添加的配置,Kobo 会重新格式化到 字母顺序排列。
3. 安装 Kobo Cloud🔗
这个工具用于同步 Google Drive 文件夹里的图书到 kobo 设备里,因为我很不喜欢每次都需要用 USB 连接才能传输书,这个方案来同步书是最方便的。这样以后只需要把图书上传到 Google Drive 里面的指定文件夹,Kobo就能自动同步图书了。
重新插拔USB,按照项目文档里的说明安装即可。
我使用Google Drive 来同步,下面是我的设置:
# Add your URLs to this file
https://drive.google.com/drive/folders/your-unique-link?usp=sharing
# Remove the # from the following line to uninstall KoboCloud
#UNINSTALL
# Remove the # from the following line to delete files when they are no longer on the remote server
REMOVE_DELETED
然后,安全弹出 Kobo 设备,此时 Kobo 会自动安装该插件。
安装之后如何使用?
当上传新的 epub 到Google Drive 之后,开关一下 Wifi 即可触发同步和导入。
4. 安装 Plato🔗
目前发现 Plato 在渲染 Epub 方面还是有点问题,我在沉浸式翻译里翻译的 epub 的换行符没法正确显示,我在 issue 里贴了相关代码, 所以目前还是官方的阅读器比较爽,但是官方的阅读器打开epub特别慢,我要想办法把 epub 自动转为 kepub 才行。
重新插拔一下 USB,在设备上允许连接到电脑。
使用官方安装说明中给出的这个一键安装脚本 来安装plato
- 下载帖子1 里面的 Plato 压缩包
- 下载帖子2 里面的一键安装脚本到同一个目录,解压到当前目录
- 在命令行里运行该脚本,mac是
./install.command
选择 安装 plato 即可(0)。
该安装包会同时帮你安装另外两个必须的插件,一个kfmon, 另一个是 NickelMenu
这个安装脚本里,会自动帮我们执行我上面步骤2里手动的修改的配置,就是忽略
.
文件夹的扫描。但是我实践操作过程中发现似乎有时序问题,有的时候会失败,所以我才在第 2 步里手动修改,并确认配置生效。
安全弹出设备,耐心等几秒,就会自动开始安装。
安装成功之后,右下角会出现一个新的菜单,点击,选择【Plato】就可以进入了。
进入之后,点击左下角,选择【Library】,可以切换不同的仓库,以显示不同目录下的书籍。
在 Kobocloud 里同步的书籍在这里的【Removable】书架里。
如图:
6. 配置 NickelMenu, 添加一些快捷入口🔗
为 Nicket Menu 添加一个 sketch 快速打开白板,和快速打开浏览器,还有就是快速打开 在线wifi传书(https://send.djazz.se/)的选项,
新建文件 .adds/nm/config
配置如下:
menu_item :main :Sketch Pad :nickel_extras :sketch_pad
menu_item :main :Buzzing :nickel_browser :modal:https://www.buzzing.cc/lite/
menu_item :main :Receive Books Online :nickel_browser :modal:https://send.djazz.se
menu_item:browser:Quit:nickel_misc:home
menu_item :selection_search :Search DuckDuckGo :nickel_browser :modal:https://duckduckgo.com/?q={1|S|%}
menu_item :selection_search :Search Youdao :nickel_browser :modal:https://www.youdao.com/result?word={1|S|%}&lang=en
menu_item :main :IP Address :cmd_output :500:/sbin/ifconfig | /usr/bin/awk '/inet addr/{print substr($2,6)}'
menu_item :main :FTP :cmd_spawn :quiet:/usr/bin/pkill -f "^/usr/bin/tcpsvd -E 0.0.0.0 1021" || true && exec /usr/bin/tcpsvd -E 0.0.0.0 1021 /usr/sbin/ftpd -w -t 30 /mnt/onboard
chain_success :dbg_toast :Started FTP server for KOBOeReader partition on port 1021.
menu_item :main :Telnet (toggle) :cmd_output :500:quiet :/usr/bin/pkill -f "^/usr/bin/tcpsvd -E 0.0.0.0 2023"
chain_success:skip:5
chain_failure :cmd_spawn :quiet :/bin/mount -t devpts | /bin/grep -q /dev/pts || { /bin/mkdir -p /dev/pts && /bin/mount -t devpts devpts /dev/pts; }
chain_success :cmd_spawn :quiet :exec /usr/bin/tcpsvd -E 0.0.0.0 2023 /usr/sbin/telnetd -i -l /bin/login
chain_success :dbg_toast :Started Telnet server on port 2023
chain_failure :dbg_toast :Error starting Telnet server on port 2023
chain_always:skip:-1
chain_success :dbg_toast :Stopped Telnet server on port 2023
效果如下:
7. 其他🔗
有的时候,如果没有扫描到你添加的图书,可能需要重启一下。
目前就只探索到这么多,未来如果有新发现,再补充进来。