Ralf Rapude: vnc unter Linux zum laufen bringen

Hallo Forum,
nachdem ich mir gestern den ganzen Tag schon einen Wolf gesucht habe, um
bei Google und überall anders eine Lösung zu finden, poste ich mein Problem
jetzt hier im Forum, auch wenns ein bißchen OT ist und hoffe es ist
deshalb keiner böse :-).

Es geht dabei um folgendes:
Für unser Netzwerk kommt demnächst der Linux Server (SUSE 7.3) in ein
dunkles ruhiges Eckchen und soll dort stehen und arbeiten. Allerdings ohne
Maus, Tastatur und Bildschirm. Wenns was zu beackern gibt, wird das über
die Konsole gemacht und das ist ja auch größtenteils unproblematisch.
Es gibt allerdings Dinge (z.B. Pakete von der Suse CD einspielen), die
möchte ich gerne weiterhin über KDE machen und deshalb habe ich mir vnc
besorgt, den auf dem Windows Client installiert (war auch problemlos) und
habe den Linux Teil unter /usr/local/bin sowie probehalber in diversen
anderen Verzeichnissen abgelegt.

Leider konnte ich den Server unter Linux bisher kein einziges mal starten,
denn egal in welches Verzeichnis ich den Kram packe, es kommt stets die
Fehlermeldung "Xvnc is not in the path" wenn ich über ./vncserver starten
will und wenn ich versuche direkt über ./Xvnc loslegen will, dann kommt
folgende Fehlermeldung:

hartmut:/usr/X11R6/bin/vnc # ./Xvnc
06/12/01 10:31:44 Xvnc version 3.3.3r2
06/12/01 10:31:44 Copyright (C) AT&T Laboratories Cambridge.
06/12/01 10:31:44 All Rights Reserved.
06/12/01 10:31:44 See http://www.uk.research.att.com/vnc for information
on VNC
06/12/01 10:31:44 Desktop name 'x11' (:0)
06/12/01 10:31:44 Protocol version supported 3.3
06/12/01 10:31:44 Listening for VNC connections on TCP port 5900

Fatal server error:
Couldn't add screen

Kann irgendjemand weiterhelfen? Oder wenns nicht vnc ist, mir einen anderen
Tip geben, wie ich den Desktop unter Linux möglichst einfach auf eine
Windows Maschine exportiere? Das wäre prima.

Vielen Dank und Gruß
Ralf

  1. Hi Ralf,

    und habe den Linux Teil unter /usr/local/bin sowie probehalber in diversen
    anderen Verzeichnissen abgelegt.

    Hast Du die binaries direkt unter /usr/local/bin abgelegt, oder hast Du
    ein extra Verzeichnis fuer VNC gemacht?
    Ist /usr/local/bin auch in $PATH? (echo $PATH)
    Eigentlich sollte dieses lustige "Xvnc is not in the path" dann nicht wirklich
    kommen.

    will und wenn ich versuche direkt über ./Xvnc loslegen will, dann kommt
    folgende Fehlermeldung:

    hartmut:/usr/X11R6/bin/vnc # ./Xvnc
    Fatal server error:
    Couldn't add screen

    Ich weiss ehrlich gesagt nicht genau, was der Xvnc damit sagen will, vielleicht
    versucht er, :0 als X-Display zu benutzen, und da laeuft schon etwas? Auf jeden
    Fall bin ich mir ziemlich sicher, dass Du Xvnc nicht ohne Kommandozeilenoptionen
    direkt aufrufen kannst. Den Umweg ueber vncserver solltest Du auf jeden Fall
    benutzen. vncserver ist soweit ich weiss ein Perl Skript, Du kannst ja mal schauen,
    ob Du siehst, wann und warum Dir die "not in Path"-Meldung ausgegeben wird.

    Kann irgendjemand weiterhelfen? Oder wenns nicht vnc ist, mir einen anderen
    Tip geben, wie ich den Desktop unter Linux möglichst einfach auf eine
    Windows Maschine exportiere? Das wäre prima.

    Einfach waere wahrscheinlich ein X-Server unter Windows. Da bietet sich MiX an,
    das zumindestens als ich noch SuSE benutzt habe, auf der ersten CD unter /dosutils/
    zu finden war. Das Teil startest Du auf Windows, und gibst auf der Server-Konsole ein:

    DISPLAY="ip.des.win.rechners:0"
    export DISPLAY
    xprogramm&

    und das Programm wird auf Deinem Windows-Desktop gestartet.

    HTH,
    Gero

    1. Hallo Gero,

      Hast Du die binaries direkt unter /usr/local/bin abgelegt, oder hast Du
      ein extra Verzeichnis fuer VNC gemacht?

      Das wars. Ich hatte ein extra Verzeichnis gemacht. Verstehe ich zwar immer noch nicht ganz, wieso das ein Problem war, denn trotzdem lag ja beides im gleichen Verzeichnis, aber sei es drum. Laufen tut es erstmal :-)). Jetzt noch etwas feintuning (Auflösung usw.) und dann sollte es eigentlich funzen.

      Einfach waere wahrscheinlich ein X-Server unter Windows. Da bietet sich MiX an,
      das zumindestens als ich noch SuSE benutzt habe, auf der ersten CD unter /dosutils/
      zu finden war. Das Teil startest Du auf Windows, und gibst auf der Server-Konsole ein:

      Ich habe mal nach MiX gesucht. Freeware ist das leider nicht mehr und auch sonst scheints in dem Segment etwas dünn zu sein, was freie Sachen angeht. Vnc war nach langem Suchen wirklich das einzige, das mir "einigermaßen" adäquat erschien.

      HTH,
      Gero

      Sehr! Danke
      Ralf

      1. Hi Ralph,

        Das wars. Ich hatte ein extra Verzeichnis gemacht. Verstehe ich zwar immer noch nicht ganz, wieso das ein Problem war, denn trotzdem lag ja beides im gleichen Verzeichnis, aber sei es drum.

        Das ist so, weil Unix normalerweise aus Sicherheitsgruenden keine Programme im aktuellen Verzeichnis ausfuehrt -
        man muss sie explizit mit Verzeichnis angeben, damit das geht (./Xvnc z.B.)
        Die Sache ist naemlich die, dass man als Doof-User z.B. in /tmp ein file machen kann, namens "ls".
        Dort schreibt man fiesen Code rein, und dann muss man nur noch darauf warten, dass jemand als root in /tmp
        geht und sich das Listing anzeigen lassen will. ls fuehrt dann nicht /bin/ls sonder /tmp/ls aus, und schon
        ist alles kaputt.
        Man koennte natuerlich das vncserver-skript umbasteln, dass es ./Xvnc statt Xvnc ausfuehrt, aber nach einer
        Weile gewoehnt man sich schon daran, dass binaries an speziellen Plaetzen liegen. Das ist schon gut so.

        Sehr! Danke

        Bitte, gern geschehn.
        Tschuess,
        Gero