File vncserver.patch of Package tightvnc

Index: vncserver
===================================================================
--- vncserver.orig
+++ vncserver
@@ -32,9 +32,9 @@
 $geometry = "1024x768";
 $depth = 24;
 $desktopName = "X";
-$vncClasses = "/usr/local/vnc/classes";
+$vncClasses = "/usr/share/vnc/classes";
 $vncUserDir = "$ENV{HOME}/.vnc";
-$fontPath = "unix/:7100";
+$fontPath = "/usr/share/fonts/misc:unscaled,/usr/share/fonts/local,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/Type1,/usr/share/fonts/URW,/usr/share/fonts/Speedo,/usr/share/fonts/truetype,/usr/share/fonts/uni,/usr/share/fonts/CID";
 $authType = "-rfbauth $vncUserDir/passwd";
 
 # Read configuration from the system-wide and user files if present.
@@ -80,7 +80,7 @@ chop($host = `uname -n`);
 
 # Uncomment this line if you want default geometry, depth and pixelformat
 # to match the current X display:
-# &GetXDisplayDefaults();
+&GetXDisplayDefaults();
 
 if ($opt{'-geometry'}) {
     $geometry = $opt{'-geometry'};
@@ -148,11 +148,7 @@ unlink($desktopLog);
 # PID and part of the encrypted form of the password.  Ideally we'd use
 # /dev/urandom, but that's only available on Linux.
 
-srand(time+$$+unpack("L",`cat $vncUserDir/passwd`));
-$cookie = "";
-for (1..16) {
-    $cookie .= sprintf("%02x", int(rand(256)));
-}
+$cookie = `mcookie`;
 
 system("xauth -f $xauthorityFile add $host:$displayNumber . $cookie");
 system("xauth -f $xauthorityFile add $host/unix:$displayNumber . $cookie"); 
@@ -227,6 +223,8 @@ if (-e "/tmp/.X11-unix/X$displayNumber")
 }
 $ENV{VNCDESKTOP}= $desktopName;
 
+delete @ENV{qw(SESSION_MANAGER)};
+
 system("$xstartup >> " . &quotedString($desktopLog) . " 2>&1 &");
 
 exit;
@@ -274,7 +272,7 @@ sub CheckGeometryAndDepth
 
 sub GetDisplayNumber
 {
-    foreach $n (1..99) {
+    for ($n = 1; $n < 100; $n++) {
 	if (&CheckDisplayNumber($n)) {
 	    return $n+0; # Bruce Mah's workaround for bug in perl 5.005_02
 	}
openSUSE Build Service is sponsored by