doc/src/platforms/emb-vnc.qdoc
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the documentation of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 /*!
       
    43     \page qt-embedded-vnc.html
       
    44     \brief A guide to using Qt for Embedded Linux applications as VNC servers
       
    45     and clients.
       
    46 
       
    47     \title The VNC Protocol and Qt for Embedded Linux
       
    48     \ingroup qt-embedded-linux
       
    49 
       
    50     VNC (Virtual Network Computing) software makes it possible to view
       
    51     and interact with one computer (the "server") from any other
       
    52     computer or mobile device (the "viewer") anywhere on a network.
       
    53 
       
    54     \image qt-embedded-vnc-screen.png
       
    55 
       
    56     VNC clients are available for a vast array of display systems, including
       
    57     X11, Mac OS X and Windows.
       
    58 
       
    59     \section1 Configuring Qt with VNC Capabilities
       
    60 
       
    61     To run a \l{Qt for Embedded Linux} application using the VNC protocol, the
       
    62     \l{Qt for Embedded Linux} library must be configured and compiled with the
       
    63     \c -qt-gfx-vnc option:
       
    64 
       
    65     \snippet doc/src/snippets/code/doc_src_emb-vnc.qdoc 0
       
    66 
       
    67     \section1 Running a Server Application
       
    68 
       
    69     Start a server application by specifying the \c -qws command
       
    70     line option when running the application. (This can also be
       
    71     specified in the application's source code.)
       
    72     Use the \c -display command line option to specify the VNC server's
       
    73     driver and the virtual screen to use. For example:
       
    74 
       
    75     \snippet doc/src/snippets/code/doc_src_emb-vnc.qdoc 1
       
    76 
       
    77     The application will act as a VNC server which can be accessed using
       
    78     an ordinary VNC client, either on the development machine or from a
       
    79     different machine on a network.
       
    80 
       
    81     For example, using the X11 VNC client to view the application from the
       
    82     same machine:
       
    83 
       
    84     \snippet doc/src/snippets/code/doc_src_emb-vnc.qdoc 2
       
    85 
       
    86     To interact with the application from another machine on the network,
       
    87     run a VNC client pointing to the machine that is running the server
       
    88     application.
       
    89 
       
    90     \l{Qt for Embedded Linux} will create a 640 by 480 pixel display by
       
    91     default. Alternatively, the \c QWS_SIZE environment variable can be
       
    92     used to set another size; e.g., \c{QWS_SIZE=240x320}.
       
    93 
       
    94     \section1 Running Client Applications
       
    95 
       
    96     If you want to run more than one application on the same display, you
       
    97     only need to start the first one as a server application, using the
       
    98     \c -qws command line option to indicate that it will manage other
       
    99     windows.
       
   100 
       
   101     \snippet doc/src/snippets/code/doc_src_emb-vnc.qdoc Starting server
       
   102 
       
   103     Subsequent client applications can be started \e without the \c -qws
       
   104     option, but will each require the same \c -display option and argument
       
   105     as those used for the server.
       
   106 
       
   107     \snippet doc/src/snippets/code/doc_src_emb-vnc.qdoc Starting clients
       
   108 
       
   109     However, for the clients, this option will not cause a new VNC server
       
   110     to be started, but only indicates that their windows will appear on the
       
   111     virtual screen managed by the server application.
       
   112 
       
   113     \section1 Related Resources
       
   114 
       
   115     It is not always necessary to specify the \c -qws command line option
       
   116     when running a server application as long as the QApplication object
       
   117     used by the application has been constructed with the
       
   118     QApplication::GuiServer flag.
       
   119 
       
   120     See the \l{Running Qt for Embedded Linux Applications}{running applications}
       
   121     documentation for more details about server and client applications.
       
   122 
       
   123     \table
       
   124     \row
       
   125     \o \bold {The Virtual Framebuffer}
       
   126 
       
   127     The \l{The Virtual Framebuffer}{virtual framebuffer} is
       
   128     an alternative technique recommended for development and debugging
       
   129     purposes.
       
   130 
       
   131     The virtual framebuffer emulates a framebuffer using a shared
       
   132     memory region and the \c qvfb tool to display the framebuffer in a
       
   133     window.
       
   134 
       
   135     Its use of shared memory makes the virtual framebuffer much faster
       
   136     and smoother than using the VNC protocol, but it does not operate
       
   137     over a network.
       
   138 
       
   139     \o \inlineimage qt-embedded-virtualframebuffer.png
       
   140     \endtable
       
   141 */