<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
]>

<book id="krfb" lang="&language;">

<bookinfo>
<title>The &krfb; Handbook</title>

<authorgroup>
<author>
&Brad.Hards;
&Brad.Hards.mail;
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<copyright>
<year>2003</year>
<holder>&Brad.Hards;</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2016-07-25</date>
<releaseinfo>5.0 (Applications 16.08)</releaseinfo>

<abstract>
<para>
&krfb; is a server application that allows you to share your current
session with a user on another machine, who can use a <acronym>VNC</acronym> client to
view or even control the desktop.
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdenetwork</keyword>
<keyword>krfb</keyword>
<keyword>VNC</keyword>
<keyword>RFB</keyword>
<keyword>krdc</keyword>
<keyword>Desktop Sharing</keyword>
<keyword>Remote Control</keyword>
<keyword>Remote Assistance</keyword>
<keyword>Remote Desktop</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<para>
&krfb; is a server application that allows you to share your current
session with a user on another machine, who can use a <acronym>VNC</acronym> client to
view or even control the desktop.
</para>

<para>
You would typically use &krfb; with the &kde;  <acronym>VNC</acronym> client, which is
&krdc;, since it closely matches the special features of &krfb;.
</para>

<para>
&krfb; doesn't require you to start a new X session - it can share
the current session. This makes it very useful when you want someone
to help you perform a task.
</para>

<para>
Please report any problems or feature requests to the &kde; mailing
lists or file a bug at <ulink
url="https://bugs.kde.org">https://bugs.kde.org</ulink>.
</para>
</chapter>

<chapter id="what-is-RFB">
<title>The Remote Frame Buffer protocol</title>

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

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

