20 octobre 2020

remarkable tablet

 connexion en ssh


SSH Access

reMarkable have kindly enabled ssh access to the device by default after version 2.0.2.*. If you are still on a lower version upgrade now. There are no user accounts so you need to use the root account to log into the device. As this is the Linux superuser account, please be aware that you can break things easily with this account if you aren't careful.

Connecting via ssh

The password for the root account is randomly created by the software on the device when it starts and is visible at the bottom of the Compliance statements in the About section of the reMarkable settings:

  • rM icon at the top left of the home page on the device
    • About
      • Copyrights and licenses
        • General information (Top of column listing various pieces of software)
          • At the bottom of the content window in the bottom right corner of the screen will be a section on GPLv3 Compliance. Towards the bottom of this section should be text that says “To do so, this device acts as an USB ethernet device, and you can connect using the SSH protocol using the username 'root' and the password 'XXXXX'. The IP address available to connect to are listed below: 10.11.99.1”.

The first IP looking like “10.11.99.1” will let you connect with a usb cable. If you're connected to the wifi, a second IP starting with 192.168.* will appear,which enables you to connect wirelessly to your remarkable, using a device on the same network.

ssh root@192.168.x.x

You could also use the default host name “remarkable”.

ssh root@remarkable

You will need an ssh client for your machine, for example putty on a PC, terminal on a Mac or Linux box, chronos shell from a Chromebook (in developer mode). WinSCP can help you transfer files easier from your Windows PC to your reMarkable.

Example from a Chromebook shell (in developer mode) using the first IP:

chronos@localhost ~ $ ssh root@10.11.99.1
root@10.11.99.1's password: 
reMarkable
╺━┓┏━╸┏━┓┏━┓   ┏━╸┏━┓┏━┓╻ ╻╻╺┳╸┏━┓┏━┓
┏━┛┣╸ ┣┳┛┃ ┃   ┃╺┓┣┳┛┣━┫┃┏┛┃ ┃ ┣━┫┗━┓
┗━╸┗━╸╹┗╸┗━┛   ┗━┛╹┗╸╹ ╹┗┛ ╹ ╹ ╹ ╹┗━┛
remarkable: ~/

Host alias in .ssh/config

You can set up an alias that's easier to remember by adding the following lines to the .ssh/config file on your computer:

host remarkable
        Hostname 10.11.99.1
        User root

Setting up ssh-keys

The reMarkable uses dropbear (via busybox) for its ssh server and supports ssh keys (definitely rsa, as there have been some issues with ed25519 SHA256 keys). By doing so, you can save yourself from entering the random password in the future.

On your host machine, generate a ssh-key if you haven't done so already

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/chronos/user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/chronos/user/.ssh/id_rsa.
Your public key has been saved in /home/chronos/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:kONWRVsc4pHeO/ObKieTqJO2A6ZdqY5Zv2v+70SaVD0 chronos@localhost
The key's randomart image is:
+---[RSA 2048]----+
|         .=oo.   |
|       . o.*.    |
|      + ..+.E    |
|     . + .. ..   |
|      o.S .  .   |
|    o.o. +  +    |
|   +.+ .o... +   |
|  .+o.* ..= . .. |
|  o..+BO.oo=..o. |
+----[SHA256]-----+

With ssh-copy-id

To authorize your host machine on the reMarkable using ssh-copy-id

$ ssh-copy-id root@10.11.99.1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/chronos/user/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.11.99.1's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@10.11.99.1'"
and check to make sure that only the key(s) you wanted were added.

The reMarkable should be accessible to the host machine without providing a password. 

 

Application remt dans un terminal

 

`remt` - reMarkable tablet command-line tools. 

Features

 ========

 `remt` project features are - reMarkable tablet operations - list files and directories - create directories - export a notebook as PDF file using reMarkable tablet renderer or `remt` project renderer - export an annotated PDF document using reMarkable tablet renderer or `remt` project renderer - import a PDF document - create index of PDF file annotations - interactive selection of files on a tablet using `fzf` command - cache of reMarkable tablet metadata to speed up tablet operations; caching supports multiple devices - `remt` project renderer - supports export of large files and usually produces smaller PDF files comparing to the reMarkable tablet renderer - multi-page notebooks and PDF files - drawing tools (non-implemented drawing tool stroke is shown as a dotted line) - ballpoint (no brush supported yet) - fineliner - sharp pencil with pencil brush - highlighter - eraser - erase area - `remt` project can be used as a library for UI applications What does not work yet - marker - tilt pencil - brush - pencil brush should be more like the one on reMarkable tablet - ballpoint brush should be more like the one on reMarkable tablet Please, use reMarkable firmware version 2.0 or later. 

