說明如何使您的 reMarkable 電子書閱讀器支援顯示中文文字
https://hackmd.io/@brlin/remarkable-chinese-support-tutorial
reMarkable 電子書閱讀器預設沒有內建中文字型,故除有內嵌字型之 PDF 文件外所有的中文字元都會顯示為方塊字形(俗稱豆腐):
使用原廠系統軟體提供之 SSH 服務與 root 管理者密碼透過 SFTP 客戶端軟體將中文字型安裝進去之後使用 SSH 客戶端軟體取得 reMarkable 的命令列操作介面進行進一步設定使 reMarkable 的主應用程式可以讀得到中文字型。
以下為完成本教學所需要滿足之先決條件:
警告: 啟用開發者模式有可能會影響您的產品硬體保固權利,請在評估利弊得失後才進行。
以下說明設定問題規避方案的具體流程:
為了您的資訊安全 reMarkable 的 SSH 服務預設僅對其透過 USB 模擬之乙太網路網路介面提供服務,故需要先將其透過 USB 傳輸線連接至電腦。
(如您已經啟用 SSH 服務監聽 Wi-Fi 網路介面支援的話可以跳過此步驟)
將 reMarkable 連接至電腦後您應可以在電腦的網路介面查詢/列舉介面中發現一個新的乙太網路介面:
(其他作業系統之操作步驟參考這篇 ChatGPT 大語言模型回應的說明)
此網路介面應會自動完成連線設定但沒有網際網路存取能力,它僅是讓您能夠存取 reMarkable 電子書閱讀器預設禁用之 Web 操作介面與 SSH 服務用的。
於 reMarkable 主選單 > Settings > General > Help > About > Copyrights and licenses 頁面中的 GPLv3 Compliance 節中獲取 reMarkable 電子書閱讀器的 root 管理者帳號的身份驗證密碼:
注意: 請避免任意地公開此密碼(尤其是在您啟用了 SSH 服務 Wi-Fi 網路介面監聽設定之後),避免您的裝置遭到同網路的攻擊者入侵。
提示: 如您有啟用 SSH 服務 Wi-Fi 網路介面監聽設定您亦可於此章節獲取登入 reMarkable 的 SSH 服務所需之裝置 IP 地址。
接下來啟動您的 SFTP 客戶端軟體,輸入下列資訊後登入您的 reMarkable 電子書閱讀器:
10.11.99.1
(或是如您已經啟用 SSH 服務監聽 Wi-Fi 網路介面支援時,您於先前步驟中查詢到的 reMarkable 裝置 IP 地址)22
root
參考操作畫面(以 FileZilla 為例):
如果您的 SFTP 客戶端軟體彈出類似像是下列這樣的警告視窗代表您的 reMarkable 裝置 SSH 服務的公鑰尚未被您的 SSH 客戶端設定為可信任:
如您為透過 10.11.99.1
IP 地址進行登入因該連線沒有遭受中間人攻擊的疑慮則可以直接選擇「(永遠)信任」;如果您為透過 Wi-Fi 網路連線建議先取消登入,透過 USB 連線登入 SSH 服務後參閱查詢 SSH 服務的公鑰指紋 | 維運猿的共同筆記文章的說明查詢並紀錄 SSH 服務的公鑰指紋以供未來比對使用。
警告: 如果未比對公鑰指紋就登入 SSH 服務則有機會遭受到中間人攻擊(Man-in-the-middle(MitM) attack),即您與 SSH 服務的通訊(包含但不限於裝置登入的密碼與傳輸的文件等)將會被攻擊者竊聽,且攻擊者有機會竊取裝置的完整權限於日後遠端存取該裝置之資料。
登入後您應可於 SFTP 客戶端之「遠端站台」面板看到 reMarkable 裝置內的檔案:
於 SFTP 客戶端之「遠端站台」面板繼續進行下列操作:
確保 /home/root/.local/share/fonts 資料夾已建立。
將要安裝的字型檔案拖曳到 /home/root/.local/share/fonts 資料夾中。
如果沒有想裝的字型推薦使用 Noto Sans Traditional Chinese 字型中的 NotoSansTC-Regular.ttf 字型檔案。
接下來啟動您的 SSH 客戶端軟體,輸入下列資訊後登入並取得 reMarkable 的命令列操作介面:
10.11.99.1
(或是如您已經啟用 SSH 服務監聽 Wi-Fi 網路介面支援時,您於先前步驟中查詢到的 reMarkable 裝置 IP 地址)22
root
參考操作畫面(以 Putty 為例):
參考操作畫面(以 Remmina 為例):
如果您的 SSH 客戶端軟體彈出類似像是下列這樣的警告視窗代表您的 reMarkable 裝置 SSH 服務的公鑰尚未被您的 SSH 客戶端設定為可信任:
如您為透過 10.11.99.1
IP 地址進行登入因該連線沒有遭受中間人攻擊的疑慮則直接選擇「(永遠)允許」即可;如果您為透過 Wi-Fi 網路連線建議先取消登入,透過 USB 連線取得命令列操作介面後參閱查詢 SSH 服務的公鑰指紋 | 維運猿的共同筆記文章的說明查詢並紀錄 SSH 服務的公鑰指紋以供未來比對使用。
警告: 如果未比對公鑰指紋就登入 SSH 服務則有機會遭受到中間人攻擊(Man-in-the-middle(MitM) attack),即您與 SSH 服務的通訊(包含但不限於裝置登入的密碼與傳輸的文件等)將會被攻擊者竊聽,且攻擊者有機會竊取裝置的完整權限於日後遠端存取該裝置之資料。
當您看到類似像是下列這樣的畫面時代表您已成功登入並取得 reMarkable 的命令列操作介面:
於 reMarkable 的命令列操作介面中執行下列命令重新啟動 reMarkable 主應用程式(xochitl)服務:
重新啟動之後您應會發現此時中文文字已能正常顯示:
但先別高興得太早,此時若您在主選單 > General 頁面中點擊下方的 Restart 按鈕重新啟動裝置則會注意到中文文字又被顯示為方塊:
這是因為我們的中文字型是安裝在 /home 檔案系統中,而新版 reMarkable 系統軟體為了實作儲存空間加密功能將 reMarkable 主應用程式(xochitl)服務於掛載 /home 檔案系統前就啟動(以顯示解密儲存空間用之「Enter passkey」畫面)故 reMarkable 主應用程式讀不到中文字型的緣故。
reMarkable Paper Pro 產品於系統啟動期間會將:
這使得我們在 /etc 目錄下的修改在重新開機後會被丟棄,造成設定失效故在進行接下來的設定前我們要先將其暫時禁用。
於 SSH 客戶端軟體中執行下列命令將根目錄檔案系統改掛載為可寫模式:
然後執行下列命令將揮發性檔案系統自 /etc 目錄解除掛載:
為了使 reMarkable 主應用程式(xochitl)服務得以讀取存放在 /home 檔案系統中的中文字型,我們要修改 systemd 服務管理器的設定使 reMarkable 主應用程式服務在 /home 檔案系統掛載後 再重新啟動一次以使其得以真正地載入到中文字型。
首先於 SFTP 客戶端「遠端站台」面板中的 /etc/systemd/system
目錄中建立一個叫做 restart-xochitl-after-home.service
的檔案,然後編輯該檔案並新增下列內容:
附註: 於 FileZilla SFTP 客戶端軟體的具體操作流程:
/etc/systemd/system
後按下 Enter 鍵進到該目錄。restart-xochitl-after-home.service
然後點擊下方的「確定(O)」按鈕完成建立檔案操作。restart-xochitl-after-home.service
檔案的情境(右鍵)選單,然後選取「檢視/編輯(V)」選項於純文字文件編輯器開啟該檔案。附註: 如果使用 Vim 命令列界面文字編輯器編輯檔案時亂碼可以使用下列方式規避問題:
然後於 SSH 客戶端中執行下列命令重新載入 systemd 服務管理器設定:
接著執行下列命令確認 systemd 有讀到新的設定檔:
其應該要有類似下面這樣的輸出:
接著執行下列命令測試設定:
此時 reMarkable 主應用程式應會重新啟動、顯示鎖定畫面(如果有),並在解除鎖定一分鐘內正常回到主畫面。
然後於 SSH 客戶端軟體中執行下列命令設定於裝置啟動、掛載 /home 檔案系統後自動啟動 restart-xochitl-after-home.service
這個服務:
最後於 reMarkable 主選單 > General 頁面點擊下方的「Restart」按鈕重新啟動裝置,此時中文文字應能持續正常顯示。
我們先前所作的修改會於系統軟體更新時被覆寫,為避免哪一天中文文字顯示因為系統軟體更新意外失效故我們要禁用系統軟體的自動更新功能。
注意: 為修正安全漏洞與軟體缺陷您仍應定期更新系統軟體,並在完成系統軟體更新後依照本教學的操作重新設定。
於 reMarkable 主選單 > General > Paper tablet > Software 頁面的 Updates 區段將自動更新系統軟體的勾選框取消勾選即可完成設定,日後要更新系統軟體可以點擊頁面上方的「Check for updates」按鈕手動檢查與進行系統軟體更新。
撰寫本文件期間參考了下列資料:
除特別註明之內容外,本文件採用 4.0 國際版或其任意更近期版本之 Creative Commons BY-SA 授權條款發布供大眾於 授權範圍內 自由使用。
如有授權範圍外之使用需求請洽詢 buo.ren.lin+legal@gmail.com。