This article applies to all TeamViewer IoT users.

General

Teamviewer's IoT remote screen feature allows a user to access the screen attached to a remotely accessed device with the Teamviewer IoT agent installed on it.
Teamviewer IoT currently enables screen grabbing in 3 ways

  1. By accessing the framebuffer
  2. By accessing the session of an X11 server
  3. By providing access of QT applications through an SDK which can be included in the app

The grabbing provides read and write access to the accessed devices. Writing can be achieved through all common methods: Mouse, keyboard, and touch.

How to use this feature

Enabling of the features is done in the Teamviewer's IoT agent configuration file

The following settings are available:

  • EnableRemoteScreen
  • ChannelType
  • Channel Setting
  • RemoteScreenLogoPosition

Activation

The Remote Screen Feature is deactivated by default. It can be enabled over 

EnableRemoteScreen = 1

The availability is then shown by the "Remote Screen" Tab in the TeamViewer client once a connection to the device has been established.

 

Channels

 

When connecting to a device the remote screen module uses a so-called channel that defines which of the mentioned screen grabbing methods is used.

 

The command looks like the following:

<ChannelType>[:<ChannelSettings>]

<ChannelType> can have the values:

  • X11 --> X session grabbing
  • FBD --> Framebuffer grabbing
  • EAP --> External App grabbing

<ChannelSettings> can be used to specify settings for each option:

  • For X11 the <ChannelSettings> can be used to define, which display number should be used and which user should be the owner of the specified X11 session, e.g.: X11:0:root
  • For FBD the <ChannelSettings> can be used to specify which framebuffer device to use, e.g.: FBD:/dev/fb0
  • For EAP the <ChannelSettings> can be used to configure the grabbing method: there "FBD" can be added with the framebuffer device, e.g.: EAP:FBD:/dev/fb0

Example configurations:

Use case Setting
First X11 session
(that is not a user desktop session)
[strng] RemoteScreenChannels = "X11"

Specific X11 session
(that is not a user desktop session)

→ display / XSocket number 4 belonging to luser

[strng] RemoteScreenChannels = "X11:4:luser"

First framebuffer device

→ FB device /dev/fb0

[strng] RemoteScreenChannels = "FBD"

Specific framebuffer device

→ FB device /dev/fb42

[strng] RemoteScreenChannels = "FBD:/dev/fb42"

External App (SDK) with built-in grabbing

[strng] RemoteScreenChannels = "EAP"

External App (SDK) with framebuffer grabbing

→ first FB device (/dev/fb0)

[strng] RemoteScreenChannels = "EAP:FBD"

External App (SDK) with framebuffer grabbing

→ FB device /dev/fb42

[strng] RemoteScreenChannels = "EAP:FBD:/dev/fb42"

 

Logo positioning

When using X11 in the channel definition a logo is shown when a remote control is running as user feedback. This is done to prevent that a user is being monitored without his notice.

To configure the placement of the logo a setting called RemoteScreenLogoPosition of type string is used.

Valid values are: 

  • TopLeft
  • TopRight
  • BottomRight
  • BottomLeft

Data protection

To avoid that users can be surveilled without being notified the following measurements have been implemented

  1. An icon is shown in grabbed X11 and framebuffer sessions
    1. For QT applications Teamviewer's EULA requires that this being handled by the application Teamviewer's Remote screen is implemented
  2. In X11 session only non-users sessions can be grabbed, also login screens are not shown
Version history
Revision #:
9 of 9
Last update:
‎15 Apr 2019, 10:18 AM
Updated by:
 
Contributors
Tags (1)