# Ports Programm starten

## JoHo42

Hi Leute,

wenn ein Port geoeffent wird ist es moeglich dann ein Programm zu starten?

Wenn ja wo gibt es Scripte / Programme dafuer.

Kurz erklaert bei mir laeuft ein VNC Server.

Wird jetzt mit dem VNC eine Verbindung gemacht, soll hier ein Programm

gestartet werden.

Gruss Joerg

----------

## bunder

Moved from Deutsche Dokumentation to Deutsches Forum (German).

----------

## disi

Nur so eine Idee, ich kenne mit leider nicht mit VNC so gut aus.

Falls FreeNX in Frage kommt, koennte man ja mit der xinitrc die Programme starten die der Benutzer haben soll in der xsession.

p.s. startet der VNC denn auch eine neue xsession oder verbindet er nur zu einer bestehenden?

//edit: nicht in default so wie es scheint:

Now the server is started and a user could connect, however they will get a plain grey desktop by default as the connection will not cause a new 

session of X to start by default, to fix this we need to edit the startup script in the .vnc folder in your home directory.

das waere der workaround um doch eine eigene xsession zu bekommen mit vnc: http://www.bobpeers.com/linux/vnc.php

----------

## JoHo42

Hi,

danke fuer die erste Idee.

Aber das ist irgendwie noch nicht das was ich will.

Ich habe auch kein KDE und nichts.

Wenn ich mir das ganze mit netstat -p anschauen,

weiss ich ob die VNC verbindung hat oder nicht.

Jetzt muss ich egentlich nur ein script haben,

das bei Verbindung ein Programm startet.

Ich weiss, das es hier im Forum dafuer schon loesungen

gegeben hat.

Allerdings finde ich diese nicht.

Gruss Joerg

----------

## Dragonix

Und wie wärs mit xinetd?

https://forums.gentoo.org/viewtopic.php?t=72893

Hat so mal meinen Server laufen, aber als ich ihn neu aufgesetzt hab, hab ich das ganze X Zeugs sein gelassen, und verwalte ihn nur über ssh...

----------

## JoHo42

Irgendwie verstehe ich das xinedt nicht.

Mir reicht es ja schon, wenn ein Programm auf einem bestimmten Port

schaut, ob auf diesem eine Verbindung ist oder nicht.

Wenn es zu einer Verbindung kommt, soll der ein Programm starten und

wenn die Verbidung beendet soll er das Programm beenden.

Irgendwie habe ich nicht das Gefühl, dass das xinetd hinbekommt.

Gruss Joerg

----------

## phixom

Genau das macht Xinetd bzw. der Vorgänger inetd

Er lauscht auf einem bestimmten Port und wenn dort eine Verbindung eingeht startet er ein Programm und leitet die Pakete an das entsprechende Programm weiter. Man muss dem zugehörigen Programm nur sagen, dass es von Xinetd die Daten empfangen soll.

Wird die Verbindung beendet, beendet Xinetd auch das Programm.

phixom

----------

## JoHo42

Jo das ist doch mal was.

Genau das suche ich und bekomme es nicht am laufen.

Ich bin die Anleitung durchgegangen.

Es geht nicht.

Ich habe in der /etc/service den VNC Port beigeschrieben.

Danach die Datei /etc/xinetd/xvncserver angelegt und

service vnc reingeschrieben und unter

server = /usr/bin/x11vnc reingeschrieben.

Doch bei ansprechen des Portes 5900 VNC reagiert auf der anderen Seite nichts.

Gruss joerg

Es kommt doch mal Licht ins dunkel besten dank

----------

## phixom

Nehmen wir mal das Beispiel aus dem obrigen Link zu xinetd

```
service vnc-640x480x8

{

          protocol = tcp

          socket_type = stream

          wait = no

          user = nobody

          server = /usr/bin/Xvnc

          server_args = -inetd -query localhost -once -geometry 640x480 -depth 8

} 
```

Du hast bei server_args dem x11vnc mitgeteilt das er von (x)inetd aufgerufen wird?

