# The &krdc; Handbook

## Introduction

&krdc; is a client application that allows you to view or even control the desktop session on another machine that is running a compatible (VNC) server.

You would typically use &krdc; with the &kde; VNC server, which is &krfb;, since it closely matches the special features of &krdc;.

Please report any problems or feature requests to the &kde; mailing lists or file a bug at http://www.bugs.kde.org.

## The Remote Frame Buffer protocol

This chapter provides a brief description of the Remote Frame Buffer protocol used by &krdc; and by other compatible systems. If you are already familiar with Remote Frame Buffer, you can safely skip this chapter.

The high level implementation of a system using the Remote Frame Buffer protocol is known as Virtual Network Computer, or more often just as VNC.

Remote Frame Buffer (or RFB for short) is a simple protocol for remote access to graphical user interfaces. It works at the frame-buffer level, which roughly corresponds to the rendered screen image, which means that it can be applied to all windowing systems (including X11, &MacOS; and &Microsoft; &Windows;). Remote Frame Buffer applications exist for many platforms, and can often be free re-distributed.

In the Remote Frame Buffer protocol, the application that runs on the machine where the user sits (containing the display, keyboard and pointer) is called the client. The application that runs on the machine where the framebuffer is located (which is running the windowing system and applications that the user is remotely controlling) is called the server. &krdc; is the &kde; client for the Remote Frame Buffer protocol. &krfb; is the &kde; server for the Remote Frame Buffer protocol.

It takes a reasonable amount of network traffic to send an image of the framebuffer, so Remote Frame Buffer works best over high bandwidth links, such as a local area network. It is still possible to use &krdc; over other links, but performance is unlikely to be as good.

## Using &krdc;

It is very easy to use &krdc; - it has a simple interface, as shown in the screenshot below.

Here's a screenshot of &krdc; &krdc; main window

If you click on the Browse << button, you will get an even simpler interface, as shown below.

&krdc; main window, without browse functionality &krdc; main window, without browse functionality

If you click on the Browse >> button, you will get the normal interface back.

### Connecting &krdc; to compatible servers

&krdc; is a client, and it needs to be used with compatible servers. There are three ways to connect to those servers:

- Directly typing the server name (or IP address) into the Remote desktop: combo box.

- By using an invitation that you received. &krfb; uses invitations, and can send them by email.

- By using Service Location Protocol browsing.

Let's look at each of these in turn.

#### Server name entry

If you know the host name (or IP address) of the server you want to connect to, you can enter it directly into the Remote desktop: combo box.

If you want to connect to a machine named megan, which is running a VNC server on screen 1, you can enter `megan:1` or alternatively as `vnc:/megan:1` into the Remote desktop: combo box.

Entering a hostname into &krdc; Entering a hostname into &krdc;

Similary, if you are using a RFB server on that machine, you can enter `rfb:/megan`. RFB does not need the screen number to be specified.

#### Using an invitation

Within the &krfb; server application, it is possible to send invitations over email (and in other ways, although email is the most useful). If you receive this type of email invitation, you can just click on the link provided in the mail. This will start &krdc; if it is not already running, and connect to the server specified in the invitation.

#### Using Service Location Protocol

The third way to use &krdc; is to browse using Service Location Protocol. A list of compatible servers that are registered with the Service Location Protocol system is shown in a list in the center of the main window:

&krdc; showing service browsing &krdc; showing service browsing

If your main window doesn't contain the table, remember that you can use the Browse >> to get back to the full &krdc; window. Also, not all compatible servers support automatic registration - one that does is the &krfb; server which is part of &kde;.

If you click once on an entry in the table, it will be selected, and you can use the Connect to establish a connection to the server. As a short-cut, you can just double-click on an entry, which will also establish a connection.

While Service Location Protocol will usually detect new servers becoming available, you can also force the &krdc; to scan for new servers. This is done using the Rescan. When you ask for a scan, the button is disabled (greyed out) while the scan is being performed - this typically takes a few seconds.

When using Service Location Protocol, the concept of Scopes is important. If there are a lot of services being advertised, it can become unwieldy to scan through a list. A re-scan can also produce a lot of network traffic. To avoid this problem, administrator's can configure Service Location Protocol with a set of Scopes, and only register services in certain scopes. For example, a host may be registered in the "third_floor" scope and the "logistics" scope, but not in the "engineering" scope or "maintenance" scope. In smaller setups, everything is only registered in the "DEFAULT" scope. &krdc; supports selection of a scope other than "DEFAULT", using the Scope: drop-down box in the top right hand corner of the main window.

