1351N/A###############################################################################
1351N/A#
1351N/A# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
1351N/A#
1351N/A# Permission is hereby granted, free of charge, to any person obtaining a
1351N/A# copy of this software and associated documentation files (the "Software"),
1351N/A# to deal in the Software without restriction, including without limitation
1351N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
1351N/A# and/or sell copies of the Software, and to permit persons to whom the
1351N/A# Software is furnished to do so, subject to the following conditions:
1351N/A#
1351N/A# The above copyright notice and this permission notice (including the next
1351N/A# paragraph) shall be included in all copies or substantial portions of the
1351N/A# Software.
1351N/A#
1351N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1351N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1351N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1351N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1351N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1351N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1351N/A# DEALINGS IN THE SOFTWARE.
1351N/A#
1351N/A# Excerpts from Technical Product Training and Sustaining TOI docs for
1351N/A# future reference
1351N/A
1351N/AArchitecture and Implementation
1351N/A
1351N/A The open source TigerVNC release is built using the Xorg server sources
1351N/A to provide the X server portion of the sources for Xvnc. This provides
1351N/A an Xvnc that includes the same features as Sun's Xorg, including Sun
1351N/A enhancements like Trusted Extensions support & Xserver DTrace probes.
1351N/A
1351N/ASource code access
1351N/A
1351N/A Our code:
1351N/A In X gates: open-src/xserver/xvnc
1351N/A
1351N/A Upstream:
1351N/A Original: http://www.tigervnc.com/
1351N/A Fedora patches: http://pkgs.fedoraproject.org/gitweb/?p=tigervnc.git
1351N/A git://pkgs.fedoraproject.org/tigervnc.git
1351N/A
1351N/A 1. Please provide a brief description of the feature and how it is used.
1351N/A
1351N/A VNC provides a remote desktop session viewing protocol (RFB protocol).
1351N/A RFB clients, better known as VNC viewers, are available for most
1351N/A platforms, in both open source and commercial flavors. The Vino
1351N/A project in JDS (LSARC 2006/371) already delivers in Solaris a VNC server
1351N/A that can capture the display from a running session on a normal X server.
1351N/A
1351N/A This project delivers Xvnc, an X server that displays to a Remote Frame
1351N/A Buffer (RFB) protocol client over the network, without requiring an
1351N/A existing X server session displayed on local video hardware. It also
1351N/A delivers the TigerVNC vncviewer to connect to remote VNC servers, and
1351N/A several associated programs for managing these.
1351N/A
1351N/A 2. Does this feature EOL any other feature or does it offer an alternative
1351N/A to another existing feature?
1351N/A
1351N/A The vncviewer provided by this project replaces the vncviewer script
1351N/A delivered by the Vino project (LSARC 2007/391) in several Nevada builds,
1351N/A but which was not yet included in any Solaris or SXDE release.
1351N/A
1351N/A 3. Please list any dependencies on other features.
1351N/A
1351N/A None.
1351N/A
1351N/A 4. Is the feature on or off by default? What considerations need to be
1351N/A taken before turning on/off?
1351N/A
1351N/A The Xvnc server is off by default. Considerations before enabling are
1351N/A documented in the man page and the ARC case security questionairre.
1351N/A
1351N/A 5. Is this a platform specific feature and if so which platform?
1351N/A Please provide any differences in behaviors or functionality of the
1351N/A feature if it is supported on the x86 platform.
1351N/A
1351N/A No.
1351N/A
1351N/A 6. Please list the minimum system requirements.
1351N/A
1351N/A System running Solaris 10U5 or later.
1351N/A
1351N/A 7. List the things (GUI, commands, packages, binaries, configuration files,
1351N/A etc.) that are introduced, removed, or have substantially changed by
1351N/A this feature or project.
1351N/A
1351N/A S10 package SUNWxvnc / S11 package pkg:/x11/server/xvnc :
1351N/A /usr/bin/vncpasswd
1351N/A /usr/bin/vncserver
1351N/A /usr/bin/x0vncserver
1351N/A /usr/bin/Xvnc
1351N/A
1351N/A S10 package SUNWvncviewer /
1351N/A S11 package pkg:/desktop/remote-desktop/tigervnc :
1351N/A /usr/bin/vncviewer
1351N/A
1351N/A 8. What major data structures have changed or have been added?
1351N/A
1351N/A N/A
1351N/A
1351N/A 9. Please list any header file changes.
1351N/A
1351N/A N/A
1351N/A
1351N/A 10. Are there known issues or bugs with this feature? If so, please provide
1351N/A bug Ids and any known workarounds.
1351N/A
1351N/A See bugster for known bugs.
1351N/A
11. How would one recognize if the new feature is working or not working?
(Note: The engineer will provide as much information as possible at
this time. For the latest information, please refer to the appropriate
System Administration document.)
Can a VNC client (such as vncviewer) connect to a VNC server (such as
Xvnc) and see the desktop session in it?
See full test case instructions below.
12. Are there any diagnostic tools for this feature and what are they?
Xvnc contains the same Xserver DTrace probes as the other Solaris
X servers. No other diagnostic tools are known at this time.
13. Are there any unique conditions or constraints to Licensing,
Localization, and Internationalization?
None known.
14. Please provide a pointer to the following:
o ARC case:
PSARC 2007/545: Xvnc (RealVNC 4.1.x)
LSARC 2007/625: vncviewer (RealVNC 4.1.x)
PSARC/2009/592: TigerVNC 1.0
o Project Plan: N/A
o Documentation Plan: Man pages from open source release
o Project Web Site: http://www.tigervnc.com/
15. Please provide the Bugster Product/Category/Subcategory.
solaris/xserver/vnc
16. If available, please provide a pointer to the cookbook procedures
for installation and configuration.
Updated from test case instructions in bugster bug id 6572087,
these are several common ways of configuring Xvnc to run:
1) Starting on demand from inetd, displaying graphical login screen:
a) If using dtlogin (Solaris 10):
# Enable XDMCP connections on dtlogin by removing "-udpport 0" from args
# Warning: restart will kill all current dtlogin sessions!
svccfg -s cde-login setprop 'dtlogin/args=""'
svcadm refresh cde-login
svcadm restart cde-login
If using gdm (optional in Solaris 10, default in later releases):
Enable XDMCP connections in gdm by editing /etc/gdm/custom.conf
(GDM 2.30 & later) or /etc/X11/gdm/custom.conf (older GDM's) to
contain:
[xdmcp]
Enable=true
If it wasn't already there, then run "svcadm restart gdm" to activate.
( Warning: restart will kill all current gdm sessions!)
b) For either dtlogin or gdm:
# Add xvnc service to /etc/services if it isn't already there
# (it was added in snv_99 but is not in any S10 update release)
printf "vnc-server\t5900/tcp\t\t\t# VNC Server\n" >> /etc/services
# Enable Xvnc inetd service:
inetadm -e xvnc-inetd
Connect from another machine with:
vncviewer hostname:0
and verify you see the login screen and can login to a desktop session.
2) Starting at system boot from display manager, displaying login screen:
a) Add a display1 instance of x11-server service for configuration
and configure it to run Xvnc:
svccfg -s application/x11/x11-server add display1
svccfg -s application/x11/x11-server:display1 addpg options application
svccfg -s application/x11/x11-server:display1 addpropvalue options/server astring: "/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display1 addpropvalue options/server_args astring: '"SecurityTypes=None"'
b) If using dtlogin (Solaris 10):
# Configure dtlogin to start it
mkdir -p /etc/dt/config
cp /usr/dt/config/Xservers /etc/dt/config/Xservers
echo " :1 Local local_uid@none root /usr/X11/bin/Xserver :1" >> /etc/dt/config/Xservers
pkill -HUP dtlogin
If using gdm 2.30 or later (snv_130 or later):
ck-seat-tool -a --display-type=Local display=:1
c) Connect from another machine with:
vncviewer hostname:1
and verify you see the login screen and can login to a desktop session.
3) Starting manually, displaying session of user who started it, requiring
VNC password (separate from Unix login password, not securely encoded on
disk or across the network, so don't use a valuable password):
/usr/bin/vncserver -httpd
From another machine, open a web browser and go to
http://hostname:5802/
(Assuming vncserver said it was starting on display :2 - if it listed
another display number, change :5802 to 5800 + the display id.)
Enter the password you provided to the vncserver script when it asked
and verify you see a simple desktop session in the viewer.
When done testing, kill the session with:
vncserver -kill :2
(again, substituting display value as necessary)
4) Login to a normal/local X desktop session, open a terminal window and
run:
x0vncserver --SecurityTypes=None
Connect from another machine with:
vncviewer hostname:0
and verify you see and can control the existing session you ran
x0vncserver in.