IPSToolsForLinux

Hallo Community,

heute möchte ich ein kleines Projekt vorstellen, welches ich in den letzten Tagen realisiert habe. Wie der Name schon erahnen lässt hat es einen direkten Bezug zu den IPSTools von Brownsen und Linux…

Es handelt sich kurz gesagt um einen TCP-Server der unter Linux läuft und die gleichen „Funktionen“ zur verfügung stellt (stellen soll - es fehlt noch so einiges) wie besagte IPSTools - hin bis zur Syntax der Response- und Repley-Telegramme.

Kurz zum Hintergrund:
Da ich Linux (genau genommen Kubuntu) als OS für mein zentrales Bedienterminal einsetze musste ich eine Lösung für die Remote-Steuerung bzgl. Bildschirm usw. finden. Auch die Remote-Überwachung war mir ein Thema. Also bin ich auf Suche gegangen und recht schnell bei den IPSTools gelandet - nur leider hatte ich ja kein Windows am Start. Also was tun? Selber machen - und da habe ich mir dann gedacht, das ich ja das Rad nicht zu 100% neu erfinden muss… ich brauchte nur einen anderen Schlauch ;).

Also hab ich mich hingesetzt eine erste Version eines TCP-Servers in PHP geschrieben - furchtbar einfach und zu 100% aus dem Netz „geklaut“. Mit ein paar Anpassungen war dann recht schnell eine erste Version am Start. Nach und nach habe ich dann noch einige (für mich die wichtigsten) Funktionen nachgerüstet und bin nun an dieser Stelle des Weges angekommen und entlasse eine erste Apha-Version in die Freiheit der Community. Ach ja, ganz Linux-like wird der Server zu 100% über Kommandozeilenparameter gesteuert - wer braucht schon ein grafisches Interface :D.

Kurz zur Installation / Betrieb:
Ich habe mir ein kleines Startscript geschrieben, in welchem der „Dienst“ via
„nohup {pfad/zum/script} &“
gestartet wird. Beim Aufruf ohne Parameter wird ein Defaultserver gestartet, der auf allen Interface verbindet und den Port 7002 ablauscht. Über einen Aufruf mit --help kann eine Übersicht der Parameter und implementierten Funktionen angezeigt werden. Ach ja, das Script muss natürlich als AUSFÜHRBAR gekennzeichnet sein - und es benötigt KEINE ROOT Rechte, solange der Port über 1024 bleibt. Derzeit wird es wohl nicht möglich sein das Script z.B. per Upstart als Daemon zu nutzen, da ich dann keine Verbindung zum X-Server bekomme und der verwendete xset-Befehl dann ins leere läuft.

Sollte noch jemand fragen haben bitte hier stellen - und wenn jemand lust hat darf er gerne am Code schrauben - nur dann bitte wieder veröffentlichen. Man möge bitte auch die „krautige“ Programmierung entschuldigen - aber ich bin halt nur aus Hobby am programmieren ;).

So, nun wünsche ich noch viel Spaß und natürlich allen ein frohes und besinnliches Fest und einen guten Rutsch ins neue Jahr.

IPSToolsForLinux V0.3a.zip (12.5 KB)

kennst du diese Vorgehensweise von der remote Shell?

http://systembash.com/content/how-to-turn-off-your-monitor-via-command-line-in-ubuntu/

Gruß,

Toni

Hi

@Toni:
Hey, die Präsenz ist ja interessant - hab ich gar nicht gekannt.
Woher ich das mit dem xset hatte? Keine Ahnung, ich hab sooooo viele Seiten durchsucht… :rolleyes:

@all:
Ich habe gerade im ersten Post eine neue Version eingefügt. Folgendes hat sich geändert:

[NEU] Request <MousePosition> hinzugefügt
[NEU] Zyklisches Senden der MouseIdlePos hinzugefügt
Wird per Kommandozeilenparameter gesteuert, Details dazu per --help
[NEU] Zusätzliches Kommandozeilentool GetMousePos (inkl. C-Quellcode) aufgenommen
[FIX] Diverse kosmetische Anpassungen am PHP-Quellcode

Wünsche noch schöne Weihnachtstage und ggf. einen guten Rutsch ins neue Jahr.

Hi

Im ersten Beitrag findet sich eine neue Version: V0.3a

[FIX] MouseIdle Überwachung reagiert nicht auf Mausbewegung. Ursache war eine relative Pfadangabe zum Tool „getMousePos“.

MfG.

Hallo zusammen,

ich weiß, ich grabe hier einen uralten Thread aus, aber das Thema (und damit das Tool!) ist doch topaktuell.
Habe gerade den Touchscreen-Rechner in der Diele mit Linux Mint ausgestattet und versuche nun, die Features des bisherigen Windows-Rechners unter Linux zu realisieren. Ob das mit der Sprachausgabe klappt, lassen wir mal dahingestellt - aber das automatische Einschalten des Monitors bei Bewegung erhöht den WAF ungemein …

So bin ich hocherfreut auf das 4 Jahre alte Tool gestoßen. Damals allerdings war IP-Symcon noch etwas jünger, und auch PHP lag nicht in Version 7 vor. Kurz: ich bekomme es nicht zum Laufen.
Die Socket-Verbindung steht angeblich (zumindest behauptet netstat „verbunden“ und auch Symcon meldet Vollzug). Leider scheint über den Socket nicht viel ausgetauscht zu werden - der Client bekommt nichts von den Befehlen mit.
Letztendlich versuche ich nur, ein ScreenPowerOn zu schicken:

define ("ID_IPSTOOLS_SOCKET",       10608 /*[IPSTools_Socket]*/);
function IPSTools_SetScreenPower($enabled) {
   if ($enabled) {
      CSCK_SendText(ID_IPSTOOLS_SOCKET , 'ScreenPowerOn');
   } else {
      CSCK_SendText(ID_IPSTOOLS_SOCKET , 'ScreenPowerOff');
   }
}

Nach einem IPSTools_SetScreenPower(TRUE); hat das beim Windows-Client tadellos funktioniert.
Habt ihr eine Idee, woran es hier scheitert?

Freue mich über jeden Hinweis.
Danke und Gruß

Karsten