Skip to content

Version 2.2#63

Merged
bordaigorl merged 65 commits intovncfrom
devel
Sep 9, 2021
Merged

Version 2.2#63
bordaigorl merged 65 commits intovncfrom
devel

Conversation

@bordaigorl
Copy link
Copy Markdown
Owner

@bordaigorl bordaigorl commented Apr 8, 2021

New features:

  • Forwarding of pointer events (see Feature/input emulation #40)
  • Optional SSH tunneling
  • Autorotation option
  • Pointer tracker show delay option
  • Reuse already running VNC server instances
  • Support for RM2 v2.6

Blocking on:

  • VNC server needs to generate proximity events to avoid unwanted palm rejection to be fooled (see Feature/input emulation #40)
  • VNC server needs to avoid using libcrypto to resolve incompatibility with v2.6

bordaigorl and others added 30 commits January 29, 2021 21:50
- Refactoring to allow calling protocol methods in fbworker
- Adding Pause/Resume
- Forwarding keys and pointer events (shift -> pen, clicks -> touch)
- "auto_on_load" detects orientation once at startup
- "auto" detects orientation at each update

Todo: make detection more reliable
On some platforms there's an unwanted border otherwise.
This should be preffered approach when connecting to remarkable over
(W)LAN for security reasons.
run() method.

Loading system hosts can easily take 10+ seconds and doing it inside the
constructor and not inside run() which runs in a thread pool will block
the app and make the main Window freeze since it blocks main qt event
loop from running.
@bordaigorl
Copy link
Copy Markdown
Owner Author

bordaigorl commented Apr 8, 2021

@idnovic I spotted a mistake (fixed in c7b5469) but I doubt that is the reason for your issue.
Can you run rmview -v and produce the log?
Have you reinstalled the package using pip install ".[tunnel]"?
Tunnelling seems to be working fine for me...
Would also help to know your OS and RM1/RM2+version.

@idnovic
Copy link
Copy Markdown

idnovic commented Apr 9, 2021

[INFO] STARTING: Fri Apr  9 14:53:57 2021
[INFO] Searching configuration in rmview.json, /Users/idnovic/Library/Preferences/rmview.json
[DEBUG] Configuration failure in rmview.json: [Errno 2] No such file or directory: 'rmview.json'
[INFO] Fetching configuration from /Users/idnovic/Library/Preferences/rmview.json
[DEBUG] Config values: {'ssh': {'address': '10.124.0.15', 'auth_method': 'password', 'username': 'root', 'password': '********'}, 'orientation': 'portrait', 'pen_size': 15, 'pen_color': 'red', 'pen_trail': 200, 'tunnel': True}
[INFO] Using known hosts file: /Users/idnovic/Library/Preferences/rmview_known_hosts
[INFO] Loaded known hosts from /Users/idnovic/Library/Preferences/rmview_known_hosts
[INFO] Connecting...
[INFO] Connected to 10.124.0.15
[DEBUG] Stopping connection worker
[INFO] Starting VNC server (command=$HOME/rM-vnc-server-standalone)
[INFO] Start command stdout output: 09/04/2021 12:54:06 Listening for VNC connections on TCP port 5900
[INFO] Establishing connection to remote VNC server on 10.124.0.15:5900
[WARNING] Disconnected: Connection was closed cleanly.
[DEBUG] Stopping framebuffer thread...
[INFO] Disconnecting from VNC server...
[INFO] Stopping VNC server...
[DEBUG] Framebuffer thread stopped
[INFO] QUITTING: Fri Apr  9 14:54:14 2021
[INFO] Establishing connection to remote VNC server on 10.124.0.15:5900
[WARNING] Disconnected: Connection was closed cleanly.

The connection is never established.
Everything above is over wifi.

@idnovic
Copy link
Copy Markdown

idnovic commented Apr 9, 2021

yes I reinstalled the newest dev branch with tunnel support.
I am using macOS 11.2.3 and testet with an reMarkable 2 with version 2.6.2.75. I am also using the newest version of reMarkable Tweaks

@bordaigorl
Copy link
Copy Markdown
Owner Author

bordaigorl commented Apr 9, 2021

@idnovic The tunnel setting needs to be part of the ssh section!
Also, if you are on wifi, 10.124.0.15 is not the address you want to be using...

@idnovic
Copy link
Copy Markdown

idnovic commented Apr 9, 2021

@idnovic The tunnel setting needs to be part of the ssh section!
Also, if you are on wifi, 10.124.0.15 is not the address you want to be using...

Thank you. It does work now.
I had the configuration wrong.

Can you add a configuration checker?
The syntax was correct but I had one option at the wrong location.

About the ip address. We have a large network. And it is part of the private ip address space.

@stheid
Copy link
Copy Markdown

stheid commented Apr 9, 2021

a config checker would be a very interesting idea. i would be very interested in programming something like that i am just currently a bit out with the codebase...

Perhaps one could create a yaml based schema file that could be used to validate the config.

@bordaigorl
Copy link
Copy Markdown
Owner Author

I think the easiest and most useful feature missing for the config is a settings dialog...
The UI would be easy to set up; the thing that may require refactoring is applying the changes to the config on the fly.
PRs in this direction would be welcome.
The first thing I would do is create an object encapsulating the config, maybe with signals to notify of changes.

@stheid
Copy link
Copy Markdown

stheid commented Apr 10, 2021

yeah, a settings UI would be best, however thats clearly more involved. FYI: https://python-jsonschema.readthedocs.io/en/stable/

@Kami
Copy link
Copy Markdown
Contributor

Kami commented Apr 16, 2021

Yeah, something like json schema + additionalProperties: false would probably work fine.

In case we only want to support recent Python 3 version, we could also use something like pydantic (https://pydantic-docs.helpmanual.io/) which utilizes native type hints syntax.

@bordaigorl bordaigorl merged commit 4d80057 into vnc Sep 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants