GithubHelp home page GithubHelp logo

neurone / remarkable Goto Github PK

View Code? Open in Web Editor NEW
40.0 4.0 6.0 3.17 MB

Customizations for reMarkable Paper Tablet

License: MIT License

Shell 100.00%
remarkable-tablet remarkable customization splashscreen linux remarkable2

remarkable's Introduction

reMarkable

Customizations for reMarkable and reMarkable 2 Paper Tablet. Scripts tested and working on version 2.0.x, 2.1.x, 2.11.x and 3.4.x

Automatically change your power off and suspend screens every 5 minutes

After installing this script, every image in the following folders is eligible to be randomly selected every 5 minutes for the power off or the suspended screen, accordingly to the dedicated folder. The name of the files is not relevant.

/home/root/customization/images/poweroff
/home/root/customization/images/suspended

This repo comes with some beautiful default images. I'm sorry I cannot give credits for them, but I found them on Facebook long time ago and I can't find the author anymore. If you find the author, please send a PR to this repo.

Note about the suspend screen. Starting with version 2.11.x and above (3.x included), ReMarkable loads the suspend screen image during the startup only, so it does not hot load from the filesystem anymore: you need to restart the device to see the new randomly selected image. I will explore the possibility of reloading the interface in memory. I already found how to reload the entire UI, but I will apply this feature only if I can find a way to do it during the device's sleep time rather than when the user is actively using it.

Manual installation

  • Clone this repo
git clone [email protected]:Neurone/reMarkable.git reMarkable-customizations
  • Connect to your reMarkable via SSH (via USB or WiFi, change the IP accordingly) and copy this repo into a temp folder
scp -r reMarkable-customizations [email protected]:/home/root/temp-reMarkable-customizations
  • Login into your reMarkable
❯ ssh [email protected]
[email protected]'s password:
reMarkable
╺━┓┏━╸┏━┓┏━┓   ┏━┓╻ ╻┏━╸┏━┓┏━┓
┏━┛┣╸ ┣┳┛┃ ┃   ┗━┓┃ ┃┃╺┓┣━┫┣┳┛
┗━╸┗━╸╹┗╸┗━┛   ┗━┛┗━┛┗━┛╹ ╹╹┗╸
reMarkable: ~/
  • Create dedicated folders for your scripts and images
mkdir -p /usr/share/remarkable/scripts
mkdir -p /home/root/customization/images/poweroff
mkdir -p /home/root/customization/images/suspended
  • Copy the script into the correct folder and set it executable
cp /home/root/temp-reMarkable-customizations/scripts/random-screens/set-random-screens.sh /usr/share/remarkable/scripts/
chmod +x /usr/share/remarkable/scripts/set-random-screens.sh
  • Copy some images under dedicated folders
cp /home/root/temp-reMarkable-customizations/images/poweroff/* /home/root/customization/images/poweroff
cp /home/root/temp-reMarkable-customizations/images/suspended/* /home/root/customization/images/suspended
  • Copy service and timer in the correct folder
cp /home/root/temp-reMarkable-customizations/scripts/random-screens/random-screens.service /usr/lib/systemd/user/random-screens.service
cp /home/root/temp-reMarkable-customizations/scripts/random-screens/random-screens.timer /usr/lib/systemd/user/random-screens.timer
  • Save original images, without overwriting previous original files
yes n | cp -i /usr/share/remarkable/poweroff.png /usr/share/remarkable/poweroff.original.png
yes n | cp -i /usr/share/remarkable/suspended.png /usr/share/remarkable/suspended.original.png
  • You can now delete your temp folder
rm -rf /home/root/temp-reMarkable-customizations
  • Enable service and timer
systemctl enable /usr/lib/systemd/user/random-screens.timer
systemctl enable /usr/lib/systemd/user/random-screens.service
  • Restart your reMarkable (random images are selected)

  • Restart again your reMarkable (previously selected random images are loaded)

  • You should now see your custom suspend and poweroff image in place

Automatic installation

WIP :)

Change the frequency of the updates

You can change the frequency of the refresh by modifying the value OnUnitActiveSec inside the file /usr/lib/systemd/user/random-screens.timer and then restarting your reMarkable.

Troubleshooting

To do some troubleshooting, you can use the following command to check the active timers. You should see random-screens.timer listed there, without error.

❯ systemctl list-timers --all
NEXT                         LEFT          LAST                         PASSED      UNIT                         ACTIVATES
Tue 2023-06-20 19:44:06 UTC  2min 53s left Tue 2023-06-20 19:39:06 UTC  2min 6s ago random-screens.timer         random-screens.service
Wed 2023-06-21 19:16:32 UTC  23h left      Tue 2023-06-20 19:12:49 UTC  28min ago   systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

2 timers listed.

You can also check the status of the random-screens service. You should see it was activated within the last 5 minutes (or your custom set frequency) and without errors.

❯ systemctl status random-screens.service
● random-screens.service - Set random images for splash screens
     Loaded: loaded (/usr/lib/systemd/user/random-screens.service; enabled; vendor preset: disabled)
     Active: inactive (dead) since Tue 2023-06-20 19:43:08 UTC; 38s ago
TriggeredBy: ● random-screens.timer
    Process: 175 ExecStart=/usr/share/remarkable/scripts/set-random-screens.sh (code=exited, status=0/SUCCESS)
   Main PID: 175 (code=exited, status=0/SUCCESS)

Jun 20 19:43:08 reMarkable systemd[1]: Started Set random images for splash screens.
Jun 20 19:43:08 reMarkable systemd[1]: random-screens.service: Succeeded.

remarkable's People

Contributors

neurone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

remarkable's Issues

Doesn't change my splashscreens

Hello, can you help me, my splashscreens doesnt change.
This is what i get :

/usr/lib/systemd/user$ systemctl list-timers
NEXT                         LEFT       LAST                         PASSED UNIT                         ACTIVATES
Sun 2020-08-30 03:11:09 UTC  13min left n/a                          n/a    systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Sun 2020-08-30 03:57:10 UTC  59min left Sun 2020-08-30 02:57:10 UTC  1s ago random-screens.timer         random-screens.service

2 timers listed.
Pass --all to see loaded but inactive timers, too.
/usr/lib/systemd/user$ systemctl status random-screens.service
â—� random-screens.service - Set random images for splash screens
   Loaded: loaded (/usr/lib/systemd/user/random-screens.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-08-30 02:57:10 UTC; 17s ago
  Process: 282 ExecStart=/usr/share/remarkable/scripts/set-random-screens.sh (code=exited, status=203/EXEC)
 Main PID: 282 (code=exited, status=203/EXEC)

Aug 30 02:57:10 reMarkable systemd[1]: Started Set random images for splash screens.
Aug 30 02:57:10 reMarkable systemd[282]: random-screens.service: Failed to execute command: Permission denied
Aug 30 02:57:10 reMarkable systemd[282]: random-screens.service: Failed at step EXEC spawning /usr/share/remarkable/scripts/set-random-screens.sh: Permission denied
Aug 30 02:57:10 reMarkable systemd[1]: random-screens.service: Main process exited, code=exited, status=203/EXEC
Aug 30 02:57:10 reMarkable systemd[1]: random-screens.service: Failed with result 'exit-code'.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.