virtualmonitor: implemented capabilities check
Summary
Currently, the plugin just fails silently if the local device is missing the krfb
package or if the remote device misses an vnc://
protocol/scheme handler. You click the button and nothing happens.
One issue is, that the plugin is considered virtualmonitor.available
in the DeviceDelegate.qml
, even if the check for krfb-virtualmonitor
fails and no dbus-path is provided. I investigated the behavior a bit, but ignored it in the end as this MR benefits from being shown for device constellations that could provide this feature.
A warning is shown with brief instructions, how to get the plugin working correctly.
- Check if krfb-virtualmonitor is available locally
- Check default scheme handler for vnc:// on device (Linux)
- Show warnings / reasons, if no connection could be established
Test Plan
Regarding if the devices have mentioned packages installed, we should see different behaviors.
If the remote device has no VNC client, it can not connect to out server. A warning should be shown.
If the local device hasn't the krfb-virtualmonitor
available, the remote device couldn't connect. A warning should be shown.
If both problems are present, both warnings should be shown.
If none of these are present, no warning should be shown and we should try to establish a connection.
The connection attempts failed? A warning should be shown.