Installation 

============ 

Create configuration file `~/.config/remt.ini` with contents:: [connection] host=10.11.99.1 user=root password=<your reMarkable tablet password if not using ssh key> 

Install `remt` project with `pip`, i.e.: $ pip install remt 

Usage 

===== 

Use `remt` command to execute commands on a reMarkable tablet device. 

The summary of the commands can be obtained with `--help` option, i.e.:: $ remt --help 

usage: remt [-h] {ls,mkdir,export,import,index} ... remt 0.7.1 - reMarkable tablet command-line tools optional arguments: -h, --help show this help message and exit subcommands: {ls,mkdir,export,import,index} 

ls list files on the tablet 

mkdir create a directory on the tablet 

export export a notebook or an annotated PDF file from the tablet

 import import a number of PDF files onto the tablet

 index create index of PDF file annotations

 Annotations 

===========

 `remt` recognizes highlighter annotations when creating index of PDF file annotations. Some rules - use horizontal lines with highlighter - overlapping horizontal lines are merged - non-horizontal lines are ignored - highlighter is a thick tool and rendering of highlighter depends on rotation of the pencil; ignore the rendering when annotating and - start annotation before first character - end annotation after last character 

Acknowledgements 

================ 

Kudos to - https://github.com/phil777/maxio - https://github.com/reHackable/maxio - https://github.com/reHackable/scripts - https://plasma.ninja/blog/devices/remarkable/binary/format/2017/12/26/reMarkable-lines-file-format.html - https://github.com/Samathy/pdfcommentextractor 

Disclaimer

 ========== 

This project is *not* an official project of the reMarkable company.

 License

 ======= 

The `remt` project is licensed under terms of GPL license, version 3, see COPYING file for details. As stated in the license, there is no warranty, so any usage is on your own risk. .. image:: examples/rm.png

Répertoire dans la structure de fichiers

 

Getting Access

  1. On your ReMarkable go to Settings/About/Copyrights and Licenses/General Information
  2. Under GPLv3 Compliance note the username (default = root) and password (its possible to change the password later)
  3. Note the IP Address depending on how you want to connect to your device (USB is easier)
    • USB: 10.11.99.1 is the default Address (It’s the same for the USB webinterface)
    • WIFI: The other IP Address
  4. Connect via a SFTP Client (I recommend FileZilla) to the ReMarkable using the before noted IP Address, username and password (It has to be via SFTP not FTP. The Tablet currently only supports a SSH connection and SFTP is a FileTransferProtocol based on SSH)

Files

There are several interesting or useful files to note:

  • /home/root/.bashrc (containing variable and color declarations. Can safely be removed as it is not used)
  • /home/root/.config/remarkable/xochitl.conf (Settings, ssh password, safed wifi networks)
  • /usr/share/remarkable (All Splashscreens, Templates and WebUI files)
  • /home/root/.local/share/remarkable/xochitl (Notebooks, cached PNG representation of the pages, PDF files, and metadata allowing to identify which files belong to which document/notebook, thanks /u/stucule)

Customizing

SSH Password

One easy configuration is changing the ssh password for easier connection. Just change the DeveloperPassword variable in /home/root/.config/remarkable/xochitl.conf to your new password.

[General]
DeveloperPassword=SSHPASSWORD
Onboarding=false
OnboardingBanner=false
RightHanded=true

...

Splashscreens

Under /usr/share/remarkable and /usr/share/remarkable-shutdown are all Splashscreens located. These are just png files that are displayed (i.e. the shutdown or sleeping screen). Note that all pngs concerning the shutdown are stored 2 times, if you change one you also want to change the other.
Now you could draw up your own version and replace it (Remember to back up all the files).

My sleeping screen for instance has this as background: