PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FMSCrusader Autostart Linux



Medic
24.08.2006, 11:06
Hallo NG,

Kennt jemand eine Möglichkeit den Crusader-Server auf einem Headless-Linux-System automatisch zu starten?

Gruß

Medic

nh2
24.08.2006, 22:16
Hallo Medic,

wenn du mir verrätst was ein Koploses Linuxsystem ist ;-)
Ich denke mal ohne Monitor.
Weitere annahme, du brauchst nur den Server ohne X

Wenn das Programm beim booten automatisch gestartet werden soll bietet sich die /etc/init.d/boot.local an, darin dann den
'/pfad zu java/java' -jar /Pfadzumcrusader/FMSCrusaderVx-xx.jar -SNF

Falls es Probleme geben sollte, ein script/batch aufrufen in dem steht:
#/bin/bash
cd /Pfad zum Crusader/
'/pfad zu java/java' -jar /Pfad zum Crusader/FMSCrusaderVx-xx.jar -SNF

Falls du doch was anderes möchtest, meld dich nochmal

Gruss
nh2

Medic
25.08.2006, 09:48
Hallo nh2,

Ja Kopflos meint ohne Monitor und Tastatur und ja ich brauch nur den Server ohne X.

Danke für den Tipp mit -SNF, diesen Parameter kannte ich noch nicht, ein klarer Fall für RTFM.

Danke und Gruß

Medic

Fabpicard
25.08.2006, 09:49
Ich würde das anders machen...

Mach eine .sh datei (Inhalt kann ich dir bei bedarf heute Abend schicken)

In der du eine Abfrage machst, ob der crusader-server schon läuft, falls nicht dann wird er gestartet...

Und diese Datei hängst du dann in "cron" ein und lässt das jede minute gegenchecken ;)

Dann ist gewährleistet, dass er (nach spätestens einer minute) automatisch neu gestartet wird, falls er mal unerwartet beendet wird...

MfG Fabsi

MacLeod
30.01.2007, 23:16
ich muß das noch mal nach oben schieben...

wenn ich ein script in etc/init.d anlege und es ausführe, kommt:
....
java.lang.NullPointerException
at de.FMSCrusader.Server.TelegramCapture.<init>(TelegramCapture.java:106)
at FMSCrusader.main(FMSCrusader.java:252)
java.lang.NullPointerException
at de.FMSCrusader.Server.TelegramCapture.<init>(TelegramCapture.java:106)
at FMSCrusader.main(FMSCrusader.java:252)
.......
der server ist dann auch gestartet aber java benötigt dann die volle cpu-last

mein skript sieht so aus:

#/bin/bash
cd /home/macleod/FMS
/usr/bin/java -jar /home/macleod/FMS/FMSCrusader.jar -SNF


starte ich per konsole als normaler user klappt es aber, cpu-last ist dann normal.
wäre nett wenn jemand ne lösung hätte...

cu
MacLeod

haehnle
31.01.2007, 08:00
Hi,

habe kurz in den Code geschaut. In Zeile 106 steht eine normale
Konsoleausgabe. Fehlen da die Rechte??

Gruß,
Jochen

MacLeod
31.01.2007, 13:48
hm... rechte ... eher nicht so...
rechte sind auf 755

start über root, kommt der oben genannte fehler
start über user auf der konsole selbst lüppt einwandfrei

*heul*

MacLeod

Fabpicard
31.01.2007, 17:39
hm... rechte ... eher nicht so...
rechte sind auf 755

start über root, kommt der oben genannte fehler
start über user auf der konsole selbst lüppt einwandfrei

Und wiso startest dann nicht mit dem Skript als user???

Zudem ist die Zeile "cd /home/macleod/FMS" völlig überflüssig, wenn du eh danach den kompletten pfad mit angibst ;)

Öhm.. wir war das jetzt *g*

probier mal:
--------------
#/bin/bash
su - userunterdemesgestartetwerdensoll
/usr/bin/java -jar /home/macleod/FMS/FMSCrusader.jar -SNF
--------------

eventuell auch in einem screen starten ^^

MfG Fabsi

MacLeod
31.01.2007, 20:05
huhu

wenn ich
su - macleod
mit auf den weg gebe kommt:

Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:317)
at java.awt.Frame.<init>(Frame.java:419)
at java.awt.Frame.<init>(Frame.java:384)
at javax.swing.JFrame.<init>(JFrame.java:150)
at FMSCrusader.<init>(FMSCrusader.java:45)
at FMSCrusader.main(FMSCrusader.java:282)

sorry aber so ein linux freak bin ich nicht. su - username kannte ich auch noch nicht. aso, wie oben schon steht habe ich auch ein serversysem ohne grafik.

hat noch einer ne idee?

Fabpicard
31.01.2007, 20:46
sorry aber so ein linux freak bin ich nicht. su - username kannte ich auch noch nicht. aso, wie oben schon steht habe ich auch ein serversysem ohne grafik.

"su" steht für "mach mich zu"...

siehe dazu "rtfm" ""man su" ;)

Aber ich denke mal, das wird ein bash Problem sein, mit der Java-Engine...

Ich gebs gleich mal an mein "Linux-Orakel" hier im Haus weiter, dann weis ich mehr...

MfG Fabsi

MacLeod
31.01.2007, 21:23
das wäre suuupi!
hoffe das es doch irgendwie klappt

Fabpicard
31.01.2007, 22:56
So...

Per Bash-Skript ist nicht gut *g*... das war die 1. Aussage :D

Desweiteren meinte er du solltest es mal mit dem Skript:

/etc/init.d/skeleton

probieren...

Dadrin wird der "start-stop-daemon" verwendet...

Dabei musste dich allerdings mal selbst du die manpage (also: "man start-stop-daemon") wühlen, was du alles davon brauchst :)


Desweiteren starte das proggie mal von hand und schau dir an, welche "globalen variablen" java da braucht...

Damit könntest nämlich noch Probleme bekommen, was zu den Fehlermeldungen und den Fehlern führen könnte ;)

MfG Fabsi

P.S.: Mehr kann ich dir allerdings nichtmehr helfen, da ich das "j-wort" in seiner gegenwart nichtmehr verwenden darf :D *hrhrhr*

Shinzon
01.02.2007, 04:52
No X11 DISPLAY variable was set, but this program performed an operation
which requires it.


Da würde ich folgende Zeilen versuchen (ungeprüft, hab das Programm nicht):

su - <username>
export DISPLAY="127.0.0.1:0.1" ;(oder wo auch immer dein X-Server läuft)
cd /home/<username>/<pfad zu javaprg>
java .....

@Fabsi:
Das "cd" ist sehr wohl sicher, da im Java-Aufruf kein Arbeitsverzeichnis
gesetzt wird.. sonst sucht Java evtl. im aktuellen, aber nicht im richtigen
Verz. nach Daten.