Du hast alle anderen Parameter konfiguriert?

Du bist dir sicher, dass x11vnc auch per stream von xinetd lesen kann?

Du hast dir die Funktionsweise von xinetd angeschaut?

phixom

----------

## JoHo42

Hi,

[*]Du hast bei server_args dem x11vnc mitgeteilt das er von (x)inetd aufgerufen wird?

Habe ich -inetd ist das Kommando.

[*]Du hast alle anderen Parameter konfiguriert?

Weiss ich nicht.

[*]Du bist dir sicher, dass x11vnc auch per stream von xinetd lesen kann?

Ich hoffe es

Du hast dir die Funktionsweise von xinetd angeschaut? 

Genau die brauche ich mal eine gute Antleitung was das Programm ueberhaupt macht und wie

es Funktioniert.

Muss ich z.B. xinetd und x11vnc als daemon am laufen haben oder brauche ich nur xinetd und der startet

dann x11vnc.

Wo bekomme ich mal eine beschreibung zu dem ganzen her?

Ich habe mit die Webseite von xinetd angeschaut, dort gibt es nur ein FAQ.

Meine wichtigste Frage ist auch, kann ich ein externes Programm / Script starten?

Also wenne eine Verbindung zwischen zwei PCs ueber den VNC besteht siehe netstat -p,

dann moechte ich ein Skript starten welche Befehle auf der Komandozeile aufruft.

Gruss Joerg

----------

## phixom

 *JoHo42 wrote:*   

> Hi,
> 
> [*]Du hast bei server_args dem x11vnc mitgeteilt das er von (x)inetd aufgerufen wird?
> 
> Habe ich -inetd ist das Kommando.
> ...

 

OK das klingt schomal gut.

 *JoHo42 wrote:*   

> 
> 
> [*]Du hast alle anderen Parameter konfiguriert?
> 
> Weiss ich nicht.
> ...

 

Schauen wir doch mal bei der Konkurenz:

http://www.tu-chemnitz.de/docs/lindocs/RH73/RH-DOCS/rhl-rg-de-7.3/s1-tcpwrappers-xinetd.html

http://wiki.ubuntuusers.de/xinetd

 *JoHo42 wrote:*   

> 
> 
> Meine wichtigste Frage ist auch, kann ich ein externes Programm / Script starten?
> 
> Also wenne eine Verbindung zwischen zwei PCs ueber den VNC besteht siehe netstat -p,
> ...

 

Ja kann es, aber dann nimmt der vnc  keinen Stream mehr von Xinetd an.

Hier ist doch eine gute Anleitung wie es geht.

http://gentoo-wiki.com/HOWTO_RealVNC%2C_TightVNC%2C_XF4VNC

Dann schau auch, dass diverse Standard- und Sicherheitseinstellungen korrekt gesetzt sind. (Allowed hosts, localhost,...)

Setze die ordentliche Logeinstellungen und schaue ob er was da rein schreibt.

phixom

----------

## JoHo42

Ja das ist doch mal eine Hilfe.

Aber ich habe es immer noch nicht am laufen.

Wenn der VNC verbindung mit dem Server herstellt beginnt auch der VNC Server ans laufen.

Soweit so gut.

Aber die Verbindung wird nach 4 sec unterbrochen.

Meldung:

VNC Viewer Free Edition 4.1.2 for X - built Jul  6 2007 14:28:15

Copyright (C) 2002-2005 RealVNC Ltd.

See http://www.realvnc.com for information on VNC.

Fri Jan 18 09:42:06 2008

 CConn:       connected to host 192.168.1.155 port 5900

Fri Jan 18 09:42:10 2008

 main:        End of stream

Eine zweite Sache:

Ich habe mir ein Script geschrieben und will den VNC und ein weiteres Programm starten.

Wenn ich dieses Script vom xinetd starten lasse, funktioniert es nicht.

Ausser ich nehme das zweite Programm raus und alsse nur den vnc drin.

Dann laeuft das Script Problem los.

Gruss Joerg

----------