<para>
Remote Frame Buffer (or <acronym>RFB</acronym> 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
freely re-distributed.
</para>

<para>
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. &krfb; is the &kde; server for the
Remote Frame Buffer protocol. &krdc; is the &kde; client for the
Remote Frame Buffer protocol.
</para>

<para>
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 &krfb; over other links, but performance is unlikely to be as good.
</para>

</chapter>

<chapter id="using-krfb">
<title>Using &krfb;</title>

<sect1 id="main-windw">
<title>&krfb; Main Window</title>
<para>
It is very easy to use &krfb; - it has a simple interface, as shown in
the screenshot below.
</para>

<para>
<screenshot>
<screeninfo>Here's a screenshot of &krfb;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="screenshot.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>&krfb; main window</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
</para>

<para>
When you want to allow someone to access your desktop, you have to
enable the checkbox <guilabel>Enable Desktop Sharing</guilabel>,
which will start the server.
</para>

<sect2 id="connection-details">
<title>Connection Details</title>

<para>
The <guilabel>Address</guilabel> contains the address of your
computer and the port number, separated by a colon.
The address is just a hint - you can use any address that can
reach your computer. &krfb; tries to guess your address from your
network configuration, but does not always succeed in doing so.
If your computer is behind a firewall it may have a different
address or be unreachable for other computers.
</para>
<para>
You can change the port on the <guilabel>Network</guilabel>
page in the configuration dialog.
</para>
<para>
The next field is prefilled with an automatically generated password.
Click in the icon at the right of the field to change the password.
</para>
</sect2>

<sect2 id="unattended-access">
<title>Unattended Access</title>

<para>
Any remote user with the desktop sharing password will have to be authenticated.
If unattended access is activated, and the remote user provides the password
for unattended mode, desktop sharing access will be granted without explicit
confirmation.
</para>
<para>
By default the password for this mode is empty, to change that click on
the button and enter a password.
</para>
<para>
If unattended access is allowed, then you should probably specify a
password.
</para>

<para>
If the machine is a server and you are using &krfb; for remote
administration, you probably want to use unattended access.
</para>

</sect2>

<sect2 id="transfer-login-information">
<title>Transfer Login Information</title>

<para>
&krfb; has no invitation feature any more as in previous versions.
So you have to transfer the login information yourself using email
or a personal invitation.
</para>
<para>
If you cannot encrypt the email (or otherwise secure the link),
sending a password by email is a very serious security risk, since
anyone can read the password and address from the email as it passes
over the network. This means that they can potentially take control of
your machine.
</para>
<para>
If you cannot encrypt the email message, it may be better to use a
personal invitation, telephone the person you are giving access to,
verify the identity of that person, and provide the required
information that way.
</para>

<note>
<para>
&krfb; uses the normal <acronym>RFB</acronym> password system, which does not transfer
your password in the clear across the network. Instead, it uses a
challenge-response system. This is reasonably secure, as long as the
password is securely guarded.
</para>
</note>

</sect2>

<sect2 id="krfb-qqit">
<title>Quit &krfb;</title>

<para>
If you close the &krfb; main window by clicking on the window close icon or using the
shortcut <keycombo action="simul">&Alt;<keycap>F4</keycap></keycombo> the server
keeps running, which is indicated by an icon in the system tray.
To stop &krfb; either use <menuchoice><guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>
in the main window or right click on the icon in the system tray and select
<guimenuitem>Quit</guimenuitem>.
</para>
</sect2>

</sect1>

<sect1 id="krfb-configuration">
<title>Configuring &krfb;</title>
<para>
In addition to the main &krfb; interface shown and described above, 
you can also control &krfb;  using the
<guimenuitem>Configure...</guimenuitem> on the &krfb; main window. The &krfb;
configuration has two pages, as shown in the screenshot below: 
</para>

<para>
The <guilabel>Network</guilabel> page allows control over the port that
&krfb; uses, as shown below.
</para>

<para>
<screenshot>
<screeninfo>&krfb; Configuration (Network page)</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="configuration_network.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>&krfb; Configuration (Network page)</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
</para>

<para>
The <guilabel>Announce service on the local network</guilabel> checkbox
controls whether &krfb; announces the service over the local network using
Service Location Protocol. This is normally a good idea, but only
works really well with a Service Location Protocol aware client, such
as &krdc;.
</para>

<para>
If you select the <guilabel>Use default port</guilabel> checkbox, 
then &krfb; will locate a suitable port.
If you deselect this checkbox, you can specify a particular
port. Specifying a particular port may be useful if you are using
port-forwarding on the firewall. Note that if Service Location
Protocol is turned on, this will automatically deal with identifying
the correct port.
</para>

<para>
The <guilabel>Security</guilabel> page allows you to configure whether the
person connecting to the &krfb; server can control the desktop, or only view.
</para>

<para>
<screenshot>
<screeninfo>&krfb; Configuration (Security page)</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="configuration_security.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>&krfb; Configuration (Security page)</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
</para>

</sect1>

<sect1 id="krfb-connection">
<title>Connecting to &krfb;</title>

<para>
When someone connects to &krfb; on your machine, you will get a pop-up
notification that looks like the following screenshot, unless you are
accepting unattended access without confirmation.
</para>
<para>
<screenshot>
<screeninfo>&krfb; Connection Window</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="connection.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase>&krfb; Connection Window</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
</para>

<para>
If you <guibutton>Accept Connection</guibutton>, the client can
proceed to authenticate, which requires the correct password for a
login. If you <guibutton>Refuse
Connection</guibutton>, then the attempt to connect will be terminated.
</para>

<para>
The <guilabel>Allow remote user to control keyboard and
mouse</guilabel> check box determines whether this client can only
observe, or can take control of your machine. 
</para>

</sect1>
</chapter>

<chapter id="credits">

<title>Credits and License</title>

<para>
&krfb;
</para>
<para>
Program copyright 2002 Tim Jansen <email>tim@tjansen.de</email>
</para>
<para>
Contributors:
<itemizedlist>
<listitem><para>Ian Reinhart Geiser <email>geiseri@kde.org</email></para>
</listitem>
</itemizedlist>
</para>

<para>
Documentation Copyright &copy; 2003 &Brad.Hards; &Brad.Hards.mail;
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;               <!-- FDL: do not remove -->

&underGPL;        	 <!-- GPL License -->

</chapter>

&documentation.index;
</book>

<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

vim:tabstop=2:shiftwidth=2:expandtab 
-->
