• Stars
    star
    239
  • Rank 167,826 (Top 4 %)
  • Language
    Go
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Native printing to reMarkable.

remarkable_printer

Print natively to your reMarkable wirelessly with no extensions or reMarkable cloud.

Quick Start

Connect the reMarkable via USB and make sure it has internet access.

Connect to the reMarkable with SSH and execute

wget -O - http://raw.githubusercontent.com/Evidlo/remarkable_printer/master/install.sh | sh

Then configure your OS to print to the reMarkable, shown below.

Adding the reMarkable as a printer

Linux/OSX (easy)

make install_config host=10.11.99.1

Linux (manual)

We will add the reMarkable as an Appsocket/JetDirect printer and use the PDF printer driver.

$ sudo system-config-printer
# Add > Network Printer > AppSocket/HP JetDirect
# Enter the address/hostname of the device (10.11.99.1 for USB connected device)
# Forward > Generic > Forward > PDF > Forward
# Set the printer name and save

You may need to install system-config-printer first.

OSX (manual)

See Add a network printer by its IP address. Use 10.11.99.1 for the address and HP Jetdirect for the protocol.

Windows (manual)

See here

Caveats

No authentication, so keep WiFi off while not in use.

How it works

Virtually all network printers accept raw Postscript/PDF data on TCP port 9100 via the Appsocket/HP Jetdirect protocol. Sometimes this data is preceded by a few plaintext lines telling the printer information such as the print job name and print settings.

This script simply listens on TCP 9100 and waits for a PDF header, then begins saving data to a pdf file (while also creating the accompanying .metadata file). The output filename is extracted from the print job name line, if it exists.

Testing on host

$ make printer.x86
$ ./printer.x86 -h
Usage of ./printer.x86:
  -debug
        enable debug output
  -host string
        override bind address (default "0.0.0.0")
  -port string
        override bind port (default "9100")
  -restart
        restart xochitl after saving PDF
  -test
        use /tmp as output dir

Debugging

On the reMarkable (via SSH)

journalctl --unit printer -f

Then try to print a document.

More Repositories

1

remarkable_mouse

use your reMarkable as a graphics tablet
Python
436
star
2

remarkable_news

Daily news/comics on your reMarkable's suspend screen
Go
266
star
3

passhole

A secure hole for your passwords (KeePass CLI)
Python
192
star
4

remarkable_entware

Entware installer modified for reMarkable Tablet
Shell
149
star
5

remarkable_syncthing

Self-hosting syncing solution for reMarkable
149
star
6

remarkable_pdflets

mini apps for reMarkable inside xochitl
Shell
71
star
7

picklecast

Share your screen to a projector with only a web-browser.
JavaScript
59
star
8

remarkable_keyboard

Use a reMarkable tablet as a wireless mouse and keyboard
Python
29
star
9

legoman

Minimal static website generator
Python
9
star
10

markdown_captions

Python-Markdown plugin for image captions
Python
8
star
11

redrum

Reddit wallpaper changer. Does math to rank images.
Python
8
star
12

shkype

VOIP calling for 2020
Shell
5
star
13

erandr

Simple xrandr wrapper for quick monitor configuration
Shell
5
star
14

examples

Reference code snippets
Python
5
star
15

remarkable_sim

reMarkable simulator
Python
5
star
16

nanpa_lookup

Look up NPA-NXX records
Python
3
star
17

remarkable_pdfstore

Testing PDFs as notebook storage backend for reMarkable
Python
3
star
18

rosen

Ground Software for SEAQUE Mission aboard the ISS
Python
3
star
19

scripts

Collection of some useful scripts
HTML
2
star
20

illinikey

Offline password generation for UIUC's two-factor login
Python
2
star
21

uiuc_ruler

UIUC PCB Ruler
1
star
22

navigation

HackIllinois Navigational Aid App
Java
1
star
23

postscript

PostScript
1
star
24

i3config

Contains all my personal settings for i3wm, including statuslines for i3bar
Shell
1
star
25

evidlo.github.io

My static Cereal website
HTML
1
star
26

plug

My Purdue LUG document and presentation archive
TeX
1
star
27

collar

Wifi Controlled LED Collar
HTML
1
star
28

xmlnative

Map XML elements to python types.
Python
1
star
29

cereal

A minimal static website generator.
Python
1
star
30

dotrm

Parsing reMarkable .rm format
Kaitai Struct
1
star
31

test

A test repository
1
star