### What happens when you connect

No matter how you select the server to connect to, the next thing that happens is that &krdc; asks you about the network connection to the server, as shown below:

&krdc; connection speed selection &krdc; connection speed selection

There are three speed settings:

- High Quality (LAN, direct connection), which is the default, and you should evaluate how well this setting performs before selecting a lower performance option that uses less bandwidth.

- Medium Quality (DSL, Cable, fast Internet).

- Low Quality (Modem, ISDN, slow Internet).

If you always operate over the same link type, you can deselect the checkbox labelled Show this dialog again for this host, which means that you won't be asked about the connection type again for this host, providing you identify it in the same way. For example, if a host has two names, and deselect the checkbox when connecting using one name, you won't get asked if you connect using that name, although you will be asked if you use the other name, or the IP address.

You select the appropriate speed setting, and select the Connect to proceed.

You will then see a small window containing a progress bar, which fills in as &krdc; negotiates the connection.

Depending on the configuration of the server, you may (and almost certainly will) need to provide a password to authenticate to the server. &krdc; will provide a password dialog similar to that shown below.

&krdc; password entry &krdc; password entry

After authentication, you will be connected to the remote server, and can begin using &krdc; to observe or control the remote desktop.

### Controlling the remote desktop connection

Having connected to the remote server, you would normally use the keyboard and mouse to control the windowing system and applications on that remote machine.

You can view the remote desktop either as a full screen, or as a window on the local desktop. You can change between these modes using icons shown below.

&krdc; full screen mode selection &krdc; full screen mode selection

&krdc; window mode selection &krdc; window mode selection

Full screen mode is normally better when you are helping a remote user, because you can see all of what they can see. Window mode is most useful when you are working both remotely and locally - perhaps referring to some local documentation and then using those instructions on the remote machine.

#### Using window mode

&krdc; in window mode looks something like the screenshot below.

&krdc; window &krdc; window

In window mode, you can terminate the connection by closing the window.

#### Using full screen mode

In full screen mode, you can terminate the connection by selecting the red "close" icon, which is shown below.

&krdc; close icon &krdc; close icon

### Managing &krdc; configuration

Using the Preferences... button in the bottom left hand corner of the the &krdc; main window, you can open a dialog to modify the behaviour of &krdc;. Selecting that button brings up a window as shown below:

&krdc; preferences - Host Profiles tab &krdc; preferences - Host Profiles tab

&krdc; preferences - VNC Defaults tab &krdc; preferences - VNC Defaults profiles tab

&krdc; preferences - RDP Defaults tab &krdc; preferences - RDP Defaults profiles tab

## Developer's Guide to &krdc;

&krdc; supports a small number of &DCOP; commands, which are described in this chapter. If you aren't familiar with &DCOP;, then you don't need to worry about this. However if you'd like to automate some of your &krdc; (or other &kde; application) actions, &DCOP; is a useful tool. You can find out more about &DCOP; in its on-line documentation, and in tutorials on http://developer.kde.org.

You can shut down the &krdc; application using the quit command, as shown in this example:

    %dcop krdc-25550 MainApplication-Interface quit

You will need to change the `krdc-25550` in the example to match the instance of &krdc; that you actually want to shutdown. If you run `dcop` with no options, you will get a list of all applications that are running and &DCOP; can control.

## Questions and Answers

&reporting.bugs; &updating.documentation;

When I start &krdc;, I get a message box that reads `Browsing the network is not possible. You probably did not install SLP support correctly.` What is wrong?

SLP is Service Location Protocol, and is typically provided by OpenSLP, or by The Knot.

If you compiled &krdc; yourself, this probably means that &krdc; has been compiled against the SLP libraries, but the server (probably called `slpd` or `knotd`) isn't running. You normally need to start these servers as the superuser, which may mean requesting that your system administrator does this, if you can't do this yourself.

If you are running a packaged version of &krdc;, then you may have some missing dependencies. There are so many ways this can happen that you'd need to seek support from whoever did the packaging.

## Credits and License

&krdc;

Program copyright 2002 Tim Jansen tim@tjansen.de

Contributors:

- Ian Reinhart Geiser geiseri@kde.org

Documentation Copyright © 2003 &Brad.Hards; &Brad.Hards.mail;

&underFDL; &underGPL;

## Installation

### How to obtain &krdc;

&install.intro.documentation;

### Compilation and Installation

&install.compile.documentation;
&documentation.index;