Remote GUI access for device with broken display

Unfortunately I dropped my Xperia 10 III, making the display unusable: It does not display a gui anymore and won’t register touches.

As the phone is still running and logged into the WLAN, I can access and rescue data via SSH(fs).
But some data exports (some Android apps like Signal, gPodder subscriptions, etc…) are best done via the GUI.

Has anyone come up with a working remote GUI control via the network, similar to VNC or X forwarding? I know that these things are much more complicated with Wayland, especially on such a dated compositor implementation as used in Sailfish OS. But maybe I am missing something.

I’m wondering if you’re able to install ScreenCast and enable it from CLI.
Other software, but same doubt is Jupii.

And actually, it isn’t so difficult to replace a screen.

EDIT: Ok, you can’t control from your browser. Perhaps you can do it with a mouse and an USB-A ↔ USB-C adapter?

2 Likes

There are new displays avaiable in Mobile repair shops.

Thanks to both of you for the suggestions, most won’t apply here though:

  • I do not intend to repair the device, as I intend to replace it with a different one due to several frustrations with it that have accumulated over time
  • The display is broken in a way that it does not display anything anymore, so just controlling it with a connected mouse won’t suffice
  • USB-C display output never worked for me with the Xperia 10 III – at least under Sailfish OS

I will try to set up one of the screen recording softwares and see whether I can somehow stream the resulting file via SSH, this might work as a hacky network screen streaming solution…

1 Like

Waypipe can in theory do that:

I never succeeded in getting lipstick to display on another machine, just the other way around, but maybe you will.

There is a package called lipstick2vnc but it no longer seems to install:

[defaultuser@Xperia10III ~]$ pkcon install lipstick2vnc
Resolving
Querying
Testing changes
Finished
Fatal error: nothing provides ‘libvncserver.so.0()(64bit)’ needed by the to be installed lipstick2vnc-0.10.0+cursorpng-1.aarch64

The libvncserver package does exist and is installable however so maybe lipstick2vnc just has to be rebuilt against the new library or the old .so has to be symlinked to the new one? I don’t know, I didn’t look into it any further.

1 Like

Installs fine here. Did you just forget to refresh the package cache?

Ah, turns out I had a conflicting storeman repository enabled. It installs now!

Edit: it does not seem to work however, I cannot connect from any VNC client.

Does it work after a reboot?

It installs a oneshot service setting up some things.

There’s some documentation that may be of some use:

However, I just tried it and it didn’t work quite as documented for me.

What did work was running /usr/bin/lipstick2vnc from the ssh shell (which outputs some nice status information) instead of messing about with systemd. And then making the ssh tunnel to port 5900 as documented. And then running “vncviewer localhost:0” on my PC.

(You may not need the ssh tunnel if you are going over usbnet rather than WiFi, allegedly.)

3 Likes

Thanks to both @gw and @pherjung, both solutions are viable:

  • The lipstick2vnc approach worked

    • I did not dare to reboot my broken device, so invoking lipstick2vnc directly as a defaultuser via ssh did the trick
    • edge swipes were almost impossible
    • interaction was very laggy (client: tigervnc)
    • remote keyboard input probably works (didn’t check)
  • Screencast app via web browser + USB mouse

    • this is the approach I adopted in the end to export data from some Android apps
    • interaction still laggy, but better than via VNC
    • edge swipes with mouse worked decently enough
    • performance massively improved after decreasing quality settings in System settingsScreencast
    • problem: attaching a mouse via USB disabled the on-screen keyboard, the system thought that a USB keyboard was connected as well (at least with my mouse)
      • I was able to get on without keyboard inputs
      • attaching a keyboard via a USB hub might work as well

Interaction was annoying in both cases, but I managed to get out all the data I wanted.

8 Likes