A year ago I posted some articles about customising the reMarkable 2. The device is great and easy to play with, but every OTA update sent will remove every customisation. I've been manually re-installing them until a point that I reduced the custom templates due to the work that the installation implies.
Today I had enough and I coded a simple script to release me from this work. In this article I explain a bit what it does and where can you get it from.
If you don't have an answer for it, then you still don't have the need. The templates that come with the device are great and work out of the box in most of the cases.
I personally like to have the floating tool box opened, so the default templates like the Checklist are placed below it, making the usability quite bad. In my previous article reMarkable 2 templates I used this one as an example to explain why and how to do so
As mentioned in the intro, on every update that the people from reMarkable deliver to our devices the customisations disappear. One has to copy the templates into the device again and set them up in the templates.json
file. It's not a long or difficult process, but it becomes very repetitive and usually it catches me early in the morning when I just start my work day.
So, what about a script that does everything for me? It would reduce the pain to a minimum.
So the script is pretty simple. the actions it does are:
templates.json
Of course, the script has to do some extra fun, like:
templates.json
file from the device, so we can work locally.templates.json
file is still a valid JSON filetemplates.json
to the deviceAt this point in time the script is not triggering the reboot that is needed for the changes to take effect. I guess I am going to iterate the script whenever I have some time, but for now one needs to ssh into the device and run the reboot command manually.
So at the end I put everything together in a public Github repository at XaviArnaus/reMarkable2. There you can find the templates I am using and also the install_templates.sh script.
You basically need the reMarkable 2 device powered on and connected to the Wifi. When it is connected, you need to discover its IP from the local network. To do so, navigate in the reMarkable 2 device to Settings > General > Help > Copyrights and licenses and there you'll find a note with the IP at the end of the page. I also explained this with more detail in my previous article reMarkable 2 templates.
The script has to be ready to be triggered in your local computer. This means that you better clone the repo or copy the content of the script somewhere you control, and be sure it has the permissions to execute. Also, your templates need to be there and the script needs to be pointing to them. If you don't know what I am talking about, just take a look at the code of the script, as it references to the templates, and probably you want to edit these lines.
Yes, let's assume we have everything ready. The script needs to be run with the -i
parameter together stating the IP of the device. It will show you some lines to ensure that it is pointing to the right paths and ask you for confirmation, and then it will perform the tasks and print in th screen what it is doing:
$ ./install_templates.sh -i 172.21.88.14
Will copy templates from . to root@172.21.88.14:/usr/share/remarkable/templates
Are you sure (y/n)? y
Starting...
Copying template 1: x_1o1.png
x_1o1.png 100% 76KB 1.4MB/s 00:00
Copying template 2: x_checklist.png
x_checklist.png 100% 15KB 1.1MB/s 00:00
Copying template 3: x_standup.png
x_standup.png 100% 40KB 1.5MB/s 00:00
Getting the template JSON file
templates.json 100% 13KB 1.4MB/s 00:00
Adding the templates config into the JSON FILE
Validate the JSON
Copying back the templates config into the device
templates.json 100% 14KB 1.3MB/s 00:00
Cleaning up
As I mentioned above, once the script is run you need to restart the device so that the templates.json
is reloaded and the new tempaltes are then available. To do so:
SSH into the device (using here the IP of the example above)
ssh root@172.21.88.14
Restart the service
systemctl restart xochitl
And you'll see the reMarkable 2 restarting. Once finished, you can make use of the new custom templates right away!