diff --git a/environment.yml b/environment.yml index b2c7016..66bbd42 100644 --- a/environment.yml +++ b/environment.yml @@ -3,4 +3,5 @@ channels: dependencies: - websockify - pip: - - https://github.com/jupyterhub/jupyter-server-proxy/archive/0e67e1afd0bab1342443f13bd147a2f8c682e9e0.zip \ No newline at end of file + - https://github.com/jupyterhub/jupyter-server-proxy/archive/0e67e1afd0bab1342443f13bd147a2f8c682e9e0.zip + - . \ No newline at end of file diff --git a/jupyter_desktop/__init__.py b/jupyter_desktop/__init__.py index 1a78839..14bd96f 100644 --- a/jupyter_desktop/__init__.py +++ b/jupyter_desktop/__init__.py @@ -5,7 +5,6 @@ import tempfile HERE = os.path.dirname(os.path.abspath(__file__)) def setup_desktop(): - VNC_APPLICATION_DIR = os.path.join(os.getenv('CONDA_DIR'), 'vnc') # make a secure temporary directory for sockets # This is only readable, writeable & searchable by our uid sockets_dir = tempfile.mkdtemp() @@ -18,7 +17,7 @@ def setup_desktop(): '5901', '--unix-target', sockets_path, '--', - VNC_APPLICATION_DIR + '/bin/vncserver', + os.path.join(HERE, 'share/tigervnc/bin/vncserver'), '-verbose', '-xstartup', os.path.join(HERE, 'share/xstartup'), '-geometry', '1024x768', diff --git a/jupyter_desktop/share/tigervnc/bin/Xvnc b/jupyter_desktop/share/tigervnc/bin/Xvnc new file mode 100755 index 0000000..241af9b Binary files /dev/null and b/jupyter_desktop/share/tigervnc/bin/Xvnc differ diff --git a/jupyter_desktop/share/tigervnc/bin/vncconfig b/jupyter_desktop/share/tigervnc/bin/vncconfig new file mode 100755 index 0000000..24efd1e Binary files /dev/null and b/jupyter_desktop/share/tigervnc/bin/vncconfig differ diff --git a/jupyter_desktop/share/tigervnc/bin/vncpasswd b/jupyter_desktop/share/tigervnc/bin/vncpasswd new file mode 100755 index 0000000..51dcd43 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/bin/vncpasswd differ diff --git a/jupyter_desktop/share/tigervnc/bin/vncserver b/jupyter_desktop/share/tigervnc/bin/vncserver new file mode 100755 index 0000000..9e7a6ac --- /dev/null +++ b/jupyter_desktop/share/tigervnc/bin/vncserver @@ -0,0 +1,906 @@ +#!/usr/bin/env perl +# +# Copyright (C) 2009-2010 D. R. Commander. All Rights Reserved. +# Copyright (C) 2005-2006 Sun Microsystems, Inc. All Rights Reserved. +# Copyright (C) 2002-2003 Constantin Kaplinsky. All Rights Reserved. +# Copyright (C) 2002-2005 RealVNC Ltd. +# Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved. +# +# This is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This software is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this software; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +# USA. +# + +# +# vncserver - wrapper script to start an X VNC server. +# + +# First make sure we're operating in a sane environment. +$exedir = ""; +$slashndx = rindex($0, "/"); +if($slashndx>=0) { + $exedir = substr($0, 0, $slashndx+1); +} + +$vncClasses = ""; + +&SanityCheck(); + +# +# Global variables. You may want to configure some of these for +# your site +# + +$geometry = "1024x768"; +#$depth = 16; +$vncJavaFiles = (((-d "$vncClasses") && "$vncClasses") || + ((-d "/usr/share/vnc/classes") && "/usr/share/vnc/classes") || + ((-d "/usr/local/vnc/classes") && "/usr/local/vnc/classes")); + +$vncUserDir = "$ENV{HOME}/.vnc"; +$vncUserConfig = "$vncUserDir/config"; + +$vncSystemConfigDir = "/etc/tigervnc"; +$vncSystemConfigDefaultsFile = "$vncSystemConfigDir/vncserver-config-defaults"; +$vncSystemConfigMandatoryFile = "$vncSystemConfigDir/vncserver-config-mandatory"; + +$skipxstartup = 0; +$xauthorityFile = "$ENV{XAUTHORITY}" || "$ENV{HOME}/.Xauthority"; + +$xstartupFile = $vncUserDir . "/xstartup"; +$defaultXStartup + = ("#!/bin/sh\n\n". + "unset SESSION_MANAGER\n". + "unset DBUS_SESSION_BUS_ADDRESS\n". + "OS=`uname -s`\n". + "if [ \$OS = 'Linux' ]; then\n". + " case \"\$WINDOWMANAGER\" in\n". + " \*gnome\*)\n". + " if [ -e /etc/SuSE-release ]; then\n". + " PATH=\$PATH:/opt/gnome/bin\n". + " export PATH\n". + " fi\n". + " ;;\n". + " esac\n". + "fi\n". + "if [ -x /etc/X11/xinit/xinitrc ]; then\n". + " exec /etc/X11/xinit/xinitrc\n". + "fi\n". + "if [ -f /etc/X11/xinit/xinitrc ]; then\n". + " exec sh /etc/X11/xinit/xinitrc\n". + "fi\n". + "[ -r \$HOME/.Xresources ] && xrdb \$HOME/.Xresources\n". + "xsetroot -solid grey\n". + "xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\" &\n". + "twm &\n"); + +$defaultConfig + = ("## Supported server options to pass to vncserver upon invocation can be listed\n". + "## in this file. See the following manpages for more: vncserver(1) Xvnc(1).\n". + "## Several common ones are shown below. Uncomment and modify to your liking.\n". + "##\n". + "# securitytypes=vncauth,tlsvnc\n". + "# desktop=sandbox\n". + "# geometry=2000x1200\n". + "# localhost\n". + "# alwaysshared\n"); + +chop($host = `uname -n`); + +if (-d "/etc/X11/fontpath.d") { + $fontPath = "catalogue:/etc/X11/fontpath.d"; +} + +@fontpaths = ('/usr/share/X11/fonts', '/usr/share/fonts', '/usr/share/fonts/X11/'); +if (! -l "/usr/lib/X11") {push(@fontpaths, '/usr/lib/X11/fonts');} +if (! -l "/usr/X11") {push(@fontpaths, '/usr/X11/lib/X11/fonts');} +if (! -l "/usr/X11R6") {push(@fontpaths, '/usr/X11R6/lib/X11/fonts');} +push(@fontpaths, '/usr/share/fonts/default'); + +@fonttypes = ('misc', + '75dpi', + '100dpi', + 'Speedo', + 'Type1'); + +foreach $_fpath (@fontpaths) { + foreach $_ftype (@fonttypes) { + if (-f "$_fpath/$_ftype/fonts.dir") { + if (! -l "$_fpath/$_ftype") { + $defFontPath .= "$_fpath/$_ftype,"; + } + } + } +} + +if ($defFontPath) { + if (substr($defFontPath, -1, 1) == ',') { + chop $defFontPath; + } +} + +if ($fontPath eq "") { + $fontPath = $defFontPath; +} + +# Check command line options + +&ParseOptions("-geometry",1,"-depth",1,"-pixelformat",1,"-name",1,"-kill",1, + "-help",0,"-h",0,"--help",0,"-fp",1,"-list",0,"-fg",0,"-autokill",0,"-noxstartup",0,"-xstartup",1); + +&Usage() if ($opt{'-help'} || $opt{'-h'} || $opt{'--help'}); + +&Kill() if ($opt{'-kill'}); + +&List() if ($opt{'-list'}); + +# Uncomment this line if you want default geometry, depth and pixelformat +# to match the current X display: +# &GetXDisplayDefaults(); + +if ($opt{'-geometry'}) { + $geometry = $opt{'-geometry'}; +} +if ($opt{'-depth'}) { + $depth = $opt{'-depth'}; + $pixelformat = ""; +} +if ($opt{'-pixelformat'}) { + $pixelformat = $opt{'-pixelformat'}; +} +if ($opt{'-noxstartup'}) { + $skipxstartup = 1; +} +if ($opt{'-xstartup'}) { + $xstartupFile = $opt{'-xstartup'}; +} +if ($opt{'-fp'}) { + $fontPath = $opt{'-fp'}; + $fpArgSpecified = 1; +} + +&CheckGeometryAndDepth(); + +# Create the user's vnc directory if necessary. +if (!(-e $vncUserDir)) { + if (!mkdir($vncUserDir,0755)) { + die "$prog: Could not create $vncUserDir.\n"; + } +} + +# Find display number. +if ((@ARGV > 0) && ($ARGV[0] =~ /^:(\d+)$/)) { + $displayNumber = $1; + shift(@ARGV); + if (!&CheckDisplayNumber($displayNumber)) { + die "A VNC server is already running as :$displayNumber\n"; + } +} elsif ((@ARGV > 0) && ($ARGV[0] !~ /^-/) && ($ARGV[0] !~ /^\+/)) { + &Usage(); +} else { + $displayNumber = &GetDisplayNumber(); +} + +$vncPort = 5900 + $displayNumber; + +if ($opt{'-name'}) { + $desktopName = $opt{'-name'}; +} else { + $desktopName = "$host:$displayNumber ($ENV{USER})"; +} + +my %default_opts; +my %config; + +# We set some reasonable defaults. Config file settings +# override these where present. +$default_opts{desktop} = "edString($desktopName); +$default_opts{httpd} = $vncJavaFiles if ($vncJavaFiles); +$default_opts{auth} = "edString($xauthorityFile); +$default_opts{geometry} = $geometry if ($geometry); +$default_opts{depth} = $depth if ($depth); +$default_opts{pixelformat} = $pixelformat if ($pixelformat); +$default_opts{rfbwait} = 30000; +$default_opts{rfbauth} = "$vncUserDir/passwd"; +$default_opts{rfbport} = $vncPort; +$default_opts{fp} = $fontPath if ($fontPath); +$default_opts{pn} = ""; + +# Load user-overrideable system defaults +LoadConfig($vncSystemConfigDefaultsFile); + +# Then the user's settings +LoadConfig($vncUserConfig); + +# And then override anything set above if mandatory settings exist. +# WARNING: "Mandatory" is used loosely here! As the man page says, +# there is nothing stopping someone from EASILY subverting the +# settings in $vncSystemConfigMandatoryFile by simply passing +# CLI args to vncserver, which trump config files! To properly +# hard force policy in a non-subvertible way would require major +# development work that touches Xvnc itself. +LoadConfig($vncSystemConfigMandatoryFile, 1); + +# +# Check whether VNC authentication is enabled, and if so, prompt the user to +# create a VNC password if they don't already have one. +# + +$securityTypeArgSpecified = 0; +$vncAuthEnabled = 0; +$passwordArgSpecified = 0; +@vncAuthStrings = ("vncauth", "tlsvnc", "x509vnc"); + +# ...first we check our configuration files' settings +if ($config{'securitytypes'}) { + $securityTypeArgSpecified = 1; + foreach $arg2 (split(',', $config{'securitytypes'})) { + if (grep {$_ eq lc($arg2)} @vncAuthStrings) { + $vncAuthEnabled = 1; + } + } +} + +# ...and finally we check CLI args, which in the case of the topic at +# hand (VNC auth or not), override anything found in configuration files +# (even so-called "mandatory" settings). +for ($i = 0; $i < @ARGV; ++$i) { + # -SecurityTypes can be followed by a space or "=" + my @splitargs = split('=', $ARGV[$i]); + if (@splitargs <= 1 && $i < @ARGV - 1) { + push(@splitargs, $ARGV[$i + 1]); + } + if (lc(@splitargs[0]) eq "-securitytypes") { + if (@splitargs > 1) { + $securityTypeArgSpecified = 1; + } + foreach $arg2 (split(',', @splitargs[1])) { + if (grep {$_ eq lc($arg2)} @vncAuthStrings) { + $vncAuthEnabled = 1; + } + } + } + if ((lc(@splitargs[0]) eq "-password") + || (lc(@splitargs[0]) eq "-passwordfile" + || (lc(@splitargs[0]) eq "-rfbauth"))) { + $passwordArgSpecified = 1; + } +} + +if ((!$securityTypeArgSpecified || $vncAuthEnabled) && !$passwordArgSpecified) { + ($z,$z,$mode) = stat("$vncUserDir/passwd"); + if (!(-e "$vncUserDir/passwd") || ($mode & 077)) { + warn "\nYou will require a password to access your desktops.\n\n"; + system($exedir."vncpasswd -q $vncUserDir/passwd"); + if (($? >> 8) != 0) { + exit 1; + } + } +} + +$desktopLog = "$vncUserDir/$host:$displayNumber.log"; +unlink($desktopLog); + +# Make an X server cookie and set up the Xauthority file +# mcookie is a part of util-linux, usually only GNU/Linux systems have it. +$cookie = `mcookie`; +# Fallback for non GNU/Linux OS - use /dev/urandom on systems that have it, +# otherwise use perl's random number generator, seeded with the sum +# of the current time, our PID and part of the encrypted form of the password. +if ($cookie eq "" && open(URANDOM, '<', '/dev/urandom')) { + my $randata; + if (sysread(URANDOM, $randata, 16) == 16) { + $cookie = unpack 'h*', $randata; + } + close(URANDOM); +} +if ($cookie eq "") { + srand(time+$$+unpack("L",`cat $vncUserDir/passwd`)); + for (1..16) { + $cookie .= sprintf("%02x", int(rand(256)) % 256); + } +} + +open(XAUTH, "|xauth -f $xauthorityFile source -"); +print XAUTH "add $host:$displayNumber . $cookie\n"; +print XAUTH "add $host/unix:$displayNumber . $cookie\n"; +close(XAUTH); + +# Now start the X VNC Server + +# We build up our Xvnc command with options +$cmd = $exedir."Xvnc :$displayNumber"; + +foreach my $k (sort keys %config) { + $cmd .= " -$k $config{$k}"; + delete $default_opts{$k}; # file options take precedence +} + +foreach my $k (sort keys %default_opts) { + $cmd .= " -$k $default_opts{$k}"; +} + +# Add color database stuff here, e.g.: +# $cmd .= " -co /usr/lib/X11/rgb"; + +foreach $arg (@ARGV) { + $cmd .= " " . "edString($arg); +} +$cmd .= " >> " . "edString($desktopLog) . " 2>&1"; + +# Run $cmd and record the process ID. +$pidFile = "$vncUserDir/$host:$displayNumber.pid"; +system("$cmd & echo \$! >$pidFile"); + +# Give Xvnc a chance to start up + +sleep(3); +if ($fontPath ne $defFontPath) { + unless (kill 0, `cat $pidFile`) { + if ($fpArgSpecified) { + warn "\nWARNING: The first attempt to start Xvnc failed, probably because the font\n"; + warn "path you specified using the -fp argument is incorrect. Attempting to\n"; + warn "determine an appropriate font path for this system and restart Xvnc using\n"; + warn "that font path ...\n"; + } else { + warn "\nWARNING: The first attempt to start Xvnc failed, possibly because the font\n"; + warn "catalog is not properly configured. Attempting to determine an appropriate\n"; + warn "font path for this system and restart Xvnc using that font path ...\n"; + } + $cmd =~ s@-fp [^ ]+@@; + $cmd .= " -fp $defFontPath" if ($defFontPath); + system("$cmd & echo \$! >$pidFile"); + sleep(3); + } +} +unless (kill 0, `cat $pidFile`) { + warn "Could not start Xvnc.\n\n"; + unlink $pidFile; + open(LOG, "<$desktopLog"); + while () { print; } + close(LOG); + die "\n"; +} + +warn "\nNew '$desktopName' desktop is $host:$displayNumber\n\n"; + +# Create the user's xstartup script if necessary. +if (! $skipxstartup) { + if (!(-e "$xstartupFile")) { + warn "Creating default startup script $xstartupFile\n"; + open(XSTARTUP, ">$xstartupFile"); + print XSTARTUP $defaultXStartup; + close(XSTARTUP); + chmod 0755, "$xstartupFile"; + } +} + +# Create the user's config file if necessary. +if (!(-e "$vncUserDir/config")) { + warn "Creating default config $vncUserDir/config\n"; + open(VNCUSERCONFIG, ">$vncUserDir/config"); + print VNCUSERCONFIG $defaultConfig; + close(VNCUSERCONFIG); + chmod 0644, "$vncUserDir/config"; +} + +# Run the X startup script. +if (! $skipxstartup) { + warn "Starting applications specified in $xstartupFile\n"; +} +warn "Log file is $desktopLog\n\n"; + +# If the unix domain socket exists then use that (DISPLAY=:n) otherwise use +# TCP (DISPLAY=host:n) + +if (-e "/tmp/.X11-unix/X$displayNumber" || + -e "/usr/spool/sockets/X11/$displayNumber") +{ + $ENV{DISPLAY}= ":$displayNumber"; +} else { + $ENV{DISPLAY}= "$host:$displayNumber"; +} +$ENV{VNCDESKTOP}= $desktopName; + +if ($opt{'-fg'}) { + if (! $skipxstartup) { + system("$xstartupFile >> " . "edString($desktopLog) . " 2>&1"); + } + if (kill 0, `cat $pidFile`) { + $opt{'-kill'} = ':'.$displayNumber; + &Kill(); + } +} else { + if ($opt{'-autokill'}) { + if (! $skipxstartup) { + system("($xstartupFile; $0 -kill :$displayNumber) >> " + . "edString($desktopLog) . " 2>&1 &"); + } + } else { + if (! $skipxstartup) { + system("$xstartupFile >> " . "edString($desktopLog) + . " 2>&1 &"); + } + } +} + +exit; + +############################################################################### +# Functions +############################################################################### + +# +# Populate the global %config hash with settings from a specified +# vncserver configuration file if it exists +# +# Args: 1. file path +# 2. optional boolean flag to enable warning when a previously +# set configuration setting is being overridden +# +sub LoadConfig { + local ($configFile, $warnoverride) = @_; + local ($toggle) = undef; + + if (stat($configFile)) { + if (open(IN, $configFile)) { + while () { + next if /^#/; + if (my ($k, $v) = /^\s*(\w+)\s*=\s*(.+)$/) { + $k = lc($k); # must normalize key case + if ($warnoverride && $config{$k}) { + print("Warning: $configFile is overriding previously defined '$k' to be '$v'\n"); + } + $config{$k} = $v; + } elsif ($_ =~ m/^\s*(\S+)/) { + # We can't reasonably warn on override of toggles (e.g. AlwaysShared) + # because it would get crazy to do so. We'd have to check if the + # current config file being loaded defined the logical opposite setting + # (NeverShared vs. AlwaysShared, etc etc). + $toggle = lc($1); # must normalize key case + $config{$toggle} = $k; + } + } + close(IN); + } + } +} + +# +# CheckGeometryAndDepth simply makes sure that the geometry and depth values +# are sensible. +# + +sub CheckGeometryAndDepth +{ + if ($geometry =~ /^(\d+)x(\d+)$/) { + $width = $1; $height = $2; + + if (($width<1) || ($height<1)) { + die "$prog: geometry $geometry is invalid\n"; + } + + $geometry = "${width}x$height"; + } else { + die "$prog: geometry $geometry is invalid\n"; + } + + if ($depth && (($depth < 8) || ($depth > 32))) { + die "Depth must be between 8 and 32\n"; + } +} + + +# +# GetDisplayNumber gets the lowest available display number. A display number +# n is taken if something is listening on the VNC server port (5900+n) or the +# X server port (6000+n). +# + +sub GetDisplayNumber +{ + foreach $n (1..99) { + if (&CheckDisplayNumber($n)) { + return $n+0; # Bruce Mah's workaround for bug in perl 5.005_02 + } + } + + die "$prog: no free display number on $host.\n"; +} + + +# +# CheckDisplayNumber checks if the given display number is available. A +# display number n is taken if something is listening on the VNC server port +# (5900+n) or the X server port (6000+n). +# + +sub CheckDisplayNumber +{ + local ($n) = @_; + + socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n"; + eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))'; + if (!bind(S, pack('S n x12', $AF_INET, 6000 + $n))) { + close(S); + return 0; + } + close(S); + + socket(S, $AF_INET, $SOCK_STREAM, 0) || die "$prog: socket failed: $!\n"; + eval 'setsockopt(S, &SOL_SOCKET, &SO_REUSEADDR, pack("l", 1))'; + if (!bind(S, pack('S n x12', $AF_INET, 5900 + $n))) { + close(S); + return 0; + } + close(S); + + if (-e "/tmp/.X$n-lock") { + warn "\nWarning: $host:$n is taken because of /tmp/.X$n-lock\n"; + warn "Remove this file if there is no X server $host:$n\n"; + return 0; + } + + if (-e "/tmp/.X11-unix/X$n") { + warn "\nWarning: $host:$n is taken because of /tmp/.X11-unix/X$n\n"; + warn "Remove this file if there is no X server $host:$n\n"; + return 0; + } + + if (-e "/usr/spool/sockets/X11/$n") { + warn("\nWarning: $host:$n is taken because of ". + "/usr/spool/sockets/X11/$n\n"); + warn "Remove this file if there is no X server $host:$n\n"; + return 0; + } + + return 1; +} + + +# +# GetXDisplayDefaults uses xdpyinfo to find out the geometry, depth and pixel +# format of the current X display being used. If successful, it sets the +# options as appropriate so that the X VNC server will use the same settings +# (minus an allowance for window manager decorations on the geometry). Using +# the same depth and pixel format means that the VNC server won't have to +# translate pixels when the desktop is being viewed on this X display (for +# TrueColor displays anyway). +# + +sub GetXDisplayDefaults +{ + local (@lines, @matchlines, $width, $height, $defaultVisualId, $i, + $red, $green, $blue); + + $wmDecorationWidth = 4; # a guess at typical size for window manager + $wmDecorationHeight = 24; # decoration size + + return if (!defined($ENV{DISPLAY})); + + @lines = `xdpyinfo 2>/dev/null`; + + return if ($? != 0); + + @matchlines = grep(/dimensions/, @lines); + if (@matchlines) { + ($width, $height) = ($matchlines[0] =~ /(\d+)x(\d+) pixels/); + + $width -= $wmDecorationWidth; + $height -= $wmDecorationHeight; + + $geometry = "${width}x$height"; + } + + @matchlines = grep(/default visual id/, @lines); + if (@matchlines) { + ($defaultVisualId) = ($matchlines[0] =~ /id:\s+(\S+)/); + + for ($i = 0; $i < @lines; $i++) { + if ($lines[$i] =~ /^\s*visual id:\s+$defaultVisualId$/) { + if (($lines[$i+1] !~ /TrueColor/) || + ($lines[$i+2] !~ /depth/) || + ($lines[$i+4] !~ /red, green, blue masks/)) + { + return; + } + last; + } + } + + return if ($i >= @lines); + + ($depth) = ($lines[$i+2] =~ /depth:\s+(\d+)/); + ($red,$green,$blue) + = ($lines[$i+4] + =~ /masks:\s+0x([0-9a-f]+), 0x([0-9a-f]+), 0x([0-9a-f]+)/); + + $red = hex($red); + $green = hex($green); + $blue = hex($blue); + + if ($red > $blue) { + $red = int(log($red) / log(2)) - int(log($green) / log(2)); + $green = int(log($green) / log(2)) - int(log($blue) / log(2)); + $blue = int(log($blue) / log(2)) + 1; + $pixelformat = "rgb$red$green$blue"; + } else { + $blue = int(log($blue) / log(2)) - int(log($green) / log(2)); + $green = int(log($green) / log(2)) - int(log($red) / log(2)); + $red = int(log($red) / log(2)) + 1; + $pixelformat = "bgr$blue$green$red"; + } + } +} + + +# +# quotedString returns a string which yields the original string when parsed +# by a shell. +# + +sub quotedString +{ + local ($in) = @_; + + $in =~ s/\'/\'\"\'\"\'/g; + + return "'$in'"; +} + + +# +# removeSlashes turns slashes into underscores for use as a file name. +# + +sub removeSlashes +{ + local ($in) = @_; + + $in =~ s|/|_|g; + + return "$in"; +} + + +# +# Usage +# + +sub Usage +{ + die("\nusage: $prog [:] [-name ] [-depth ]\n". + " [-geometry x]\n". + " [-pixelformat rgbNNN|bgrNNN]\n". + " [-fp ]\n". + " [-fg]\n". + " [-autokill]\n". + " [-noxstartup]\n". + " [-xstartup ]\n". + " ...\n\n". + " $prog -kill \n\n". + " $prog -list\n\n"); +} + + +# +# List +# + +sub List +{ + opendir(dir, $vncUserDir); + my @filelist = readdir(dir); + closedir(dir); + print "\nTigerVNC server sessions:\n\n"; + print "X DISPLAY #\tPROCESS ID\n"; + foreach my $file (@filelist) { + if ($file =~ /$host:(\d+)$\.pid/) { + chop($tmp_pid = `cat $vncUserDir/$file`); + if (kill 0, $tmp_pid) { + print ":".$1."\t\t".`cat $vncUserDir/$file`; + } else { + unlink ($vncUserDir . "/" . $file); + } + } + } + exit 1; +} + + +# +# Kill +# + +sub Kill +{ + $opt{'-kill'} =~ s/(:\d+)\.\d+$/$1/; # e.g. turn :1.0 into :1 + + if ($opt{'-kill'} =~ /^:\d+$/) { + $pidFile = "$vncUserDir/$host$opt{'-kill'}.pid"; + } else { + if ($opt{'-kill'} !~ /^$host:/) { + die "\nCan't tell if $opt{'-kill'} is on $host\n". + "Use -kill : instead\n\n"; + } + $pidFile = "$vncUserDir/$opt{'-kill'}.pid"; + } + + if (! -r $pidFile) { + die "\nCan't find file $pidFile\n". + "You'll have to kill the Xvnc process manually\n\n"; + } + + $SIG{'HUP'} = 'IGNORE'; + chop($pid = `cat $pidFile`); + warn "Killing Xvnc process ID $pid\n"; + + if (kill 0, $pid) { + system("kill $pid"); + sleep(1); + if (kill 0, $pid) { + print "Xvnc seems to be deadlocked. Kill the process manually and then re-run\n"; + print " ".$0." -kill ".$opt{'-kill'}."\n"; + print "to clean up the socket files.\n"; + exit + } + + } else { + warn "Xvnc process ID $pid already killed\n"; + $opt{'-kill'} =~ s/://; + + if (-e "/tmp/.X11-unix/X$opt{'-kill'}") { + print "Xvnc did not appear to shut down cleanly."; + print " Removing /tmp/.X11-unix/X$opt{'-kill'}\n"; + unlink "/tmp/.X11-unix/X$opt{'-kill'}"; + } + if (-e "/tmp/.X$opt{'-kill'}-lock") { + print "Xvnc did not appear to shut down cleanly."; + print " Removing /tmp/.X$opt{'-kill'}-lock\n"; + unlink "/tmp/.X$opt{'-kill'}-lock"; + } + } + + unlink $pidFile; + exit; +} + + +# +# ParseOptions takes a list of possible options and a boolean indicating +# whether the option has a value following, and sets up an associative array +# %opt of the values of the options given on the command line. It removes all +# the arguments it uses from @ARGV and returns them in @optArgs. +# + +sub ParseOptions +{ + local (@optval) = @_; + local ($opt, @opts, %valFollows, @newargs); + + while (@optval) { + $opt = shift(@optval); + push(@opts,$opt); + $valFollows{$opt} = shift(@optval); + } + + @optArgs = (); + %opt = (); + + arg: while (defined($arg = shift(@ARGV))) { + foreach $opt (@opts) { + if ($arg eq $opt) { + push(@optArgs, $arg); + if ($valFollows{$opt}) { + if (@ARGV == 0) { + &Usage(); + } + $opt{$opt} = shift(@ARGV); + push(@optArgs, $opt{$opt}); + } else { + $opt{$opt} = 1; + } + next arg; + } + } + push(@newargs,$arg); + } + + @ARGV = @newargs; +} + + +# Routine to make sure we're operating in a sane environment. +sub SanityCheck +{ + local ($cmd); + + # Get the program name + ($prog) = ($0 =~ m|([^/]+)$|); + + # + # Check we have all the commands we'll need on the path. + # + + cmd: + foreach $cmd ("uname","xauth") { + for (split(/:/,$ENV{PATH})) { + if (-x "$_/$cmd") { + next cmd; + } + } + die "$prog: couldn't find \"$cmd\" on your PATH.\n"; + } + + if($exedir eq "") { + cmd2: + foreach $cmd ("Xvnc","vncpasswd") { + for (split(/:/,$ENV{PATH})) { + if (-x "$_/$cmd") { + $vncClasses = "$_/../vnc/classes"; + next cmd2; + } + } + die "$prog: couldn't find \"$cmd\" on your PATH.\n"; + } + } + else { + cmd3: + foreach $cmd ($exedir."Xvnc",$exedir."vncpasswd") { + for (split(/:/,$ENV{PATH})) { + if (-x "$cmd") { + $vncClasses = $exedir."../vnc/classes"; + next cmd3; + } + } + die "$prog: couldn't find \"$cmd\".\n"; + } + } + + if (!defined($ENV{HOME})) { + die "$prog: The HOME environment variable is not set.\n"; + } + + # + # Find socket constants. 'use Socket' is a perl5-ism, so we wrap it in an + # eval, and if it fails we try 'require "sys/socket.ph"'. If this fails, + # we just guess at the values. If you find perl moaning here, just + # hard-code the values of AF_INET and SOCK_STREAM. You can find these out + # for your platform by looking in /usr/include/sys/socket.h and related + # files. + # + + chop($os = `uname`); + chop($osrev = `uname -r`); + + eval 'use Socket'; + if ($@) { + eval 'require "sys/socket.ph"'; + if ($@) { + if (($os eq "SunOS") && ($osrev !~ /^4/)) { + $AF_INET = 2; + $SOCK_STREAM = 2; + } else { + $AF_INET = 2; + $SOCK_STREAM = 1; + } + } else { + $AF_INET = &AF_INET; + $SOCK_STREAM = &SOCK_STREAM; + } + } else { + $AF_INET = &AF_INET; + $SOCK_STREAM = &SOCK_STREAM; + } +} diff --git a/jupyter_desktop/share/tigervnc/bin/vncviewer b/jupyter_desktop/share/tigervnc/bin/vncviewer new file mode 100755 index 0000000..2841df1 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/bin/vncviewer differ diff --git a/jupyter_desktop/share/tigervnc/bin/x0vncserver b/jupyter_desktop/share/tigervnc/bin/x0vncserver new file mode 100755 index 0000000..68e79a4 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/bin/x0vncserver differ diff --git a/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so b/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so new file mode 100755 index 0000000..96864b8 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/lib64/swrast_dri.so differ diff --git a/jupyter_desktop/share/tigervnc/lib64/xorg/protocol.txt b/jupyter_desktop/share/tigervnc/lib64/xorg/protocol.txt new file mode 100755 index 0000000..8e152ed --- /dev/null +++ b/jupyter_desktop/share/tigervnc/lib64/xorg/protocol.txt @@ -0,0 +1,1103 @@ +# Registry of protocol names used by X Server +# This will eventually be replaced by server-side XCB +# +# Format is Xnnn : +# R=Request, V=Event, E=Error +# +# This is a security-sensitive file, please set permissions as appropriate. +# +R001 Adobe-DPS-Extension:Init +R002 Adobe-DPS-Extension:CreateContext +R003 Adobe-DPS-Extension:CreateSpace +R004 Adobe-DPS-Extension:GiveInput +R005 Adobe-DPS-Extension:GetStatus +R006 Adobe-DPS-Extension:DestroySpace +R007 Adobe-DPS-Extension:Reset +R008 Adobe-DPS-Extension:NotifyContext +R009 Adobe-DPS-Extension:CreateContextFromID +R010 Adobe-DPS-Extension:XIDFromContext +R011 Adobe-DPS-Extension:ContextFromXID +R012 Adobe-DPS-Extension:SetStatusMask +R013 Adobe-DPS-Extension:CreateSecureContext +R014 Adobe-DPS-Extension:NotifyWhenReady +R000 Apple-DRI:QueryVersion +R001 Apple-DRI:QueryDirectRenderingCapable +R002 Apple-DRI:CreateSurface +R003 Apple-DRI:DestroySurface +R004 Apple-DRI:AuthConnection +V000 Apple-DRI:ObsoleteEvent1 +V001 Apple-DRI:ObsoleteEvent2 +V002 Apple-DRI:ObsoleteEvent3 +V003 Apple-DRI:SurfaceNotify +E000 Apple-DRI:ClientNotLocal +E001 Apple-DRI:OperationNotSupported +R000 Apple-WM:QueryVersion +R001 Apple-WM:FrameGetRect +R002 Apple-WM:FrameHitTest +R003 Apple-WM:FrameDraw +R004 Apple-WM:DisableUpdate +R005 Apple-WM:ReenableUpdate +R006 Apple-WM:SelectInput +R007 Apple-WM:SetWindowMenuCheck +R008 Apple-WM:SetFrontProcess +R009 Apple-WM:SetWindowLevel +R010 Apple-WM:SetCanQuit +R011 Apple-WM:SetWindowMenu +V000 Apple-WM:ControllerNotify +V001 Apple-WM:ActivationNotify +V002 Apple-WM:PasteboardNotify +E000 Apple-WM:ClientNotLocal +E001 Apple-WM:OperationNotSupported +R000 BIG-REQUESTS:Enable +R000 Composite:CompositeQueryVersion +R001 Composite:CompositeRedirectWindow +R002 Composite:CompositeRedirectSubwindows +R003 Composite:CompositeUnredirectWindow +R004 Composite:CompositeUnredirectSubwindows +R005 Composite:CompositeCreateRegionFromBorderClip +R006 Composite:CompositeNameWindowPixmap +R007 Composite:CompositeGetOverlayWindow +R008 Composite:CompositeReleaseOverlayWindow +R000 DAMAGE:QueryVersion +R001 DAMAGE:Create +R002 DAMAGE:Destroy +R003 DAMAGE:Subtract +R004 DAMAGE:Add +V000 DAMAGE:Notify +E000 DAMAGE:BadDamage +R000 DEC-XTRAP:Reset +R001 DEC-XTRAP:GetAvailable +R002 DEC-XTRAP:Config +R003 DEC-XTRAP:StartTrap +R004 DEC-XTRAP:StopTrap +R005 DEC-XTRAP:GetCurrent +R006 DEC-XTRAP:GetStatistics +R007 DEC-XTRAP:SimulateXEvent +R008 DEC-XTRAP:GetVersion +R009 DEC-XTRAP:GetLastInpTime +V000 DEC-XTRAP:Event +E002 DEC-XTRAP:BadIO +E004 DEC-XTRAP:BadStatistics +E005 DEC-XTRAP:BadDevices +E007 DEC-XTRAP:BadScreen +E008 DEC-XTRAP:BadSwapReq +R000 DMX:DMXQueryVersion +R001 DMX:DMXGetScreenCount +R002 DMX:DMXGetScreenInfoDEPRECATED +R003 DMX:DMXGetWindowAttributes +R004 DMX:DMXGetInputCount +R005 DMX:DMXGetInputAttributes +R006 DMX:DMXForceWindowCreationDEPRECATED +R007 DMX:DMXReconfigureScreenDEPRECATED +R008 DMX:DMXSync +R009 DMX:DMXForceWindowCreation +R010 DMX:DMXGetScreenAttributes +R011 DMX:DMXChangeScreensAttributes +R012 DMX:DMXAddScreen +R013 DMX:DMXRemoveScreen +R014 DMX:DMXGetDesktopAttributes +R015 DMX:DMXChangeDesktopAttributes +R016 DMX:DMXAddInput +R017 DMX:DMXRemoveInput +R000 DOUBLE-BUFFER:GetVersion +R001 DOUBLE-BUFFER:AllocateBackBufferName +R002 DOUBLE-BUFFER:DeallocateBackBufferName +R003 DOUBLE-BUFFER:SwapBuffers +R004 DOUBLE-BUFFER:BeginIdiom +R005 DOUBLE-BUFFER:EndIdiom +R006 DOUBLE-BUFFER:GetVisualInfo +R007 DOUBLE-BUFFER:GetBackBufferAttributes +E000 DOUBLE-BUFFER:BadBuffer +R000 DPMS:GetVersion +R001 DPMS:Capable +R002 DPMS:GetTimeouts +R003 DPMS:SetTimeouts +R004 DPMS:Enable +R005 DPMS:Disable +R006 DPMS:ForceLevel +R007 DPMS:Info +R000 DRI2:QueryVersion +R001 DRI2:Connect +R002 DRI2:Authenticate +R003 DRI2:CreateDrawable +R004 DRI2:DestroyDrawable +R005 DRI2:GetBuffers +R006 DRI2:CopyRegion +R007 DRI2:GetBuffersWithFormat +R000 Extended-Visual-Information:QueryVersion +R001 Extended-Visual-Information:GetVisualInfo +R000 FontCache:QueryVersion +R001 FontCache:GetCacheSettings +R002 FontCache:ChangeCacheSettings +R003 FontCache:GetCacheStatistics +E000 FontCache:BadProtocol +E001 FontCache:CannotAllocMemory +R001 GLX: +R002 GLX:Large +R003 GLX:CreateContext +R004 GLX:DestroyContext +R005 GLX:MakeCurrent +R006 GLX:IsDirect +R007 GLX:QueryVersion +R008 GLX:WaitGL +R009 GLX:WaitX +R010 GLX:CopyContext +R011 GLX:SwapBuffers +R012 GLX:UseXFont +R013 GLX:CreateGLXPixmap +R014 GLX:GetVisualConfigs +R015 GLX:DestroyGLXPixmap +R016 GLX:VendorPrivate +R017 GLX:VendorPrivateWithReply +R018 GLX:QueryExtensionsString +R019 GLX:QueryServerString +R020 GLX:ClientInfo +R101 GLX:NewList +R102 GLX:EndList +R103 GLX:DeleteLists +R104 GLX:GenLists +R105 GLX:FeedbackBuffer +R106 GLX:SelectBuffer +R107 GLX:Mode +R108 GLX:Finish +R109 GLX:PixelStoref +R110 GLX:PixelStorei +R111 GLX:ReadPixels +R112 GLX:GetBooleanv +R113 GLX:GetClipPlane +R114 GLX:GetDoublev +R115 GLX:GetError +R116 GLX:GetFloatv +R117 GLX:GetIntegerv +R118 GLX:GetLightfv +R119 GLX:GetLightiv +R120 GLX:GetMapdv +R121 GLX:GetMapfv +R122 GLX:GetMapiv +R123 GLX:GetMaterialfv +R124 GLX:GetMaterialiv +R125 GLX:GetPixelfv +R126 GLX:GetPixelMapuiv +R127 GLX:GetPixelMapusv +R128 GLX:GetPolygonStipple +R129 GLX:GetString +R130 GLX:GetTexEnvfv +R131 GLX:GetTexEnviv +R132 GLX:GetTexGendv +R133 GLX:GetTexGenfv +R134 GLX:GetTexGeniv +R135 GLX:GetTexImage +R136 GLX:GetTexParameterfv +R137 GLX:GetTexParameteriv +R138 GLX:GetTexLevelParameterfv +R139 GLX:GetTexLevelParameteriv +R140 GLX:IsEnabled +R141 GLX:IsList +R142 GLX:Flush +E000 GLX:BadContext +E001 GLX:BadContextState +E002 GLX:BadDrawable +E003 GLX:BadPixmap +E004 GLX:BadContextTag +E005 GLX:BadCurrentWindow +E006 GLX:BadRenderRequest +E007 GLX:BadLargeRequest +E008 GLX:UnsupportedPrivateRequest +R000 LBX:QueryVersion +R001 LBX:StartProxy +R002 LBX:StopProxy +R003 LBX:Switch +R004 LBX:NewClient +R005 LBX:CloseClient +R006 LBX:ModifySequence +R007 LBX:AllowMotion +R008 LBX:IncrementPixel +R009 LBX:Delta +R010 LBX:GetModifierMapping +R011 LBX:QueryTag +R012 LBX:InvalidateTag +R013 LBX:PolyPoint +R014 LBX:PolyLine +R015 LBX:PolySegment +R016 LBX:PolyRectangle +R017 LBX:PolyArc +R018 LBX:FillPoly +R019 LBX:PolyFillRectangle +R020 LBX:PolyFillArc +R021 LBX:GetKeyboardMapping +R022 LBX:QueryFont +R023 LBX:ChangeProperty +R024 LBX:GetProperty +R025 LBX:TagData +R026 LBX:CopyArea +R027 LBX:CopyPlane +R028 LBX:PolyText8 +R029 LBX:PolyText16 +R030 LBX:ImageText8 +R031 LBX:ImageText16 +R032 LBX:QueryExtension +R033 LBX:PutImage +R034 LBX:GetImage +R035 LBX:BeginLargeRequest +R036 LBX:LargeRequestData +R037 LBX:EndLargeRequest +R038 LBX:InternAtoms +R039 LBX:GetWinAttrAndGeom +R040 LBX:GrabCmap +R041 LBX:ReleaseCmap +R042 LBX:AllocColor +R043 LBX:Sync +E000 LBX:BadLbxClient +R000 MIT-SCREEN-SAVER:QueryVersion +R001 MIT-SCREEN-SAVER:QueryInfo +R002 MIT-SCREEN-SAVER:SelectInput +R003 MIT-SCREEN-SAVER:SetAttributes +R004 MIT-SCREEN-SAVER:UnsetAttributes +R005 MIT-SCREEN-SAVER:Suspend +V000 MIT-SCREEN-SAVER:Notify +R000 MIT-SHM:QueryVersion +R001 MIT-SHM:Attach +R002 MIT-SHM:Detach +R003 MIT-SHM:PutImage +R004 MIT-SHM:GetImage +R005 MIT-SHM:CreatePixmap +V000 MIT-SHM:Completion +E000 MIT-SHM:BadShmSeg +R000 MIT-SUNDRY-NONSTANDARD:SetBugMode +R001 MIT-SUNDRY-NONSTANDARD:GetBugMode +R000 Multi-Buffering:GetBufferVersion +R001 Multi-Buffering:CreateImageBuffers +R002 Multi-Buffering:DestroyImageBuffers +R003 Multi-Buffering:DisplayImageBuffers +R004 Multi-Buffering:SetMBufferAttributes +R005 Multi-Buffering:GetMBufferAttributes +R006 Multi-Buffering:SetBufferAttributes +R007 Multi-Buffering:GetBufferAttributes +R008 Multi-Buffering:GetBufferInfo +R009 Multi-Buffering:CreateStereoWindow +R010 Multi-Buffering:ClearImageBufferArea +V000 Multi-Buffering:ClobberNotify +V001 Multi-Buffering:UpdateNotify +E000 Multi-Buffering:BadBuffer +R000 RANDR:QueryVersion +R001 RANDR:OldGetScreenInfo +R002 RANDR:SetScreenConfig +R003 RANDR:OldScreenChangeSelectInput +R004 RANDR:SelectInput +R005 RANDR:GetScreenInfo +R006 RANDR:GetScreenSizeRange +R007 RANDR:SetScreenSize +R008 RANDR:GetScreenResources +R009 RANDR:GetOutputInfo +R010 RANDR:ListOutputProperties +R011 RANDR:QueryOutputProperty +R012 RANDR:ConfigureOutputProperty +R013 RANDR:ChangeOutputProperty +R014 RANDR:DeleteOutputProperty +R015 RANDR:GetOutputProperty +R016 RANDR:CreateMode +R017 RANDR:DestroyMode +R018 RANDR:AddOutputMode +R019 RANDR:DeleteOutputMode +R020 RANDR:GetCrtcInfo +R021 RANDR:SetCrtcConfig +R022 RANDR:GetCrtcGammaSize +R023 RANDR:GetCrtcGamma +R024 RANDR:SetCrtcGamma +R025 RANDR:GetScreenResourcesCurrent +R026 RANDR:SetCrtcTransform +R027 RANDR:GetCrtcTransform +R028 RANDR:GetPanning +R029 RANDR:SetPanning +R030 RANDR:SetOutputPrimary +R031 RANDR:GetOutputPrimary +V000 RANDR:ScreenChangeNotify +V001 RANDR:Notify +E000 RANDR:BadRROutput +E001 RANDR:BadRRCrtc +E002 RANDR:BadRRMode +R000 RECORD:QueryVersion +R001 RECORD:CreateContext +R002 RECORD:RegisterClients +R003 RECORD:UnregisterClients +R004 RECORD:GetContext +R005 RECORD:EnableContext +R006 RECORD:DisableContext +R007 RECORD:FreeContext +E000 RECORD:BadContext +R000 RENDER:QueryVersion +R001 RENDER:QueryPictFormats +R002 RENDER:QueryPictIndexValues +R003 RENDER:QueryDithers +R004 RENDER:CreatePicture +R005 RENDER:ChangePicture +R006 RENDER:SetPictureClipRectangles +R007 RENDER:FreePicture +R008 RENDER:Composite +R009 RENDER:Scale +R010 RENDER:Trapezoids +R011 RENDER:Triangles +R012 RENDER:TriStrip +R013 RENDER:TriFan +R014 RENDER:ColorTrapezoids +R015 RENDER:ColorTriangles +R016 RENDER:Transform +R017 RENDER:CreateGlyphSet +R018 RENDER:ReferenceGlyphSet +R019 RENDER:FreeGlyphSet +R020 RENDER:AddGlyphs +R021 RENDER:AddGlyphsFromPicture +R022 RENDER:FreeGlyphs +R023 RENDER:CompositeGlyphs8 +R024 RENDER:CompositeGlyphs16 +R025 RENDER:CompositeGlyphs32 +R026 RENDER:FillRectangles +R027 RENDER:CreateCursor +R028 RENDER:SetPictureTransform +R029 RENDER:QueryFilters +R030 RENDER:SetPictureFilter +R031 RENDER:CreateAnimCursor +R032 RENDER:AddTraps +R033 RENDER:CreateSolidFill +R034 RENDER:CreateLinearGradient +R035 RENDER:CreateRadialGradient +R036 RENDER:CreateConicalGradient +E000 RENDER:BadPictFormat +E001 RENDER:BadPicture +E002 RENDER:BadPictOp +E003 RENDER:BadGlyphSet +E004 RENDER:BadGlyph +R000 SECURITY:QueryVersion +R001 SECURITY:GenerateAuthorization +R002 SECURITY:RevokeAuthorization +V000 SECURITY:AuthorizationRevoked +E000 SECURITY:BadAuthorization +E001 SECURITY:BadAuthorizationProtocol +R000 SELinux:SELinuxQueryVersion +R001 SELinux:SELinuxSetDeviceCreateContext +R002 SELinux:SELinuxGetDeviceCreateContext +R003 SELinux:SELinuxSetDeviceContext +R004 SELinux:SELinuxGetDeviceContext +R005 SELinux:SELinuxSetWindowCreateContext +R006 SELinux:SELinuxGetWindowCreateContext +R007 SELinux:SELinuxGetWindowContext +R008 SELinux:SELinuxSetPropertyCreateContext +R009 SELinux:SELinuxGetPropertyCreateContext +R010 SELinux:SELinuxSetPropertyUseContext +R011 SELinux:SELinuxGetPropertyUseContext +R012 SELinux:SELinuxGetPropertyContext +R013 SELinux:SELinuxGetPropertyDataContext +R014 SELinux:SELinuxListProperties +R015 SELinux:SELinuxSetSelectionCreateContext +R016 SELinux:SELinuxGetSelectionCreateContext +R017 SELinux:SELinuxSetSelectionUseContext +R018 SELinux:SELinuxGetSelectionUseContext +R019 SELinux:SELinuxGetSelectionContext +R020 SELinux:SELinuxGetSelectionDataContext +R021 SELinux:SELinuxListSelections +R022 SELinux:SELinuxGetClientContext +R000 SHAPE:QueryVersion +R001 SHAPE:Rectangles +R002 SHAPE:Mask +R003 SHAPE:Combine +R004 SHAPE:Offset +R005 SHAPE:QueryExtents +R006 SHAPE:SelectInput +R007 SHAPE:InputSelected +R008 SHAPE:GetRectangles +V000 SHAPE:Notify +R000 SYNC:Initialize +R001 SYNC:ListSystemCounters +R002 SYNC:CreateCounter +R003 SYNC:SetCounter +R004 SYNC:ChangeCounter +R005 SYNC:QueryCounter +R006 SYNC:DestroyCounter +R007 SYNC:Await +R008 SYNC:CreateAlarm +R009 SYNC:ChangeAlarm +R010 SYNC:QueryAlarm +R011 SYNC:DestroyAlarm +R012 SYNC:SetPriority +R013 SYNC:GetPriority +V000 SYNC:CounterNotify +V001 SYNC:AlarmNotify +E000 SYNC:BadCounter +E001 SYNC:BadAlarm +R000 TOG-CUP:QueryVersion +R001 TOG-CUP:GetReservedColormapEntries +R002 TOG-CUP:StoreColors +R000 Windows-WM:QueryVersion +R001 Windows-WM:FrameGetRect +R002 Windows-WM:FrameDraw +R003 Windows-WM:FrameSetTitle +R004 Windows-WM:DisableUpdate +R005 Windows-WM:ReenableUpdate +R006 Windows-WM:SelectInput +R007 Windows-WM:SetFrontProcess +V000 Windows-WM:ControllerNotify +V001 Windows-WM:ActivationNotify +E000 Windows-WM:ClientNotLocal +E001 Windows-WM:OperationNotSupported +R000 X-Resource:QueryVersion +R001 X-Resource:QueryClients +R002 X-Resource:QueryClientResources +R003 X-Resource:QueryClientPixmapBytes +R001 X11:CreateWindow +R002 X11:ChangeWindowAttributes +R003 X11:GetWindowAttributes +R004 X11:DestroyWindow +R005 X11:DestroySubwindows +R006 X11:ChangeSaveSet +R007 X11:ReparentWindow +R008 X11:MapWindow +R009 X11:MapSubwindows +R010 X11:UnmapWindow +R011 X11:UnmapSubwindows +R012 X11:ConfigureWindow +R013 X11:CirculateWindow +R014 X11:GetGeometry +R015 X11:QueryTree +R016 X11:InternAtom +R017 X11:GetAtomName +R018 X11:ChangeProperty +R019 X11:DeleteProperty +R020 X11:GetProperty +R021 X11:ListProperties +R022 X11:SetSelectionOwner +R023 X11:GetSelectionOwner +R024 X11:ConvertSelection +R025 X11:SendEvent +R026 X11:GrabPointer +R027 X11:UngrabPointer +R028 X11:GrabButton +R029 X11:UngrabButton +R030 X11:ChangeActivePointerGrab +R031 X11:GrabKeyboard +R032 X11:UngrabKeyboard +R033 X11:GrabKey +R034 X11:UngrabKey +R035 X11:AllowEvents +R036 X11:GrabServer +R037 X11:UngrabServer +R038 X11:QueryPointer +R039 X11:GetMotionEvents +R040 X11:TranslateCoords +R041 X11:WarpPointer +R042 X11:SetInputFocus +R043 X11:GetInputFocus +R044 X11:QueryKeymap +R045 X11:OpenFont +R046 X11:CloseFont +R047 X11:QueryFont +R048 X11:QueryTextExtents +R049 X11:ListFonts +R050 X11:ListFontsWithInfo +R051 X11:SetFontPath +R052 X11:GetFontPath +R053 X11:CreatePixmap +R054 X11:FreePixmap +R055 X11:CreateGC +R056 X11:ChangeGC +R057 X11:CopyGC +R058 X11:SetDashes +R059 X11:SetClipRectangles +R060 X11:FreeGC +R061 X11:ClearArea +R062 X11:CopyArea +R063 X11:CopyPlane +R064 X11:PolyPoint +R065 X11:PolyLine +R066 X11:PolySegment +R067 X11:PolyRectangle +R068 X11:PolyArc +R069 X11:FillPoly +R070 X11:PolyFillRectangle +R071 X11:PolyFillArc +R072 X11:PutImage +R073 X11:GetImage +R074 X11:PolyText8 +R075 X11:PolyText16 +R076 X11:ImageText8 +R077 X11:ImageText16 +R078 X11:CreateColormap +R079 X11:FreeColormap +R080 X11:CopyColormapAndFree +R081 X11:InstallColormap +R082 X11:UninstallColormap +R083 X11:ListInstalledColormaps +R084 X11:AllocColor +R085 X11:AllocNamedColor +R086 X11:AllocColorCells +R087 X11:AllocColorPlanes +R088 X11:FreeColors +R089 X11:StoreColors +R090 X11:StoreNamedColor +R091 X11:QueryColors +R092 X11:LookupColor +R093 X11:CreateCursor +R094 X11:CreateGlyphCursor +R095 X11:FreeCursor +R096 X11:RecolorCursor +R097 X11:QueryBestSize +R098 X11:QueryExtension +R099 X11:ListExtensions +R100 X11:ChangeKeyboardMapping +R101 X11:GetKeyboardMapping +R102 X11:ChangeKeyboardControl +R103 X11:GetKeyboardControl +R104 X11:Bell +R105 X11:ChangePointerControl +R106 X11:GetPointerControl +R107 X11:SetScreenSaver +R108 X11:GetScreenSaver +R109 X11:ChangeHosts +R110 X11:ListHosts +R111 X11:SetAccessControl +R112 X11:SetCloseDownMode +R113 X11:KillClient +R114 X11:RotateProperties +R115 X11:ForceScreenSaver +R116 X11:SetPointerMapping +R117 X11:GetPointerMapping +R118 X11:SetModifierMapping +R119 X11:GetModifierMapping +R127 X11:NoOperation +V000 X11:X_Error +V001 X11:X_Reply +V002 X11:KeyPress +V003 X11:KeyRelease +V004 X11:ButtonPress +V005 X11:ButtonRelease +V006 X11:MotionNotify +V007 X11:EnterNotify +V008 X11:LeaveNotify +V009 X11:FocusIn +V010 X11:FocusOut +V011 X11:KeymapNotify +V012 X11:Expose +V013 X11:GraphicsExpose +V014 X11:NoExpose +V015 X11:VisibilityNotify +V016 X11:CreateNotify +V017 X11:DestroyNotify +V018 X11:UnmapNotify +V019 X11:MapNotify +V020 X11:MapRequest +V021 X11:ReparentNotify +V022 X11:ConfigureNotify +V023 X11:ConfigureRequest +V024 X11:GravityNotify +V025 X11:ResizeRequest +V026 X11:CirculateNotify +V027 X11:CirculateRequest +V028 X11:PropertyNotify +V029 X11:SelectionClear +V030 X11:SelectionRequest +V031 X11:SelectionNotify +V032 X11:ColormapNotify +V033 X11:ClientMessage +V034 X11:MappingNotify +V035 X11:GenericEvent +E000 X11:Success +E001 X11:BadRequest +E002 X11:BadValue +E003 X11:BadWindow +E004 X11:BadPixmap +E005 X11:BadAtom +E006 X11:BadCursor +E007 X11:BadFont +E008 X11:BadMatch +E009 X11:BadDrawable +E010 X11:BadAccess +E011 X11:BadAlloc +E012 X11:BadColor +E013 X11:BadGC +E014 X11:BadIDChoice +E015 X11:BadName +E016 X11:BadLength +E017 X11:BadImplementation +R001 X3D-PEX:GetExtensionInfo +R002 X3D-PEX:GetEnumeratedTypeInfo +R003 X3D-PEX:GetImpDepConstants +R004 X3D-PEX:CreateLookupTable +R005 X3D-PEX:CopyLookupTable +R006 X3D-PEX:FreeLookupTable +R007 X3D-PEX:GetTableInfo +R008 X3D-PEX:GetPredefinedEntries +R009 X3D-PEX:GetDefinedIndices +R010 X3D-PEX:GetTableEntry +R011 X3D-PEX:GetTableEntries +R012 X3D-PEX:SetTableEntries +R013 X3D-PEX:DeleteTableEntries +R014 X3D-PEX:CreatePipelineContext +R015 X3D-PEX:CopyPipelineContext +R016 X3D-PEX:FreePipelineContext +R017 X3D-PEX:GetPipelineContext +R018 X3D-PEX:ChangePipelineContext +R019 X3D-PEX:CreateRenderer +R020 X3D-PEX:FreeRenderer +R021 X3D-PEX:ChangeRenderer +R022 X3D-PEX:GetRendererAttributes +R023 X3D-PEX:GetRendererDynamics +R024 X3D-PEX:BeginRendering +R025 X3D-PEX:EndRendering +R026 X3D-PEX:BeginStructure +R027 X3D-PEX:EndStructure +R028 X3D-PEX:OutputCommands +R029 X3D-PEX:Network +R030 X3D-PEX:CreateStructure +R031 X3D-PEX:CopyStructure +R032 X3D-PEX:DestroyStructures +R033 X3D-PEX:GetStructureInfo +R034 X3D-PEX:GetElementInfo +R035 X3D-PEX:GetStructuresInNetwork +R036 X3D-PEX:GetAncestors +R037 X3D-PEX:GetDescendants +R038 X3D-PEX:FetchElements +R039 X3D-PEX:SetEditingMode +R040 X3D-PEX:SetElementPointer +R041 X3D-PEX:SetElementPointerAtLabel +R042 X3D-PEX:ElementSearch +R043 X3D-PEX:StoreElements +R044 X3D-PEX:DeleteElements +R045 X3D-PEX:DeleteElementsToLabel +R046 X3D-PEX:DeleteBetweenLabels +R047 X3D-PEX:CopyElements +R048 X3D-PEX:ChangeStructureRefs +R049 X3D-PEX:CreateNameSet +R050 X3D-PEX:CopyNameSet +R051 X3D-PEX:FreeNameSet +R052 X3D-PEX:GetNameSet +R053 X3D-PEX:ChangeNameSet +R054 X3D-PEX:CreateSearchContext +R055 X3D-PEX:CopySearchContext +R056 X3D-PEX:FreeSearchContext +R057 X3D-PEX:GetSearchContext +R058 X3D-PEX:ChangeSearchContext +R059 X3D-PEX:SearchNetwork +R060 X3D-PEX:CreatePhigsWks +R061 X3D-PEX:FreePhigsWks +R062 X3D-PEX:GetWksInfo +R063 X3D-PEX:GetDynamics +R064 X3D-PEX:GetViewRep +R065 X3D-PEX:RedrawAllStructures +R066 X3D-PEX:UpdateWorkstation +R067 X3D-PEX:RedrawClipRegion +R068 X3D-PEX:ExecuteDeferredActions +R069 X3D-PEX:SetViewPriority +R070 X3D-PEX:SetDisplayUpdateMode +R071 X3D-PEX:MapDCtoWC +R072 X3D-PEX:MapWCtoDC +R073 X3D-PEX:SetViewRep +R074 X3D-PEX:SetWksWindow +R075 X3D-PEX:SetWksViewport +R076 X3D-PEX:SetHlhsrMode +R077 X3D-PEX:SetWksBufferMode +R078 X3D-PEX:PostStructure +R079 X3D-PEX:UnpostStructure +R080 X3D-PEX:UnpostAllStructures +R081 X3D-PEX:GetWksPostings +R082 X3D-PEX:GetPickDevice +R083 X3D-PEX:ChangePickDevice +R084 X3D-PEX:CreatePickMeasure +R085 X3D-PEX:FreePickMeasure +R086 X3D-PEX:GetPickMeasure +R087 X3D-PEX:UpdatePickMeasure +R088 X3D-PEX:OpenFont +R089 X3D-PEX:CloseFont +R090 X3D-PEX:QueryFont +R091 X3D-PEX:ListFonts +R092 X3D-PEX:ListFontsWithInfo +R093 X3D-PEX:QueryTextExtents +R094 X3D-PEX:MatchRenderingTargets +R095 X3D-PEX:Escape +R096 X3D-PEX:EscapeWithReply +R097 X3D-PEX:Elements +R098 X3D-PEX:AccumulateState +R099 X3D-PEX:BeginPickOne +R100 X3D-PEX:EndPickOne +R101 X3D-PEX:PickOne +R102 X3D-PEX:BeginPickAll +R103 X3D-PEX:EndPickAll +R104 X3D-PEX:PickAll +E000 X3D-PEX:ColorTypeError +E001 X3D-PEX:erStateError +E002 X3D-PEX:FloatingPointFormatError +E003 X3D-PEX:LabelError +E004 X3D-PEX:LookupTableError +E005 X3D-PEX:NameSetError +E006 X3D-PEX:PathError +E007 X3D-PEX:FontError +E008 X3D-PEX:PhigsWksError +E009 X3D-PEX:PickMeasureError +E010 X3D-PEX:PipelineContextError +E011 X3D-PEX:erError +E012 X3D-PEX:SearchContextError +E013 X3D-PEX:StructureError +E014 X3D-PEX:OutputCommandError +R000 XC-APPGROUP:QueryVersion +R001 XC-APPGROUP:Create +R002 XC-APPGROUP:Destroy +R003 XC-APPGROUP:GetAttr +R004 XC-APPGROUP:Query +R005 XC-APPGROUP:CreateAssoc +R006 XC-APPGROUP:DestroyAssoc +E000 XC-APPGROUP:BadAppGroup +R000 XC-MISC:GetVersion +R001 XC-MISC:GetXIDRange +R002 XC-MISC:GetXIDList +R000 XFIXES:QueryVersion +R001 XFIXES:ChangeSaveSet +R002 XFIXES:SelectSelectionInput +R003 XFIXES:SelectCursorInput +R004 XFIXES:GetCursorImage +R005 XFIXES:CreateRegion +R006 XFIXES:CreateRegionFromBitmap +R007 XFIXES:CreateRegionFromWindow +R008 XFIXES:CreateRegionFromGC +R009 XFIXES:CreateRegionFromPicture +R010 XFIXES:DestroyRegion +R011 XFIXES:SetRegion +R012 XFIXES:CopyRegion +R013 XFIXES:UnionRegion +R014 XFIXES:IntersectRegion +R015 XFIXES:SubtractRegion +R016 XFIXES:InvertRegion +R017 XFIXES:TranslateRegion +R018 XFIXES:RegionExtents +R019 XFIXES:FetchRegion +R020 XFIXES:SetGCClipRegion +R021 XFIXES:SetWindowShapeRegion +R022 XFIXES:SetPictureClipRegion +R023 XFIXES:SetCursorName +R024 XFIXES:GetCursorName +R025 XFIXES:GetCursorImageAndName +R026 XFIXES:ChangeCursor +R027 XFIXES:ChangeCursorByName +R028 XFIXES:ExpandRegion +R029 XFIXES:HideCursor +R030 XFIXES:ShowCursor +V000 XFIXES:SelectionNotify +V001 XFIXES:CursorNotify +E000 XFIXES:BadRegion +R000 XFree86-Bigfont:QueryVersion +R001 XFree86-Bigfont:QueryFont +R000 XFree86-DGA:QueryVersion +R001 XFree86-DGA:GetVideoLL +R002 XFree86-DGA:DirectVideo +R003 XFree86-DGA:GetViewPortSize +R004 XFree86-DGA:SetViewPort +R005 XFree86-DGA:GetVidPage +R006 XFree86-DGA:SetVidPage +R007 XFree86-DGA:InstallColormap +R008 XFree86-DGA:QueryDirectVideo +R009 XFree86-DGA:ViewPortChanged +R010 XFree86-DGA:Obsolete1 +R011 XFree86-DGA:Obsolete2 +R012 XFree86-DGA:QueryModes +R013 XFree86-DGA:SetMode +R014 XFree86-DGA:SetViewport +R015 XFree86-DGA:InstallColormap +R016 XFree86-DGA:SelectInput +R017 XFree86-DGA:FillRectangle +R018 XFree86-DGA:CopyArea +R019 XFree86-DGA:CopyTransparentArea +R020 XFree86-DGA:GetViewportStatus +R021 XFree86-DGA:Sync +R022 XFree86-DGA:OpenFramebuffer +R023 XFree86-DGA:CloseFramebuffer +R024 XFree86-DGA:SetClientVersion +R025 XFree86-DGA:ChangePixmapMode +R026 XFree86-DGA:CreateColormap +E000 XFree86-DGA:ClientNotLocal +E001 XFree86-DGA:NoDirectVideoMode +E002 XFree86-DGA:ScreenNotActive +E003 XFree86-DGA:DirectNotActivated +E004 XFree86-DGA:OperationNotSupported +R000 XFree86-DRI:QueryVersion +R001 XFree86-DRI:QueryDirectRenderingCapable +R002 XFree86-DRI:OpenConnection +R003 XFree86-DRI:CloseConnection +R004 XFree86-DRI:GetClientDriverName +R005 XFree86-DRI:CreateContext +R006 XFree86-DRI:DestroyContext +R007 XFree86-DRI:CreateDrawable +R008 XFree86-DRI:DestroyDrawable +R009 XFree86-DRI:GetDrawableInfo +R010 XFree86-DRI:GetDeviceInfo +R011 XFree86-DRI:AuthConnection +R012 XFree86-DRI:OpenFullScreen +R013 XFree86-DRI:CloseFullScreen +E000 XFree86-DRI:ClientNotLocal +E001 XFree86-DRI:OperationNotSupported +R000 XFree86-Misc:QueryVersion +R001 XFree86-Misc:GetSaver +R002 XFree86-Misc:SetSaver +R003 XFree86-Misc:GetMouseSettings +R004 XFree86-Misc:GetKbdSettings +R005 XFree86-Misc:SetMouseSettings +R006 XFree86-Misc:SetKbdSettings +R007 XFree86-Misc:SetGrabKeysState +R008 XFree86-Misc:SetClientVersion +R009 XFree86-Misc:GetFilePaths +R010 XFree86-Misc:PassMessage +E000 XFree86-Misc:BadMouseProtocol +E001 XFree86-Misc:BadMouseBaudRate +E002 XFree86-Misc:BadMouseFlags +E003 XFree86-Misc:BadMouseCombo +E004 XFree86-Misc:BadKbdType +E005 XFree86-Misc:ModInDevDisabled +E006 XFree86-Misc:ModInDevClientNotLocal +E007 XFree86-Misc:NoModule +R000 XFree86-VidModeExtension:QueryVersion +R001 XFree86-VidModeExtension:GetModeLine +R002 XFree86-VidModeExtension:ModModeLine +R003 XFree86-VidModeExtension:SwitchMode +R004 XFree86-VidModeExtension:GetMonitor +R005 XFree86-VidModeExtension:LockModeSwitch +R006 XFree86-VidModeExtension:GetAllModeLines +R007 XFree86-VidModeExtension:AddModeLine +R008 XFree86-VidModeExtension:DeleteModeLine +R009 XFree86-VidModeExtension:ValidateModeLine +R010 XFree86-VidModeExtension:SwitchToMode +R011 XFree86-VidModeExtension:GetViewPort +R012 XFree86-VidModeExtension:SetViewPort +R013 XFree86-VidModeExtension:GetDotClocks +R014 XFree86-VidModeExtension:SetClientVersion +R015 XFree86-VidModeExtension:SetGamma +R016 XFree86-VidModeExtension:GetGamma +R017 XFree86-VidModeExtension:GetGammaRamp +R018 XFree86-VidModeExtension:SetGammaRamp +R019 XFree86-VidModeExtension:GetGammaRampSize +R020 XFree86-VidModeExtension:GetPermissions +V000 XFree86-VidModeExtension:Notify +E000 XFree86-VidModeExtension:BadClock +E001 XFree86-VidModeExtension:BadHTimings +E002 XFree86-VidModeExtension:BadVTimings +E003 XFree86-VidModeExtension:ModeUnsuitable +E004 XFree86-VidModeExtension:ExtensionDisabled +E005 XFree86-VidModeExtension:ClientNotLocal +E006 XFree86-VidModeExtension:ZoomLocked +R001 XIE:QueryImageExtension +R002 XIE:QueryTechniques +R003 XIE:CreateColorList +R004 XIE:DestroyColorList +R005 XIE:PurgeColorList +R006 XIE:QueryColorList +R007 XIE:CreateLUT +R008 XIE:DestroyLUT +R009 XIE:CreatePhotomap +R010 XIE:DestroyPhotomap +R011 XIE:QueryPhotomap +R012 XIE:CreateROI +R013 XIE:DestroyROI +R014 XIE:CreatePhotospace +R015 XIE:DestroyPhotospace +R016 XIE:ExecuteImmediate +R017 XIE:CreatePhotoflo +R018 XIE:DestroyPhotoflo +R019 XIE:ExecutePhotoflo +R020 XIE:ModifyPhotoflo +R021 XIE:RedefinePhotoflo +R022 XIE:PutClientData +R023 XIE:GetClientData +R024 XIE:QueryPhotoflo +R025 XIE:Await +R026 XIE:Abort +E000 XIE:ColorListError +E001 XIE:LUTError +E002 XIE:PhotofloError +E003 XIE:PhotomapError +E004 XIE:PhotospaceError +E005 XIE:ROIError +E006 XIE:FloError +R000 XINERAMA:QueryVersion +R001 XINERAMA:GetState +R002 XINERAMA:GetScreenCount +R003 XINERAMA:GetScreenSize +R004 XINERAMA:IsActive +R005 XINERAMA:QueryScreens +R001 XInputExtension:GetExtensionVersion +R002 XInputExtension:ListInputDevices +R003 XInputExtension:OpenDevice +R004 XInputExtension:CloseDevice +R005 XInputExtension:SetDeviceMode +R006 XInputExtension:SelectExtensionEvent +R007 XInputExtension:GetSelectedExtensionEvents +R008 XInputExtension:ChangeDeviceDontPropagateList +R009 XInputExtension:GetDeviceDontPropagageList +R010 XInputExtension:GetDeviceMotionEvents +R011 XInputExtension:ChangeKeyboardDevice +R012 XInputExtension:ChangePointerDevice +R013 XInputExtension:GrabDevice +R014 XInputExtension:UngrabDevice +R015 XInputExtension:GrabDeviceKey +R016 XInputExtension:UngrabDeviceKey +R017 XInputExtension:GrabDeviceButton +R018 XInputExtension:UngrabDeviceButton +R019 XInputExtension:AllowDeviceEvents +R020 XInputExtension:GetDeviceFocus +R021 XInputExtension:SetDeviceFocus +R022 XInputExtension:GetFeedbackControl +R023 XInputExtension:ChangeFeedbackControl +R024 XInputExtension:GetDeviceKeyMapping +R025 XInputExtension:ChangeDeviceKeyMapping +R026 XInputExtension:GetDeviceModifierMapping +R027 XInputExtension:SetDeviceModifierMapping +R028 XInputExtension:GetDeviceButtonMapping +R029 XInputExtension:SetDeviceButtonMapping +R030 XInputExtension:QueryDeviceState +R031 XInputExtension:SendExtensionEvent +R032 XInputExtension:DeviceBell +R033 XInputExtension:SetDeviceValuators +R034 XInputExtension:GetDeviceControl +R035 XInputExtension:ChangeDeviceControl +R036 XInputExtension:ListDeviceProperties +R037 XInputExtension:ChangeDeviceProperty +R038 XInputExtension:DeleteDeviceProperty +R039 XInputExtension:GetDeviceProperty +R040 XInputExtension:QueryPointer +R041 XInputExtension:WarpPointer +R042 XInputExtension:ChangeCursor +R043 XInputExtension:ChangeHierarchy +R044 XInputExtension:SetClientPointer +R045 XInputExtension:GetClientPointer +R046 XInputExtension:SelectEvents +R047 XInputExtension:QueryVersion +R048 XInputExtension:QueryDevice +R049 XInputExtension:SetFocus +R050 XInputExtension:GetFocus +R051 XInputExtension:GrabDevice +R052 XInputExtension:UngrabDevice +R053 XInputExtension:AllowEvents +R054 XInputExtension:PassiveGrabDevice +R055 XInputExtension:PassiveUngrabDevice +R056 XInputExtension:ListProperties +R057 XInputExtension:ChangeProperty +R058 XInputExtension:DeleteProperty +R059 XInputExtension:GetProperty +R060 XInputExtension:GetSelectedEvents +V000 XInputExtension:DeviceValuator +V001 XInputExtension:DeviceKeyPress +V002 XInputExtension:DeviceKeyRelease +V003 XInputExtension:DeviceButtonPress +V004 XInputExtension:DeviceButtonRelease +V005 XInputExtension:DeviceMotionNotify +V006 XInputExtension:DeviceFocusIn +V007 XInputExtension:DeviceFocusOut +V008 XInputExtension:ProximityIn +V009 XInputExtension:ProximityOut +V010 XInputExtension:DeviceStateNotify +V011 XInputExtension:DeviceMappingNotify +V012 XInputExtension:ChangeDeviceNotify +V013 XInputExtension:DeviceKeystateNotify +V014 XInputExtension:DeviceButtonstateNotify +V015 XInputExtension:DevicePresenceNotify +V016 XInputExtension:DevicePropertyNotify +E000 XInputExtension:BadDevice +E001 XInputExtension:BadEvent +E002 XInputExtension:BadMode +E003 XInputExtension:DeviceBusy +E004 XInputExtension:BadClass +R000 XKEYBOARD:UseExtension +R001 XKEYBOARD:SelectEvents +R002 XKEYBOARD:Obsolete +R003 XKEYBOARD:Bell +R004 XKEYBOARD:GetState +R005 XKEYBOARD:LatchLockState +R006 XKEYBOARD:GetControls +R007 XKEYBOARD:SetControls +R008 XKEYBOARD:GetMap +R009 XKEYBOARD:SetMap +R010 XKEYBOARD:GetCompatMap +R011 XKEYBOARD:SetCompatMap +R012 XKEYBOARD:GetIndicatorState +R013 XKEYBOARD:GetIndicatorMap +R014 XKEYBOARD:SetIndicatorMap +R015 XKEYBOARD:GetNamedIndicator +R016 XKEYBOARD:SetNamedIndicator +R017 XKEYBOARD:GetNames +R018 XKEYBOARD:SetNames +R019 XKEYBOARD:GetGeometry +R020 XKEYBOARD:SetGeometry +R021 XKEYBOARD:PerClientFlags +R022 XKEYBOARD:ListComponents +R023 XKEYBOARD:GetKbdByName +R024 XKEYBOARD:GetDeviceInfo +R025 XKEYBOARD:SetDeviceInfo +R101 XKEYBOARD:SetDebuggingFlags +V000 XKEYBOARD:EventCode +E000 XKEYBOARD:BadKeyboard +R000 XTEST:GetVersion +R001 XTEST:CompareCursor +R002 XTEST:FakeInput +R003 XTEST:GrabControl +R000 XVideo:QueryExtension +R001 XVideo:QueryAdaptors +R002 XVideo:QueryEncodings +R003 XVideo:GrabPort +R004 XVideo:UngrabPort +R005 XVideo:PutVideo +R006 XVideo:PutStill +R007 XVideo:GetVideo +R008 XVideo:GetStill +R009 XVideo:StopVideo +R010 XVideo:SelectVideoNotify +R011 XVideo:SelectPortNotify +R012 XVideo:QueryBestSize +R013 XVideo:SetPortAttribute +R014 XVideo:GetPortAttribute +R015 XVideo:QueryPortAttributes +R016 XVideo:ListImageFormats +R017 XVideo:QueryImageAttributes +R018 XVideo:PutImage +R019 XVideo:ShmPutImage +V000 XVideo:VideoNotify +V001 XVideo:PortNotify +E000 XVideo:BadPort +E001 XVideo:BadEncoding +E002 XVideo:BadControl +R000 XVideo-MotionCompensation:QueryVersion +R001 XVideo-MotionCompensation:ListSurfaceTypes +R002 XVideo-MotionCompensation:CreateContext +R003 XVideo-MotionCompensation:DestroyContext +R004 XVideo-MotionCompensation:CreateSurface +R005 XVideo-MotionCompensation:DestroySurface +R006 XVideo-MotionCompensation:CreateSubpicture +R007 XVideo-MotionCompensation:DestroySubpicture +R008 XVideo-MotionCompensation:ListSubpictureTypes +R009 XVideo-MotionCompensation:GetDRInfo +E000 XVideo-MotionCompensation:BadContext +E001 XVideo-MotionCompensation:BadSurface +E002 XVideo-MotionCompensation:BadSubpicture +R000 XpExtension:QueryVersion +R001 XpExtension:GetPrinterList +R002 XpExtension:CreateContext +R003 XpExtension:SetContext +R004 XpExtension:GetContext +R005 XpExtension:DestroyContext +R006 XpExtension:GetContextScreen +R007 XpExtension:StartJob +R008 XpExtension:EndJob +R009 XpExtension:StartDoc +R010 XpExtension:EndDoc +R011 XpExtension:PutDocumentData +R012 XpExtension:GetDocumentData +R013 XpExtension:StartPage +R014 XpExtension:EndPage +R015 XpExtension:SelectInput +R016 XpExtension:InputSelected +R017 XpExtension:GetAttributes +R018 XpExtension:SetAttributes +R019 XpExtension:GetOneAttribute +R020 XpExtension:RehashPrinterList +R021 XpExtension:GetPageDimensions +R022 XpExtension:QueryScreens +R023 XpExtension:SetImageResolution +R024 XpExtension:GetImageResolution +V000 XpExtension:PrintNotify +V001 XpExtension:AttributeNotify +E000 XpExtension:BadContext +E001 XpExtension:BadSequence +E002 XpExtension:BadResourceID diff --git a/jupyter_desktop/share/tigervnc/share/applications/vncviewer.desktop b/jupyter_desktop/share/tigervnc/share/applications/vncviewer.desktop new file mode 100644 index 0000000..8e14cae --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/applications/vncviewer.desktop @@ -0,0 +1,51 @@ +[Desktop Entry] +Name[bg]=Визуализатор на TigerVNC +Name[cs]=Prohlížeč TigerVNC +Name[da]=TigerVNC-fremviser +Name[de]=TigerVNC-Betrachter +Name[el]=Θεατής TigerVNC +Name[eo]=Rigardilo TigerVNC +Name[es]=Visor TigerVNC +Name[fi]=TigerVNC-selain +Name[fr]=Visionneuse TigerVNC +Name[fur]=Visualizadôr TigerVNC +Name[hu]=TigerVNC megjelenítő +Name[id]=Penampil TigerVNC +Name[nl]=TigerVNC-viewer +Name[pt_BR]=Visualizador TigerVNC +Name[ru]=TigerVNC Viewer +Name[sr]=Прегледач ТигарВНЦ +Name[sv]=VNC-visare +Name[tr]=TigerVNC Görüntüleyici +Name[uk]=Засіб перегляду TigerVNC +Name[vi]=Bộ xem TigerVNC +Name[zh_CN]=TigerVNC 查看器 +Name=TigerVNC Viewer +GenericName[cs]=Prohlížeč vzdálené plochy +GenericName[pt_BR]=Visualização de área de trabalho remota +GenericName[ru]=Просмотр удалённых рабочих столов +GenericName[sv]=Fjärrskrivbordsvisare +GenericName[uk]=Засіб перегляду віддаленої стільниці +GenericName[vi]=Trình xem màn hình từ xa +GenericName=Remote Desktop Viewer +Comment[cs]=Připojí se k severu VNC a zobrazí vzdálenou plochu +Comment[da]=Opret forbindelse til VNC-server og vis fjern-skrivebord +Comment[fr]=Se connecter à un serveur VNC et afficher le bureau distant +Comment[pt_BR]=Conecte a um servidor VNC e exiba a área de trabalho remota +Comment[ru]=Подключиться к серверу VNC и показать удалённый рабочий стол +Comment[sv]=Anslut till en VNC-server och visa ett fjärrskrivbord +Comment[uk]=З'єднання із сервером VNC і показ віддаленої стільниці +Comment[vi]=Kết nối đến máy phục vụ VNC và hiển thị màn hình từ xa +Comment=Connect to VNC server and display remote desktop +Exec=/usr/bin/vncviewer +Icon[cs]=tigervnc +Icon[pt_BR]=tigervnc +Icon[ru]=tigervnc +Icon[sv]=tigervnc +Icon[uk]=tigervnc +Icon[vi]=tigervnc +Icon=tigervnc +Terminal=false +Type=Application +StartupWMClass=TigerVNC Viewer: Connection Details +Categories=Network;RemoteAccess; diff --git a/jupyter_desktop/share/tigervnc/share/doc/tigervnc-1.9.0/LICENCE.TXT b/jupyter_desktop/share/tigervnc/share/doc/tigervnc-1.9.0/LICENCE.TXT new file mode 100644 index 0000000..ae3b531 --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/doc/tigervnc-1.9.0/LICENCE.TXT @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/jupyter_desktop/share/tigervnc/share/doc/tigervnc-1.9.0/README.rst b/jupyter_desktop/share/tigervnc/share/doc/tigervnc-1.9.0/README.rst new file mode 100644 index 0000000..0f11ba3 --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/doc/tigervnc-1.9.0/README.rst @@ -0,0 +1,178 @@ +About TigerVNC +============== + +Virtual Network Computing (VNC) is a remote display system which allows you to +view and interact with a virtual desktop environment that is running on another +computer on the network. Using VNC, you can run graphical applications on a +remote machine and send only the display from these applications to your local +machine. VNC is platform-independent and supports a wide variety of operating +systems and architectures as both servers and clients. + +TigerVNC is a high-speed version of VNC based on the RealVNC 4 and X.org code +bases. TigerVNC started as a next-generation development effort for TightVNC +on Unix and Linux platforms, but it split from its parent project in early 2009 +so that TightVNC could focus on Windows platforms. TigerVNC supports a variant +of Tight encoding that is greatly accelerated by the use of the libjpeg-turbo +JPEG codec. + + +Legal +===== + +Incomplete and generally out of date copyright list:: + + Copyright (C) 1999 AT&T Laboratories Cambridge + Copyright (C) 2002-2005 RealVNC Ltd. + Copyright (C) 2000-2006 TightVNC Group + Copyright (C) 2005-2006 Martin Koegler + Copyright (C) 2005-2006 Sun Microsystems, Inc. + Copyright (C) 2006 OCCAM Financial Technology + Copyright (C) 2000-2008 Constantin Kaplinsky + Copyright (C) 2004-2017 Peter Astrand for Cendio AB + Copyright (C) 2010 Antoine Martin + Copyright (C) 2010 m-privacy GmbH + Copyright (C) 2009-2011 D. R. Commander + Copyright (C) 2009-2011 Pierre Ossman for Cendio AB + Copyright (C) 2004, 2009-2011 Red Hat, Inc. + Copyright (C) 2009-2018 TigerVNC Team + All Rights Reserved. + +This software is distributed under the GNU General Public Licence as published +by the Free Software Foundation. See the file LICENCE.TXT for the conditions +under which this software is made available. TigerVNC also contains code from +other sources. See the Acknowledgements section below, and the individual +source files, for details of the conditions under which they are made +available. + + +All Platforms +============= + +All versions of TigerVNC contain the following programs: + +* vncviewer - the cross-platform TigerVNC Viewer, written using FLTK. + vncviewer connects to a VNC server and allows you to interact + with the remote desktop being displayed by the VNC server. The + VNC server can be running on a Windows or a Unix/Linux machine. + + +Windows-Specific +================ + +The Windows version of TigerVNC contains the following programs: + +* winvnc - the TigerVNC Server for Windows. winvnc allows a Windows desktop to + be accessed remotely using a VNC viewer. + +winvnc may not work if the Fast User Switching or Remote Desktop features are +in use. + + +Unix/Linux-Specific (not Mac) +============================= + +The Unix/Linux version of TigerVNC contains the following programs: + +* Xvnc - the TigerVNC Server for Unix. Xvnc is both a VNC server and an X + server with a "virtual" framebuffer. You should normally use the + vncserver script to start Xvnc. + +* vncserver - a wrapper script which makes starting Xvnc more convenient. + vncserver requires Perl. + +* vncpasswd - a program which allows you to change the VNC password used to + access your VNC server sessions (assuming that VNC authentication + is being used.) The vncserver script will automatically launch + this program if it detects that VNC authentication is in use and + a VNC password has not yet been configured. + +* vncconfig - a program which is used to configure and control a running + instance of Xvnc. + +* x0vncserver - an inefficient VNC server which continuously polls any X + display, allowing it to be controlled via VNC. It is intended + mainly as a demonstration of a simple VNC server. + + +ACKNOWLEDGEMENTS +================ + +This distribution contains zlib compression software. This is: + + Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt + (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). + + +This distribution contains public domain DES software by Richard Outerbridge. +This is: + + Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge. + (GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992. + + +This distribution contains software from the X Window System. This is: + + Copyright 1987, 1988, 1998 The Open Group + + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of The Open Group shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from The Open Group. + + + Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation, and that the name of Digital not be + used in advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. diff --git a/jupyter_desktop/share/tigervnc/share/icons/hicolor/16x16/apps/tigervnc.png b/jupyter_desktop/share/tigervnc/share/icons/hicolor/16x16/apps/tigervnc.png new file mode 100644 index 0000000..3742592 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/icons/hicolor/16x16/apps/tigervnc.png differ diff --git a/jupyter_desktop/share/tigervnc/share/icons/hicolor/22x22/apps/tigervnc.png b/jupyter_desktop/share/tigervnc/share/icons/hicolor/22x22/apps/tigervnc.png new file mode 100644 index 0000000..7354d28 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/icons/hicolor/22x22/apps/tigervnc.png differ diff --git a/jupyter_desktop/share/tigervnc/share/icons/hicolor/24x24/apps/tigervnc.png b/jupyter_desktop/share/tigervnc/share/icons/hicolor/24x24/apps/tigervnc.png new file mode 100644 index 0000000..8825281 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/icons/hicolor/24x24/apps/tigervnc.png differ diff --git a/jupyter_desktop/share/tigervnc/share/icons/hicolor/32x32/apps/tigervnc.png b/jupyter_desktop/share/tigervnc/share/icons/hicolor/32x32/apps/tigervnc.png new file mode 100644 index 0000000..33d4c3b Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/icons/hicolor/32x32/apps/tigervnc.png differ diff --git a/jupyter_desktop/share/tigervnc/share/icons/hicolor/48x48/apps/tigervnc.png b/jupyter_desktop/share/tigervnc/share/icons/hicolor/48x48/apps/tigervnc.png new file mode 100644 index 0000000..d4d36a5 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/icons/hicolor/48x48/apps/tigervnc.png differ diff --git a/jupyter_desktop/share/tigervnc/share/icons/hicolor/scalable/apps/tigervnc.svg b/jupyter_desktop/share/tigervnc/share/icons/hicolor/scalable/apps/tigervnc.svg new file mode 100644 index 0000000..f6aa52a --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/icons/hicolor/scalable/apps/tigervnc.svg @@ -0,0 +1,440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jupyter_desktop/share/tigervnc/share/locale/bg/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/bg/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..c2099f7 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/bg/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/cs/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/cs/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..0a54b45 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/cs/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/da/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/da/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..f72cfa3 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/da/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/de/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/de/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..f1aeeaf Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/de/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/el/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/el/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..d7c236b Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/el/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/eo/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/eo/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..218be22 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/eo/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/es/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/es/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..4952268 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/es/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/fi/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/fi/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..22cd6ef Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/fi/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/fr/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/fr/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..5344e8a Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/fr/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/fur/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/fur/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..0f1d8f0 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/fur/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/hu/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/hu/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..f23e398 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/hu/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/id/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/id/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..ea27bd1 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/id/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/it/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/it/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..1d6b42e Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/it/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/nl/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/nl/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..2cc9453 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/nl/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/pl/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/pl/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..b514494 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/pl/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/pt_BR/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/pt_BR/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..eff69c1 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/pt_BR/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/ru/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/ru/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..c768177 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/ru/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/sk/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/sk/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..764fcf5 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/sk/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/sr/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/sr/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..f61a060 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/sr/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/sv/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/sv/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..61c7bc1 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/sv/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/tr/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/tr/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..452d235 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/tr/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/uk/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/uk/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..69e805f Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/uk/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/vi/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/vi/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..ec9c21a Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/vi/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/locale/zh_CN/LC_MESSAGES/tigervnc.mo b/jupyter_desktop/share/tigervnc/share/locale/zh_CN/LC_MESSAGES/tigervnc.mo new file mode 100644 index 0000000..ffceb9e Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/locale/zh_CN/LC_MESSAGES/tigervnc.mo differ diff --git a/jupyter_desktop/share/tigervnc/share/man/man1/Xvnc.1 b/jupyter_desktop/share/tigervnc/share/man/man1/Xvnc.1 new file mode 100755 index 0000000..269be9a --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/man/man1/Xvnc.1 @@ -0,0 +1,408 @@ +.TH Xvnc 1 "" "TigerVNC" "Virtual Network Computing" +.SH NAME +Xvnc \- the X VNC server +.SH SYNOPSIS +.B Xvnc +.RI [ options ] +.RI : display# +.SH DESCRIPTION +.B Xvnc +is the X VNC (Virtual Network Computing) server. It is based on a standard X +server, but it has a "virtual" screen rather than a physical one. X +applications display themselves on it as if it were a normal X display, but +they can only be accessed via a VNC viewer - see \fBvncviewer\fP(1). + +So Xvnc is really two servers in one. To the applications it is an X server, +and to the remote VNC users it is a VNC server. By convention we have arranged +that the VNC server display number will be the same as the X server display +number, which means you can use eg. snoopy:2 to refer to display 2 on machine +"snoopy" in both the X world and the VNC world. + +The best way of starting \fBXvnc\fP is via the \fBvncserver\fP script. This +sets up the environment appropriately and runs some X applications to get you +going. See the manual page for \fBvncserver\fP(1) for more information. + +.SH OPTIONS +.B Xvnc +takes lots of options - running \fBXvnc -help\fP gives a list. Many of these +are standard X server options, which are described in the \fBXserver\fP(1) +manual page. In addition to options which can only be set via the +command-line, there are also "parameters" which can be set both via the +command-line and through the \fBvncconfig\fP(1) program. + +.TP +.B \-geometry \fIwidth\fPx\fIheight\fP +Specify the size of the desktop to be created. Default is 1024x768. +. +.TP +.B \-depth \fIdepth\fP +Specify the pixel depth in bits of the desktop to be created. Default is 24, +other possible values are 8, 15, and 16 - anything else is likely to cause +strange behaviour by applications. +. +.TP +.B \-pixelformat \fIformat\fP +Specify pixel format for server to use (BGRnnn or RGBnnn). The default for +depth 8 is BGR233 (meaning the most significant two bits represent blue, the +next three green, and the least significant three represent red), the default +for depth 16 is RGB565 and for depth 24 is RGB888. +. +.TP +.B \-interface \fIIP address\fP +Listen on interface. By default Xvnc listens on all available interfaces. +. +.TP +.B \-inetd +This significantly changes Xvnc's behaviour so that it can be launched from +inetd. See the section below on usage with inetd. +. +.TP +.B \-help +List all the options and parameters + +.SH PARAMETERS +VNC parameters can be set both via the command-line and through the +\fBvncconfig\fP(1) program, and with a VNC-enabled Xorg server via Options +entries in the xorg.conf file. + +Parameters can be turned on with -\fIparam\fP or off with +-\fIparam\fP=0. Parameters which take a value can be specified as +-\fIparam\fP \fIvalue\fP. Other valid forms are \fIparam\fP\fB=\fP\fIvalue\fP +-\fIparam\fP=\fIvalue\fP --\fIparam\fP=\fIvalue\fP. Parameter names are +case-insensitive. + +.TP +.B \-desktop \fIdesktop-name\fP +Each desktop has a name which may be displayed by the viewer. It defaults to +"x11". +. +.TP +.B \-rfbport \fIport\fP +Specifies the TCP port on which Xvnc listens for connections from viewers (the +protocol used in VNC is called RFB - "remote framebuffer"). The default is +5900 plus the display number. +. +.TP +.B \-UseIPv4 +Use IPv4 for incoming and outgoing connections. Default is on. +. +.TP +.B \-UseIPv6 +Use IPv6 for incoming and outgoing connections. Default is on. +. +.TP +.B \-rfbunixpath \fIpath\fP +Specifies the path of a Unix domain socket on which Xvnc listens for +connections from viewers, instead of listening on a TCP port. +. +.TP +.B \-rfbunixmode \fImode\fP +Specifies the mode of the Unix domain socket. The default is 0600. +. +.TP +.B \-rfbwait \fItime\fP, \-ClientWaitTimeMillis \fItime\fP +Time in milliseconds to wait for a viewer which is blocking the server. This is +necessary because the server is single-threaded and sometimes blocks until the +viewer has finished sending or receiving a message - note that this does not +mean an update will be aborted after this time. Default is 20000 (20 seconds). +. +.TP +.B \-httpd \fIdirectory\fP +Run a mini-HTTP server which serves files from the given directory. Normally +the directory will contain the classes for the Java viewer. In addition, files +with a .vnc extension will have certain substitutions made so that a single +installation of the Java VNC viewer can be served by separate instances of +Xvnc. +. +.TP +.B \-httpPort \fIport\fP +Specifies the port on which the mini-HTTP server runs. Default is 5800 plus +the display number. +. +.TP +.B \-rfbauth \fIpasswd-file\fP, \-PasswordFile \fIpasswd-file\fP +Password file for VNC authentication. There is no default, you should +specify the password file explicitly. Password file should be created with +the \fBvncpasswd\fP(1) utility. The file is accessed each time a connection +comes in, so it can be changed on the fly. +. +.TP +.B \-AcceptCutText +Accept clipboard updates from clients. Default is on. +. +.TP +.B \-MaxCutText \fIbytes\fP +The maximum size of a clipboard update that will be accepted from a client. +Default is \fB262144\fP. +. +.TP +.B \-SendCutText +Send clipboard changes to clients. Default is on. +. +.TP +.B \-SendPrimary +Send the primary selection and cut buffer to the server as well as the +clipboard selection. Default is on. +. +.TP +.B \-AcceptPointerEvents +Accept pointer press and release events from clients. Default is on. +. +.TP +.B \-AcceptKeyEvents +Accept key press and release events from clients. Default is on. +. +.TP +.B \-AcceptSetDesktopSize +Accept requests to resize the size of the desktop. Default is on. +. +.TP +.B \-DisconnectClients +Disconnect existing clients if an incoming connection is non-shared. Default is +on. If \fBDisconnectClients\fP is false, then a new non-shared connection will +be refused while there is a client active. When combined with +\fBNeverShared\fP this means only one client is allowed at a time. +. +.TP +.B \-NeverShared +Never treat incoming connections as shared, regardless of the client-specified +setting. Default is off. +. +.TP +.B \-AlwaysShared +Always treat incoming connections as shared, regardless of the client-specified +setting. Default is off. +. +.TP +.B \-Protocol3.3 +Always use protocol version 3.3 for backwards compatibility with badly-behaved +clients. Default is off. +. +.TP +.B \-FrameRate \fIfps\fP +The maximum number of updates per second sent to each client. If the screen +updates any faster then those changes will be aggregated and sent in a single +update to the client. Note that this only controls the maximum rate and a +client may get a lower rate when resources are limited. Default is \fB60\fP. +. +.TP +.B \-CompareFB \fImode\fP +Perform pixel comparison on framebuffer to reduce unnecessary updates. Can +be either \fB0\fP (off), \fB1\fP (always) or \fB2\fP (auto). Default is +\fB2\fP. +. +.TP +.B \-ZlibLevel \fIlevel\fP +Zlib compression level for ZRLE encoding (it does not affect Tight encoding). +Acceptable values are between 0 and 9. Default is to use the standard +compression level provided by the \fBzlib\fP(3) compression library. +. +.TP +.B \-ImprovedHextile +Use improved compression algorithm for Hextile encoding which achieves better +compression ratios by the cost of using slightly more CPU time. Default is +on. +. +.TP +.B \-SecurityTypes \fIsec-types\fP +Specify which security scheme to use for incoming connections. Valid values +are a comma separated list of \fBNone\fP, \fBVncAuth\fP, \fBPlain\fP, +\fBTLSNone\fP, \fBTLSVnc\fP, \fBTLSPlain\fP, \fBX509None\fP, \fBX509Vnc\fP +and \fBX509Plain\fP. Default is \fBVncAuth,TLSVnc\fP. +. +.TP +.B \-Password \fIpassword\fP +Obfuscated binary encoding of the password which clients must supply to +access the server. Using this parameter is insecure, use \fBPasswordFile\fP +parameter instead. +. +.TP +.B \-PlainUsers \fIuser-list\fP +A comma separated list of user names that are allowed to authenticate via +any of the "Plain" security types (Plain, TLSPlain, etc.). Specify \fB*\fP +to allow any user to authenticate using this security type. Default is to +deny all users. +. +.TP +.B \-pam_service \fIname\fP, \-PAMService \fIname\fP +PAM service name to use when authentication users using any of the "Plain" +security types. Default is \fBvnc\fP. +. +.TP +.B \-X509Cert \fIpath\fP +Path to a X509 certificate in PEM format to be used for all X509 based +security types (X509None, X509Vnc, etc.). +. +.TP +.B \-X509Key \fIpath\fP +Private key counter part to the certificate given in \fBX509Cert\fP. Must +also be in PEM format. +. +.TP +.B \-GnuTLSPriority \fIpriority\fP +GnuTLS priority string that controls the TLS session’s handshake algorithms. +See the GnuTLS manual for possible values. Default is \fBNORMAL\fP. +. +.TP +.B \-BlacklistThreshold \fIcount\fP +The number of unauthenticated connection attempts allowed from any individual +host before that host is black-listed. Default is 5. +. +.TP +.B \-BlacklistTimeout \fIseconds\fP +The initial timeout applied when a host is first black-listed. The host +cannot re-attempt a connection until the timeout expires. Default is 10. +. +.TP +.B \-IdleTimeout \fIseconds\fP +The number of seconds after which an idle VNC connection will be dropped. +Default is 0, which means that idle connections will never be dropped. +. +.TP +.B \-MaxDisconnectionTime \fIseconds\fP +Terminate when no client has been connected for \fIN\fP seconds. Default is +0. +. +.TP +.B \-MaxConnectionTime \fIseconds\fP +Terminate when a client has been connected for \fIN\fP seconds. Default is +0. +. +.TP +.B \-MaxIdleTime \fIseconds\fP +Terminate after \fIN\fP seconds of user inactivity. Default is 0. +. +.TP +.B \-QueryConnect +Prompts the user of the desktop to explicitly accept or reject incoming +connections. Default is off. + +The \fBvncconfig\fP(1) program must be running on the desktop in order for +QueryConnect to be supported. +. +.TP +.B \-QueryConnectTimeout \fIseconds\fP +Number of seconds to show the Accept Connection dialog before rejecting the +connection. Default is \fB10\fP. +. +.TP +.B \-localhost +Only allow connections from the same machine. Useful if you use SSH and want to +stop non-SSH connections from any other hosts. +. +.TP +.B \-Log \fIlogname\fP:\fIdest\fP:\fIlevel\fP +Configures the debug log settings. \fIdest\fP can currently be \fBstderr\fP, +\fBstdout\fP or \fBsyslog\fP, and \fIlevel\fP is between 0 and 100, 100 meaning +most verbose output. \fIlogname\fP is usually \fB*\fP meaning all, but you can +target a specific source file if you know the name of its "LogWriter". Default +is \fB*:stderr:30\fP. +. +.TP +.B \-RemapKeys \fImapping +Sets up a keyboard mapping. +.I mapping +is a comma-separated string of character mappings, each of the form +.IR char -> char , +or +.IR char <> char , +where +.I char +is a hexadecimal keysym. For example, to exchange the " and @ symbols you would specify the following: + +.RS 10 +RemapKeys=0x22<>0x40 +.RE +. +.TP +.B \-AvoidShiftNumLock +Key affected by NumLock often require a fake Shift to be inserted in order +for the correct symbol to be generated. Turning on this option avoids these +extra fake Shift events but may result in a slightly different symbol +(e.g. a Return instead of a keypad Enter). +. +.TP +.B \-RawKeyboard +Send keyboard events straight through and avoid mapping them to the current +keyboard layout. This effectively makes the keyboard behave according to the +layout configured on the server instead of the layout configured on the +client. Default is off. +. +.TP +.B \-AllowOverride +Comma separated list of parameters that can be modified using VNC extension. +Parameters can be modified for example using \fBvncconfig\fP(1) program from +inside a running session. + +Allowing override of parameters such as \fBPAMService\fP or \fBPasswordFile\fP +can negatively impact security if Xvnc runs under different user than the +programs allowed to override the parameters. + +When \fBNoClipboard\fP parameter is set, allowing override of \fBSendCutText\fP +and \fBAcceptCutText\fP has no effect. + +Default is \fBdesktop,AcceptPointerEvents,SendCutText,AcceptCutText,SendPrimary,SetPrimary\fP. + +.SH USAGE WITH INETD +By configuring the \fBinetd\fP(1) service appropriately, Xvnc can be launched +on demand when a connection comes in, rather than having to be started +manually. When given the \fB-inetd\fP option, instead of listening for TCP +connections on a given port it uses its standard input and standard output. +There are two modes controlled by the wait/nowait entry in the inetd.conf file. + +In the nowait mode, Xvnc uses its standard input and output directly as the +connection to a viewer. It never has a listening socket, so cannot accept +further connections from viewers (it can however connect out to listening +viewers by use of the vncconfig program). Further viewer connections to the +same TCP port result in inetd spawning off a new Xvnc to deal with each +connection. When the connection to the viewer dies, the Xvnc and any +associated X clients die. This behaviour is most useful when combined with the +XDMCP options -query and -once. An typical example in inetd.conf might be (all +on one line): + +5950 stream tcp nowait nobody /usr/local/bin/Xvnc Xvnc -inetd -query +localhost -once securitytypes=none + +In this example a viewer connection to :50 will result in a new Xvnc for that +connection which should display the standard XDM login screen on that machine. +Because the user needs to login via XDM, it is usually OK to accept connections +without a VNC password in this case. + +In the wait mode, when the first connection comes in, inetd gives the listening +socket to Xvnc. This means that for a given TCP port, there is only ever one +Xvnc at a time. Further viewer connections to the same port are accepted by +the same Xvnc in the normal way. Even when the original connection is broken, +the Xvnc will continue to run. If this is used with the XDMCP options -query +and -once, the Xvnc and associated X clients will die when the user logs out of +the X session in the normal way. It is important to use a VNC password in this +case. A typical entry in inetd.conf might be: + +5951 stream tcp wait james /usr/local/bin/Xvnc Xvnc -inetd -query localhost -once passwordFile=/home/james/.vnc/passwd + +In fact typically, you would have one entry for each user who uses VNC +regularly, each of whom has their own dedicated TCP port which they use. In +this example, when user "james" connects to :51, he enters his VNC password, +then gets the XDM login screen where he logs in in the normal way. However, +unlike the previous example, if he disconnects, the session remains persistent, +and when he reconnects he will get the same session back again. When he logs +out of the X session, the Xvnc will die, but of course a new one will be +created automatically the next time he connects. + +.SH SEE ALSO +.BR vncconfig (1), +.BR vncpasswd (1), +.BR vncserver (1), +.BR vncviewer (1), +.BR Xserver (1), +.BR inetd (1) +.br +http://www.tigervnc.org + +.SH AUTHOR +Tristan Richardson, RealVNC Ltd. and others. + +VNC was originally developed by the RealVNC team while at Olivetti +Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were +implemented by Constantin Kaplinsky. Many other people have since +participated in development, testing and support. This manual is part +of the TigerVNC software suite. diff --git a/jupyter_desktop/share/tigervnc/share/man/man1/vncconfig.1 b/jupyter_desktop/share/tigervnc/share/man/man1/vncconfig.1 new file mode 100644 index 0000000..06f9ca9 --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/man/man1/vncconfig.1 @@ -0,0 +1,126 @@ +.TH vncconfig 1 "" "TigerVNC" "Virtual Network Computing" +.SH NAME +vncconfig \- configure and control a VNC server +.SH SYNOPSIS +.B vncconfig +.RI [ parameters ] +.br +.B vncconfig +.RI [ parameters ] +.B \-connect +.IR host [: port ] +.br +.B vncconfig +.RI [ parameters ] +.B \-disconnect +.br +.B vncconfig +.RI [ parameters ] +.RB [ -set ] +.IR Xvnc-param = value " ..." +.br +.B vncconfig +.RI [ parameters ] +.B \-list +.br +.B vncconfig +.RI [ parameters ] +\fB\-get\fP \fIXvnc-param\fP +.br +.B vncconfig +.RI [ parameters ] +\fB\-desc\fP \fIXvnc-param\fP +.SH DESCRIPTION +.B vncconfig +is used to configure and control a running instance of Xvnc, or any other X +server with the VNC extension. Note that it cannot be used to control VNC +servers prior to version 4. + +When run with no options, it runs as a kind of "helper" application for Xvnc. +Its main purpose when run in this mode is to query the user how new +connections should be handled (provided this feature is enabled). The +\fB-nowin\fP flag can be used if you always want the query support but don't +wish to clutter the desktop with the settings window - alternatively the +\fB-iconic\fP option can be used to make it iconified by default. + +When run in any other mode, \fBvncconfig\fP is a one-shot program used to +configure or control Xvnc as appropriate. It can be used to tell Xvnc to +connect or disconnect from listening viewers, and to set and retrieve Xvnc's +parameters. + +Note that the DISPLAY environment variable or the \fB\-display\fP option +must be set as appropriate to control Xvnc. If you run it on an ordinary X +server (or on a version 3 Xvnc) you will get an error message saying that there +is no VNC extension. + +.SH OPTIONS +.TP +.B \-connect \fIhost\fP[:\fIport\fP] +Tells an Xvnc server to make a "reverse" connection to a listening VNC viewer +(normally connections are made the other way round - the viewer connects to the +server). \fIhost\fP is the host where the listening viewer is running. If it's +not listening on the default port of 5500, you can specify \fIhost:port\fP +instead. +. +.TP +.B \-disconnect +This causes Xvnc to disconnect from all viewers so that the VNC desktop is not +displayed anywhere. +. +.TP +[\fB-set\fP] \fIXvnc-param\fP=\fIvalue\fP +Sets an Xvnc parameter to the given value. Note that some of Xvnc's parameters +are read only once at startup so that changing them in this way may not have +any effect. +. +.TP +.B \-list +Lists all the parameters supported by Xvnc. +. +.TP +.B \-get \fIXvnc-param\fP +Prints the current value of the given Xvnc parameter. +. +.TP +.B \-desc \fIXvnc-param\fP +Prints a short description of the given Xvnc parameter. + +.SH PARAMETERS +.B vncconfig +also has parameters of its own which can be set on the command line. These +should not be confused with Xvnc's parameters which are manipulated with the +\fB-set\fP, \fB-get\fP, \fB-list\fP and \fB-desc\fP options. + +Parameters can be turned on with -\fIparam\fP or off with -\fIparam\fP=0. +Parameters which take a value can be specified as -\fIparam\fP \fIvalue\fP. +Other valid forms are \fIparam\fP\fB=\fP\fIvalue\fP -\fIparam\fP=\fIvalue\fP +--\fIparam\fP=\fIvalue\fP. Parameter names are case-insensitive. + +.TP +.B \-display \fIXdisplay\fP +Specifies the Xvnc server to control. +. +.TP +.B \-nowin +When run as a "helper" app, don't put up a window. +. +.TP +.B \-iconic +When run as a "helper" app, make the window iconified at startup. + +.SH SEE ALSO +.BR vncpasswd (1), +.BR vncviewer (1), +.BR vncserver (1), +.BR Xvnc (1) +.br +http://www.tigervnc.org + +.SH AUTHOR +Tristan Richardson, RealVNC Ltd. and others. + +VNC was originally developed by the RealVNC team while at Olivetti +Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were +implemented by Constantin Kaplinsky. Many other people have since +participated in development, testing and support. This manual is part +of the TigerVNC software suite. diff --git a/jupyter_desktop/share/tigervnc/share/man/man1/vncpasswd.1 b/jupyter_desktop/share/tigervnc/share/man/man1/vncpasswd.1 new file mode 100644 index 0000000..a62c0ed --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/man/man1/vncpasswd.1 @@ -0,0 +1,59 @@ +.TH vncpasswd 1 "" "TigerVNC" "Virtual Network Computing" +.SH NAME +vncpasswd \- change the VNC password +.SH SYNOPSIS +\fBvncpasswd\fR [\fIpasswd-file\fR] +.br +\fBvncpasswd\fR \-f +.SH DESCRIPTION +.B vncpasswd +allows you to set the password used to access VNC desktops. Its default +behavior is to prompt for a VNC password and then store an obfuscated version +of this password to \fIpasswd-file\fR (or to $HOME/.vnc/passwd if no password +file is specified.) The \fBvncserver\fP script runs \fBvncpasswd\fP the first +time you start a VNC desktop, and it invokes \fBXvnc\fP with the appropriate +\fB\-rfbauth\fP option. \fBvncviewer\fP can also be given a password file to +use via the \fB\-passwd\fP option. + +The password must be at least six characters long (unless the \fB\-f\fR +command-line option is used-- see below), and only the first eight +characters are significant. Note that the stored password is \fBnot\fP +encrypted securely - anyone who has access to this file can trivially find out +the plain-text password, so \fBvncpasswd\fP always sets appropriate permissions +(read and write only by the owner.) However, when accessing a VNC desktop, a +challenge-response mechanism is used over the wire making it hard for anyone to +crack the password simply by snooping on the network. + +.SH OPTIONS + +.TP +.B \-f +Filter mode. Read a plain-text password from stdin and write an encrypted +version to stdout. Note that in filter mode, short or even empty passwords +will be silently accepted. + +A view-only password must be separated from the normal password by a newline +character. + + +.SH FILES +.TP +$HOME/.vnc/passwd +Default location of the VNC password file. + +.SH SEE ALSO +.BR vncviewer (1), +.BR vncserver (1), +.BR Xvnc (1) +.BR vncconfig (1), +.br +http://www.tigervnc.org + +.SH AUTHORS +Tristan Richardson, RealVNC Ltd., Antoine Martin, D. R. Commander and others. + +VNC was originally developed by the RealVNC team while at Olivetti +Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were +implemented by Constantin Kaplinsky. Many other people have since +participated in development, testing and support. This manual is part +of the TigerVNC software suite. diff --git a/jupyter_desktop/share/tigervnc/share/man/man1/vncserver.1 b/jupyter_desktop/share/tigervnc/share/man/man1/vncserver.1 new file mode 100644 index 0000000..9108683 --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/man/man1/vncserver.1 @@ -0,0 +1,204 @@ +.TH vncserver 1 "" "TigerVNC" "Virtual Network Computing" +.SH NAME +vncserver \- start or stop a VNC server +.SH SYNOPSIS +.B vncserver +.RI [: display# ] +.RB [ \-name +.IR desktop-name ] +.RB [ \-geometry +.IR width x height ] +.RB [ \-depth +.IR depth ] +.RB [ \-pixelformat +.IR format ] +.RB [ \-fp +.IR font-path ] +.RB [ \-fg ] +.RB [ \-autokill ] +.RB [ \-noxstartup ] +.RB [ \-xstartup +.IR script ] +.RI [ Xvnc-options... ] +.br +.BI "vncserver \-kill :" display# +.br +.BI "vncserver \-list" +.SH DESCRIPTION +.B vncserver +is used to start a VNC (Virtual Network Computing) desktop. +.B vncserver +is a Perl script which simplifies the process of starting an Xvnc server. It +runs Xvnc with appropriate options and starts a window manager on the VNC +desktop. + +.B vncserver +can be run with no options at all. In this case it will choose the first +available display number (usually :1), start Xvnc with that display number, +and start the default window manager in the Xvnc session. You can also +specify the display number, in which case vncserver will attempt to start +Xvnc with that display number and exit if the display number is not +available. For example: + +.RS +vncserver :13 +.RE + +Editing the file $HOME/.vnc/xstartup allows you to change the applications run +at startup (but note that this will not affect an existing VNC session.) + +.SH OPTIONS +You can get a list of options by passing \fB\-h\fP as an option to vncserver. +In addition to the options listed below, any unrecognised options will be +passed to Xvnc - see the Xvnc man page, or "Xvnc \-help", for details. + +.TP +.B \-name \fIdesktop-name\fP +Each VNC desktop has a name which may be displayed by the viewer. The desktop +name defaults to "\fIhost\fP:\fIdisplay#\fP (\fIusername\fP)", but you can +change it with this option. The desktop name option is passed to the xstartup +script via the $VNCDESKTOP environment variable, which allows you to run a +different set of applications depending on the name of the desktop. +. +.TP +.B \-geometry \fIwidth\fPx\fIheight\fP +Specify the size of the VNC desktop to be created. Default is 1024x768. +. +.TP +.B \-depth \fIdepth\fP +Specify the pixel depth (in bits) of the VNC desktop to be created. Default is +24. Other possible values are 8, 15 and 16 - anything else is likely to cause +strange behaviour by applications. +. +.TP +.B \-pixelformat \fIformat\fP +Specify pixel format for Xvnc to use (BGRnnn or RGBnnn). The default for +depth 8 is BGR233 (meaning the most significant two bits represent blue, the +next three green, and the least significant three represent red), the default +for depth 16 is RGB565, and the default for depth 24 is RGB888. +. +.TP +.B \-cc 3 +As an alternative to the default TrueColor visual, this allows you to run an +Xvnc server with a PseudoColor visual (i.e. one which uses a color map or +palette), which can be useful for running some old X applications which only +work on such a display. Values other than 3 (PseudoColor) and 4 (TrueColor) +for the \-cc option may result in strange behaviour, and PseudoColor desktops +must have an 8-bit depth. +. +.TP +.B \-kill :\fIdisplay#\fP +This kills a VNC desktop previously started with vncserver. It does this by +killing the Xvnc process, whose process ID is stored in the file +"$HOME/.vnc/\fIhost\fP:\fIdisplay#\fP.pid". The +.B \-kill +option ignores anything preceding the first colon (":") in the display +argument. Thus, you can invoke "vncserver \-kill $DISPLAY", for example at the +end of your xstartup file after a particular application exits. +. +.TP +.B \-fp \fIfont-path\fP +If the vncserver script detects that the X Font Server (XFS) is running, it +will attempt to start Xvnc and configure Xvnc to use XFS for font handling. +Otherwise, if XFS is not running, the vncserver script will attempt to start +Xvnc and allow Xvnc to use its own preferred method of font handling (which may +be a hard-coded font path or, on more recent systems, a font catalog.) In +any case, if Xvnc fails to start, the vncserver script will then attempt to +determine an appropriate X font path for this system and start Xvnc using +that font path. + +The +.B \-fp +argument allows you to override the above fallback logic and specify a font +path for Xvnc to use. +. +.TP +.B \-fg +Runs Xvnc as a foreground process. This has two effects: (1) The VNC server +can be aborted with CTRL-C, and (2) the VNC server will exit as soon as the +user logs out of the window manager in the VNC session. This may be necessary +when launching TigerVNC from within certain grid computing environments. +. +.TP +.B \-autokill +Automatically kill Xvnc whenever the xstartup script exits. In most cases, +this has the effect of terminating Xvnc when the user logs out of the window +manager. +. +.TP +.B \-noxstartup +Do not run the %HOME/.vnc/xstartup script after launching Xvnc. This +option allows you to manually start a window manager in your TigerVNC session. +. +.TP +.B \-xstartup \fIscript\fP +Run a custom startup script, instead of %HOME/.vnc/xstartup, after launching +Xvnc. This is useful to run full-screen applications. +. +.TP +.B \-list +Lists all VNC desktops started by vncserver. + +.SH FILES +Several VNC-related files are found in the directory $HOME/.vnc: +.TP +$HOME/.vnc/xstartup +A shell script specifying X applications to be run when a VNC desktop is +started. If this file does not exist, then vncserver will create a default +xstartup script which attempts to launch your chosen window manager. +.TP +/etc/tigervnc/vncserver-config-defaults +The optional system-wide equivalent of $HOME/.vnc/config. If this file exists +and defines options to be passed to Xvnc, they will be used as defaults for +users. The user's $HOME/.vnc/config overrides settings configured in this file. +The overall configuration file load order is: this file, $HOME/.vnc/config, +and then /etc/tigervnc/vncserver-config-mandatory. None are required to exist. +.TP +/etc/tigervnc/vncserver-config-mandatory +The optional system-wide equivalent of $HOME/.vnc/config. If this file exists +and defines options to be passed to Xvnc, they will override any of the same +options defined in a user's $HOME/.vnc/config. This file offers a mechanism +to establish some basic form of system-wide policy. WARNING! There is +nothing stopping users from constructing their own vncserver-like script +that calls Xvnc directly to bypass any options defined in +/etc/tigervnc/vncserver-config-mandatory. Likewise, any CLI arguments passed +to vncserver will override ANY config file setting of the same name. The +overall configuration file load order is: +/etc/tigervnc/vncserver-config-defaults, $HOME/.vnc/config, and then this file. +None are required to exist. +.TP +$HOME/.vnc/config +An optional server config file wherein options to be passed to Xvnc are listed +to avoid hard-coding them to the physical invocation. List options in this file +one per line. For those requiring an argument, simply separate the option from +the argument with an equal sign, for example: "geometry=2000x1200" or +"securitytypes=vncauth,tlsvnc". Options without an argument are simply listed +as a single word, for example: "localhost" or "alwaysshared". +.TP +$HOME/.vnc/passwd +The VNC password file. +.TP +$HOME/.vnc/\fIhost\fP:\fIdisplay#\fP.log +The log file for Xvnc and applications started in xstartup. +.TP +$HOME/.vnc/\fIhost\fP:\fIdisplay#\fP.pid +Identifies the Xvnc process ID, used by the +.B \-kill +option. + +.SH SEE ALSO +.BR vncviewer (1), +.BR vncpasswd (1), +.BR vncconfig (1), +.BR Xvnc (1) +.br +http://www.tigervnc.org + +.SH AUTHOR +Tristan Richardson, RealVNC Ltd., D. R. Commander and others. + +VNC was originally developed by the RealVNC team while at Olivetti +Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were +implemented by Constantin Kaplinsky. Many other people have since +participated in development, testing and support. This manual is part +of the TigerVNC software suite. diff --git a/jupyter_desktop/share/tigervnc/share/man/man1/vncviewer.1 b/jupyter_desktop/share/tigervnc/share/man/man1/vncviewer.1 new file mode 100644 index 0000000..729c01d --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/man/man1/vncviewer.1 @@ -0,0 +1,328 @@ +.TH vncviewer 1 "" "TigerVNC" "Virtual Network Computing" +.SH NAME +vncviewer \- VNC viewer for X +.SH SYNOPSIS +.B vncviewer +.RI [ options ] +.RI [ host ][: display# ] +.br +.B vncviewer +.RI [ options ] +.RI [ host ][:: port ] +.br +.B vncviewer +.RI [ options ] +.B \-listen +.RI [ port ] +.br +.B vncviewer +.RI [ options ] +.RI [ .tigervnc file ] +.SH DESCRIPTION +.B vncviewer +is a viewer (client) for Virtual Network Computing. This manual page documents +version 4 for the X window system. + +If you run the viewer with no arguments it will prompt you for a VNC server to +connect to. Alternatively, specify the VNC server as an argument, e.g.: + +.RS +vncviewer snoopy:2 +.RE + +where 'snoopy' is the name of the machine, and '2' is the display number of the +VNC server on that machine. Either the machine name or display number can be +omitted. So for example ":1" means display number 1 on the same machine, and +"snoopy" means "snoopy:0" i.e. display 0 on machine "snoopy". + +As another quick way to start a connection to a VNC server, specify a .tigervnc +configuration file as an argument to the viewer, e.g.: + +.RS +vncviewer ./some.tigervnc +.RE + +where './some.tigervnc' is an existing and valid TigerVNC configuration file. +The file name needs to include a path separator. Additional options may be +given too, but the given configuration file will overwrite any conflicting +parameters. + +If the VNC server is successfully contacted, you will be prompted for a +password to authenticate you. If the password is correct, a window will appear +showing the desktop of the VNC server. + +.SH AUTOMATIC PROTOCOL SELECTION + +The viewer tests the speed of the connection to the server and chooses the +encoding and pixel format (color level) appropriately. This makes it much +easier to use than previous versions where the user had to specify arcane +command line arguments. + +The viewer normally starts out assuming the link is slow, using the +encoding with the best compression. If it turns out that the link is +fast enough it switches to an encoding which compresses less but is +faster to generate, thus improving the interactive feel. + +The viewer normally starts in full-color mode, but switches to +low-color mode if the bandwidth is insufficient. However, this only +occurs when communicating with servers supporting protocol 3.8 or +newer, since many old servers does not support color mode changes +safely. + +Automatic selection can be turned off by setting the +\fBAutoSelect\fP parameter to false, or from the options dialog. + +.SH POPUP MENU +The viewer has a popup menu containing entries which perform various actions. +It is usually brought up by pressing F8, but this can be configured with the +MenuKey parameter. Actions which the popup menu can perform include: +.RS 2 +.IP * 2 +switching in and out of full-screen mode +.IP * +quitting the viewer +.IP * +generating key events, e.g. sending ctrl-alt-del +.IP * +accessing the options dialog and various other dialogs +.RE +.PP +By default, key presses in the popup menu get sent to the VNC server and +dismiss the popup. So to get an F8 through to the VNC server simply press it +twice. + +.SH FULL SCREEN MODE +A full-screen mode is supported. This is particularly useful when connecting +to a remote screen which is the same size as your local one. If the remote +screen is bigger, you can scroll by bumping the mouse against the edge of the +screen. + +.SH OPTIONS (PARAMETERS) +You can get a list of parameters by giving \fB\-h\fP as a command-line option +to vncviewer. Parameters can be turned on with -\fIparam\fP or off with +-\fIparam\fP=0. Parameters which take a value can be specified as +-\fIparam\fP \fIvalue\fP. Other valid forms are \fIparam\fP\fB=\fP\fIvalue\fP +-\fIparam\fP=\fIvalue\fP --\fIparam\fP=\fIvalue\fP. Parameter names are +case-insensitive. + +Many of the parameters can also be set graphically via the options dialog box. +This can be accessed from the popup menu or from the "Connection details" +dialog box. + +.TP +.B \-display \fIXdisplay\fP +Specifies the X display on which the VNC viewer window should appear. +. +.TP +.B \-geometry \fIgeometry\fP +Standard X position and sizing specification. +. +.TP +.B \-listen \fI[port]\fP +Causes vncviewer to listen on the given port (default 5500) for reverse +connections from a VNC server. WinVNC supports reverse connections initiated +using the 'Add New Client' menu option or the '\-connect' command-line option. +Xvnc supports reverse connections with a helper program called +.B vncconfig. +. +.TP +.B \-SecurityTypes \fIsec-types\fP +Specify which security schemes to attempt to use when authenticating with +the server. Valid values are a comma separated list of \fBNone\fP, +\fBVncAuth\fP, \fBPlain\fP, \fBTLSNone\fP, \fBTLSVnc\fP, \fBTLSPlain\fP, +\fBX509None\fP, \fBX509Vnc\fP and \fBX509Plain\fP. Default is to attempt +every supported scheme. +. +.TP +.B \-passwd, \-PasswordFile \fIpassword-file\fP +If you are on a filesystem which gives you access to the password file used by +the server, you can specify it here to avoid typing it in. It will usually be +"~/.vnc/passwd". +. +.TP +.B \-X509CA \fIpath\fP +Path to CA certificate to use when authenticating remote servers using any +of the X509 security schemes (X509None, X509Vnc, etc.). Must be in PEM +format. Default is \fB$HOME/.vnc/x509_ca.pem\fP, if it exists. +. +.TP +.B \-X509CRL \fIpath\fP +Path to certificate revocation list to use in conjunction with +\fB-X509CA\fP. Must also be in PEM format. Default is +\fB$HOME/.vnc/x509_crl.pem\fP, if it exists. +. +.TP +.B \-Shared +When you make a connection to a VNC server, all other existing connections are +normally closed. This option requests that they be left open, allowing you to +share the desktop with someone already using it. +. +.TP +.B \-ViewOnly +Specifies that no keyboard or mouse events should be sent to the server. +Useful if you want to view a desktop without interfering; often needs to be +combined with +.B \-Shared. +. +.TP +.B \-AcceptClipboard +Accept clipboard changes from the server. Default is on. +. +.TP +.B \-SetPrimary +Set the primary selection as well as the clipboard selection. +Default is on. +. +.TP +.B \-SendClipboard +Send clipboard changes to the server. Default is on. +. +.TP +.B \-SendPrimary +Send the primary selection to the server as well as the clipboard +selection. Default is on. +. +.TP +.B \-Maximize +Maximize viewer window. +. +.TP +.B \-FullScreen +Start in full-screen mode. +. +.TP +.B \-FullScreenAllMonitors +Use all local monitors and not just the current one when switching to +full-screen mode. +. +.TP +.B \-FullscreenSystemKeys +Pass special keys (like Alt+Tab) directly to the server when in full-screen +mode. +. +.TP +.B \-DesktopSize \fIwidth\fPx\fIheight\fP +Instead of keeping the existing remote screen size, the client will attempt to +switch to the specified since when connecting. If the server does not support +the SetDesktopSize message then the screen will retain the original size. +. +.TP +.B \-RemoteResize +Dynamically resize the remote desktop size as the size of the local client +window changes. Note that this may not work with all VNC servers. +. +.TP +.B \-AutoSelect +Use automatic selection of encoding and pixel format (default is on). Normally +the viewer tests the speed of the connection to the server and chooses the +encoding and pixel format appropriately. Turn it off with \fB-AutoSelect=0\fP. +. +.TP +.B \-FullColor, \-FullColour +Tells the VNC server to send full-color pixels in the best format for this +display. This is default. +. +.TP +.B \-LowColorLevel, \-LowColourLevel \fIlevel\fP +Selects the reduced color level to use on slow links. \fIlevel\fP can range +from 0 to 2, 0 meaning 8 colors, 1 meaning 64 colors (the default), 2 meaning +256 colors. Note that decision if reduced color level is used is made by +vncviewer. If you would like to force vncviewer to use reduced color level +use \fB-AutoSelect=0\fP parameter. +. +.TP +.B \-PreferredEncoding \fIencoding\fP +This option specifies the preferred encoding to use from one of "Tight", "ZRLE", +"hextile" or "raw". +. +.TP +.B \-NoJpeg +Disable lossy JPEG compression in Tight encoding. Default is off. +. +.TP +.B \-QualityLevel \fIlevel\fP +JPEG quality level. 0 = Low, 9 = High. May be adjusted automatically if +\fB-AutoSelect\fP is turned on. Default is 8. +. +.TP +.B \-CompressLevel \fIlevel\fP +Use specified lossless compression level. 0 = Low, 6 = High. Default is 2. +. +.TP +.B \-CustomCompressLevel +Use custom compression level. Default if \fBCompressLevel\fP is specified. +. +.TP +.B \-DotWhenNoCursor +Show the dot cursor when the server sends an invisible cursor. Default is off. +. +.TP +.B \-PointerEventInterval \fItime\fP +Time in milliseconds to rate-limit successive pointer events. Default is +17 ms (60 Hz). +. +.TP +.B \-Log \fIlogname\fP:\fIdest\fP:\fIlevel\fP +Configures the debug log settings. \fIdest\fP can currently be \fBstderr\fP or +\fBstdout\fP, and \fIlevel\fP is between 0 and 100, 100 meaning most verbose +output. \fIlogname\fP is usually \fB*\fP meaning all, but you can target a +specific source file if you know the name of its "LogWriter". Default is +\fB*:stderr:30\fP. +. +.TP +.B \-MenuKey \fIkeysym-name\fP +This option specifies the key which brings up the popup menu. The currently +supported list is: F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Pause, +Scroll_Lock, Escape, Insert, Delete, Home, Page_Up, Page_Down). Default is F8. +. +.TP +\fB\-via\fR \fIgateway\fR +Automatically create encrypted TCP tunnel to the \fIgateway\fR machine +before connection, connect to the \fIhost\fR through that tunnel +(TigerVNC\-specific). By default, this option invokes SSH local port +forwarding, assuming that SSH client binary can be accessed as +/usr/bin/ssh. Note that when using the \fB\-via\fR option, the host +machine name should be specified as known to the gateway machine, e.g. +"localhost" denotes the \fIgateway\fR, not the machine where vncviewer +was launched. The environment variable \fIVNC_VIA_CMD\fR can override +the default tunnel command of +\fB/usr/bin/ssh\ -f\ -L\ "$L":"$H":"$R"\ "$G"\ sleep\ 20\fR. The tunnel +command is executed with the environment variables \fIL\fR, \fIH\fR, +\fIR\fR, and \fIG\fR taken the values of the local port number, the remote +host, the port number on the remote host, and the gateway machine +respectively. +. +.TP +.B \-AlertOnFatalError +Display a dialog with any fatal error before exiting. Default is on. + +.SH FILES +.TP +$HOME/.vnc/default.tigervnc +Default configuration options. This file must have a "magic" first line of +"TigerVNC Configuration file Version 1.0" (without quotes), followed by simple += pairs of your choosing. The available settings are those +shown in this man page. +.TP +$HOME/.vnc/x509_ca.pem +Default CA certificate for authenticating servers. +.TP +$HOME/.vnc/x509_crl.pem +Default certificate revocation list. + +.SH SEE ALSO +.BR Xvnc (1), +.BR vncpasswd (1), +.BR vncconfig (1), +.BR vncserver (1) +.br +http://www.tigervnc.org + +.SH AUTHOR +Tristan Richardson, RealVNC Ltd. and others. + +VNC was originally developed by the RealVNC team while at Olivetti +Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were +implemented by Constantin Kaplinsky. Many other people have since +participated in development, testing and support. This manual is part +of the TigerVNC software suite. diff --git a/jupyter_desktop/share/tigervnc/share/man/man1/x0vncserver.1 b/jupyter_desktop/share/tigervnc/share/man/man1/x0vncserver.1 new file mode 100644 index 0000000..5dc0b05 --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/man/man1/x0vncserver.1 @@ -0,0 +1,314 @@ +.TH X0VNCSERVER 1 "" "TigerVNC" "TigerVNC Manual" +.SH NAME +x0vncserver \- TigerVNC Server for X displays +.SH SYNOPSIS +.B x0vncserver +.RI [ options ] +.br +.B x0vncserver -version +.SH DESCRIPTION +.B x0vncserver +is a TigerVNC Server which makes any X display remotely accessible via VNC, +TigerVNC or compatible viewers. Unlike \fBXvnc\fP(1), it does not create a +virtual display. Instead, it just shares an existing X server (typically, +that one connected to the physical screen). + +XDamage will be used if the existing X server supports it. Otherwise +.B x0vncserver +will fall back to polling the screen for changes. + +.SH OPTIONS +.B x0vncserver +interprets the command line as a list of parameters with optional values. +Running \fBx0vncserver -h\fP will show a list of all valid parameters with +short descriptions. All parameters are optional, but normally you would have +to use the \fBPasswordFile\fP parameter (see its description below). +.PP +There are several forms of specifying parameters in the command line (here we +use `\fISomeParameter\fP' as an example parameter name): + +.TP +.B -\fISomeParameter\fP +Enable the parameter, turn the feature on. This form can be used with +parameters that simply enable or disable some feature. +. +.TP +.B -\fISomeParameter\fP=0 +Disable the parameter, turn the feature off. +. +.TP +.B -\fISomeParameter\fP=\fIvalue\fP +Assign the specified \fIvalue\fP to the parameter. The leading dash can be +omitted, or it can be doubled if desired (like in GNU-style long options). +.PP +Parameter names are case-insensitive, their order in the command line can be +arbitrary. + +.SH PARAMETERS + +.TP +.B \-display \fIdisplay\fP +The X display name. If not specified, it defaults to the value of the +DISPLAY environment variable. +. +.TP +.B \-rfbport \fIport\fP +Specifies the TCP port on which x0vncserver listens for connections from +viewers (the protocol used in VNC is called RFB - "remote framebuffer"). +The default port is 5900. +. +.TP +.B \-UseIPv4 +Use IPv4 for incoming and outgoing connections. Default is on. +. +.TP +.B \-UseIPv6 +Use IPv6 for incoming and outgoing connections. Default is on. +. +.TP +.B \-rfbunixpath \fIpath\fP +Specifies the path of a Unix domain socket on which x0vncserver listens for +connections from viewers, instead of listening on a TCP port. +. +.TP +.B \-rfbunixmode \fImode\fP +Specifies the mode of the Unix domain socket. The default is 0600. +. +.TP +.B \-Log \fIlogname\fP:\fIdest\fP:\fIlevel\fP +Configures the debug log settings. \fIdest\fP can currently be \fBstderr\fP, +\fBstdout\fP or \fBsyslog\fP, and \fIlevel\fP is between 0 and 100, 100 meaning +most verbose output. \fIlogname\fP is usually \fB*\fP meaning all, but you can +target a specific source file if you know the name of its "LogWriter". Default +is \fB*:stderr:30\fP. +. +.TP +.B \-HostsFile \fIfilename\fP +This parameter allows to specify a file name with IP access control rules. +The file should include one rule per line, and the rule format is one of the +following: +\fIaddress\fP/\fIprefix\fP (accept connections from the +specified address group), -\fIaddress\fP/\fIprefix\fP (reject connections) +or ?\fIaddress\fP/\fIprefix\fP (query the local user). The first rule +matching the IP address determines the action to be performed. Rules that +include only an action sign (+, - or ?) will match any IP address. +\fIPrefix\fP is optional and is specified as a number of bits (e.g. /24). +Default is to accept connections from any IP address. +. +.TP +.B \-SecurityTypes \fIsec-types\fP +Specify which security scheme to use for incoming connections. Valid values +are a comma separated list of \fBNone\fP, \fBVncAuth\fP, \fBPlain\fP, +\fBTLSNone\fP, \fBTLSVnc\fP, \fBTLSPlain\fP, \fBX509None\fP, \fBX509Vnc\fP +and \fBX509Plain\fP. Default is \fBVncAuth,TLSVnc\fP. +. +.TP +.B \-rfbauth \fIpasswd-file\fP, \-PasswordFile \fIpasswd-file\fP +Password file for VNC authentication. There is no default, you should +specify the password file explicitly. Password file should be created with +the \fBvncpasswd\fP(1) utility. The file is accessed each time a connection +comes in, so it can be changed on the fly. +. +.TP +.B \-Password \fIpassword\fP +Obfuscated binary encoding of the password which clients must supply to +access the server. Using this parameter is insecure, use \fBPasswordFile\fP +parameter instead. +. +.TP +.B \-PlainUsers \fIuser-list\fP +A comma separated list of user names that are allowed to authenticate via +any of the "Plain" security types (Plain, TLSPlain, etc.). Specify \fB*\fP +to allow any user to authenticate using this security type. Default is to +deny all users. +. +.TP +.B \-pam_service \fIname\fP, \-PAMService \fIname\fP +PAM service name to use when authentication users using any of the "Plain" +security types. Default is \fBvnc\fP. +. +.TP +.B \-X509Cert \fIpath\fP +Path to a X509 certificate in PEM format to be used for all X509 based +security types (X509None, X509Vnc, etc.). +. +.TP +.B \-X509Key \fIpath\fP +Private key counter part to the certificate given in \fBX509Cert\fP. Must +also be in PEM format. +. +.TP +.B \-GnuTLSPriority \fIpriority\fP +GnuTLS priority string that controls the TLS session’s handshake algorithms. +See the GnuTLS manual for possible values. Default is \fBNORMAL\fP. +. +.TP +.B \-BlacklistThreshold \fIcount\fP +The number of unauthenticated connection attempts allowed from any individual +host before that host is black-listed. Default is 5. +. +.TP +.B \-BlacklistTimeout \fIseconds\fP +The initial timeout applied when a host is first black-listed. The host +cannot re-attempt a connection until the timeout expires. Default is 10. +. +.TP +.B \-QueryConnect +Prompts the user of the desktop to explicitly accept or reject incoming +connections. Default is off. +. +.TP +.B \-QueryConnectTimeout \fIseconds\fP +Number of seconds to show the Accept Connection dialog before rejecting the +connection. Default is \fB10\fP. +. +.TP +.B \-AlwaysShared +Always treat incoming connections as shared, regardless of the client-specified +setting. Default is off. +. +.TP +.B \-NeverShared +Never treat incoming connections as shared, regardless of the client-specified +setting. Default is off. +. +.TP +.B \-DisconnectClients +Disconnect existing clients if an incoming connection is non-shared. Default is +on. If \fBDisconnectClients\fP is false, then a new non-shared connection will +be refused while there is a client active. When combined with +\fBNeverShared\fP this means only one client is allowed at a time. +. +.TP +.B \-AcceptKeyEvents +Accept key press and release events from clients. Default is on. +. +.TP +.B \-AcceptPointerEvents +Accept pointer press and release events from clients. Default is on. +. +.TP +.B \-RemapKeys \fImapping +Sets up a keyboard mapping. +.I mapping +is a comma-separated string of character mappings, each of the form +.IR char -> char , +or +.IR char <> char , +where +.I char +is a hexadecimal keysym. For example, to exchange the " and @ symbols you would specify the following: + +.RS 10 +RemapKeys=0x22<>0x40 +.RE +. +.TP +.B \-RawKeyboard +Send keyboard events straight through and avoid mapping them to the current +keyboard layout. This effectively makes the keyboard behave according to the +layout configured on the server instead of the layout configured on the +client. Default is off. +. +.TP +.B \-Protocol3.3 +Always use protocol version 3.3 for backwards compatibility with badly-behaved +clients. Default is off. +. +.TP +.B \-Geometry \fIgeometry\fP +This option specifies the screen area that will be shown to VNC clients. The +format is +.B \fIwidth\fPx\fIheight\fP+\fIxoffset\fP+\fIyoffset\fP +, where `+' signs can be replaced with `\-' signs to specify offsets from the +right and/or from the bottom of the screen. Offsets are optional, +0+0 is +assumed by default (top left corner). If the argument is empty, full screen +is shown to VNC clients (this is the default). +. +.TP +.B \-MaxProcessorUsage \fIpercent\fP +Maximum percentage of CPU time to be consumed when polling the +screen. Default is 35. +. +.TP +.B \-PollingCycle \fImilliseconds\fP +Milliseconds per one polling cycle. Actual interval may be dynamically +adjusted to satisfy \fBMaxProcessorUsage\fP setting. Default is 30. +. +.TP +.B \-FrameRate \fIfps\fP +The maximum number of updates per second sent to each client. If the screen +updates any faster then those changes will be aggregated and sent in a single +update to the client. Note that this only controls the maximum rate and a +client may get a lower rate when resources are limited. Default is \fB60\fP. +. +.TP +.B \-CompareFB \fImode\fP +Perform pixel comparison on framebuffer to reduce unnecessary updates. Can +be either \fB0\fP (off), \fB1\fP (always) or \fB2\fP (auto). Default is +\fB2\fP. +. +.TP +.B \-UseSHM +Use MIT-SHM extension if available. Using that extension accelerates reading +the screen. Default is on. +. +.TP +.B \-ZlibLevel \fIlevel\fP +Zlib compression level for ZRLE encoding (it does not affect Tight encoding). +Acceptable values are between 0 and 9. Default is to use the standard +compression level provided by the \fBzlib\fP(3) compression library. +. +.TP +.B \-ImprovedHextile +Use improved compression algorithm for Hextile encoding which achieves better +compression ratios by the cost of using slightly more CPU time. Default is +on. +. +.TP +.B \-IdleTimeout \fIseconds\fP +The number of seconds after which an idle VNC connection will be dropped. +Default is 0, which means that idle connections will never be dropped. +. +.TP +.B \-MaxDisconnectionTime \fIseconds\fP +Terminate when no client has been connected for \fIN\fP seconds. Default is +0. +. +.TP +.B \-MaxConnectionTime \fIseconds\fP +Terminate when a client has been connected for \fIN\fP seconds. Default is +0. +. +.TP +.B \-MaxIdleTime \fIseconds\fP +Terminate after \fIN\fP seconds of user inactivity. Default is 0. +. +.TP +.B \-ClientWaitTimeMillis \fItime\fP +Time in milliseconds to wait for a viewer which is blocking the server. This is +necessary because the server is single-threaded and sometimes blocks until the +viewer has finished sending or receiving a message - note that this does not +mean an update will be aborted after this time. Default is 20000 (20 seconds). +. +.TP +.B \-AcceptCutText +.TQ +.B \-SendCutText +.TQ +.B \-MaxCutText +Currently unused. + +.SH SEE ALSO +.BR Xvnc (1), +.BR vncpasswd (1), +.br +http://www.tigervnc.org/ + +.SH AUTHOR +Constantin Kaplinsky and others. + +VNC was originally developed by the RealVNC team while at Olivetti +Research Ltd / AT&T Laboratories Cambridge. TightVNC additions were +implemented by Constantin Kaplinsky. Many other people have since +participated in development, testing and support. This manual is part +of the TigerVNC software suite. diff --git a/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/README b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/README new file mode 100644 index 0000000..d0baa93 --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/README @@ -0,0 +1,179 @@ + +TigerVNC Java Viewer +==================== + +This distribution is based on the standard VNC source and includes new +TigerVNC-specific features and fixes, such as additional low-bandwidth +optimizations, major GUI improvements, and more. + + Copyright (C) 2000-2003 Constantin Kaplinsky + Copyright (C) 2003 Sun Microsystems, Inc. + Copyright (C) 2002-2005 RealVNC Ltd. + Copyright (C) 2004-2005 Cendio AB + Copyright (C) 2005 Martin Koegler + Copyright (C) 2009 Pierre Ossman for Cendio AB + Copyright (C) 2009-2018 TigerVNC Team + Copyright (C) 2011-2014 Brian P. Hinz + All rights reserved. + +This software is distributed under the GNU General Public Licence as +published by the Free Software Foundation. See the file LICENCE.TXT for the +conditions under which this software is made available. TigerVNC also +contains code from other sources. See the Acknowledgements section below, and +the individual files for details of the conditions under which they are made +available. + + +Installation +============ + +There are three basic ways to use the TigerVNC Java Viewer: + + 1. Running the applet as part of a TigerVNC Server installation. + + Both the Unix and Windows versions of the TigerVNC Server include a small + built-in HTTP server that can serve the TigerVNC Java Viewer to web + clients. This enables easy access to the shared desktop without the need + to install any software on the client machine. + + The Unix TigerVNC Server (Xvnc) is able to serve up any set of files that + are present in a particular directory, which is specified in the -httpd + argument to Xvnc. The default version of the vncserver script will look + for a directory called vnc/classes, one level up from the directory + containing the vncserver script, then it will look for a directory called + /usr/share/vnc/classes, then /usr/local/vnc/classes. It will set the + -httpd argument to Xvnc to the first one of these VNC classes directories + it finds. Thus, one can easily deploy a modified version of the TigerVNC + Java Viewer by simply copying a new version of VncViewer.jar and/or + index.vnc into the VNC classes directory. + + On Windows and Linux, the embedded applet can be drag-undocked from the + browser window and converted to a standalone application. The drag + gesture ALT+drag on Windows, and SHIFT+drag on Linux. + + In the case of the Windows TigerVNC Server, VncViewer.jar and index.vnc + are embedded as resources in the WinVNC executable, so deploying a + modified version of the TigerVNC Java Viewer on a Windows server requires + rebuilding WinVNC. + + 2. Running the applet from a standalone web server. + + Another possibility for using the TigerVNC Java Viewer is to install it + under a fully-functional HTTP server, such as Apache or IIS. Due to Java + security restrictions, the applet must be signed in order for it to + connect to a VNC server running on a different machine from the HTTP + server. + + One can install the TigerVNC Java Viewer by simply copying the .class and + .jar files into a directory that is under the control of the HTTP server. + Also, an HTML page should be created to act as a the base document for the + TigerVNC Java Viewer applet (an example named index.html is provided in + this directory. Modify this file to suit your specific needs.) + + 3. Running the viewer as a standalone application. + + Finally, the TigerVNC Java Viewer can be executed locally on the client + machine, but this method requires installation of either a JRE (Java + Runtime Environment) or a JDK (Java Development Kit). If VncViewer.jar is + in the current directory, then the TigerVNC Java Viewer can be launched + with the following command line: + + java -jar VncViewer.jar [parameters] + + Add an argument of -? to the above command line to print a list of + optional parameters supported by VncViewer. + + +Parameters +========== + +The TigerVNC Java Viewer accepts a number of optional parameters, allowing you +to customize its behavior. + +Parameters can be specified in one of the two ways, depending on how the +TigerVNC Java Viewer is used: + + 1. When the TigerVNC Java Viewer is run as an applet (embedded within an HTML + document), parameters should be specified using the HTML tags + within the appropriate section. Example: + + + + + + + 2. When run as a standalone application, the TigerVNC Java Viewer reads + parameters from the command line. Example: + + java -jar VncViewer.jar Port=5901 ScalingFactor=50 + +Both parameter names and their values are case-insensitive. + +For a complete list of parameters and their descriptions, run: + + java -jar VncViewer.jar -? + + +HINTS +===== + +--> To refresh the remote desktop in the view-only mode, press "r" or "R" + on the keyboard. + + +ACKNOWLEDGEMENTS +================ + +This distribution contains Java DES software by Dave Zimmerman + and Jef Poskanzer . This is: + + Copyright (c) 1996 Widget Workshop, Inc. All Rights Reserved. + + Permission to use, copy, modify, and distribute this software and its + documentation for NON-COMMERCIAL or COMMERCIAL purposes and without fee + is hereby granted, provided that this copyright notice is kept intact. + + WIDGET WORKSHOP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE + SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT + NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WIDGET WORKSHOP SHALL NOT BE + LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, + MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. + + THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE + CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE + PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT + NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE + SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE + SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE + PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). WIDGET + WORKSHOP SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF + FITNESS FOR HIGH RISK ACTIVITIES. + + Copyright (C) 1996 by Jef Poskanzer . All rights + reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Visit the ACME Labs Java page for up-to-date versions of this and other + fine Java utilities: http://www.acme.com/java/ diff --git a/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/VncViewer.jar b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/VncViewer.jar new file mode 100644 index 0000000..cb03ed8 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/VncViewer.jar differ diff --git a/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/favicon.ico b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/favicon.ico new file mode 100644 index 0000000..edbd467 Binary files /dev/null and b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/favicon.ico differ diff --git a/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/index.vnc b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/index.vnc new file mode 100644 index 0000000..27bdebc --- /dev/null +++ b/jupyter_desktop/share/tigervnc/share/usr/local/share/vnc/classes/index.vnc @@ -0,0 +1,22 @@ + + + + +$USER's $DESKTOP desktop ($DISPLAY) + + + + + + +
+TigerVNC site + diff --git a/postBuild b/postBuild deleted file mode 100644 index 06bf379..0000000 --- a/postBuild +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -eux - -env - -VNC_APPLICATION_DIR=$CONDA_DIR/vnc -mkdir $VNC_APPLICATION_DIR -pushd $VNC_APPLICATION_DIR - - -# Install tigervnc -curl -sSfL 'https://bintray.com/tigervnc/stable/download_file?file_path=tigervnc-1.9.0.x86_64.tar.gz' | tar -zxf - --strip=2 - -pip install $REPO_DIR \ No newline at end of file