aMule Forum
Deutsch => aMule Hilfe => Topic started by: MiniMe on April 17, 2005, 10:55:09 PM
-
moin,
ich versuche nun schon seit tagen amule und amuleweb automatisch beim hochfahren oder per cron-job aus einem skript zu starten. Beim amule selbst ist das endlich gelungen, sieht so aus:
/usr/X11R6/bin/Xvfb :1 -auth /etc/X.conf -screen 0 640x480x16 &
DISPLAY=:1 amule &
das funktioniert zwar prinzipiell, aber wenn ich ich das als boot-script anlege (mit Webmin) dann tut sich gar nichts. Schlimmer ist das Problem mit amuleweb: entweder es beendet sich gleich nach dem starten, oder es läuft (d.h. wird als laufender prozess angezeigt) aber beim connecten zum server krieg ich nur eine leere seite zu sehen. Hier mal ein paar auszüge der unterschiedlicen arten wie ichs schon probiert hab:
#/usr/X11R6/bin/Xvfb :2 -auth /etc/X.conf -screen 0 640x480x16 &
#DISPLAY=:2 /usr/bin/amuleweb -pw pw
#screen -d -m -S amulewebsession amuleweb -p 4712 -pw pw
#nohup /usr/bin/amuleweb -pw pw &
#nohup /usr/bin/amuleweb -pw pw >/var/log/amuleweb.log 2>&1 &
/usr/bin/amuleweb -pw pw /dev/tty8 & disown
den effekt mit der leeren seite hab ich übrigens auch wenn ichs mit der option "-q" starte. Ich bin langsam am verzweifeln, denn der esel soll auf meinem router laufen, an den ich sicher nicht jedesmal ne tastatur und einen bildschirm hänge will nur um ihn einmal zu starten...
ich hoffe jemand kann mir helfen!!??
thx!
-
nach ein wenig suche im englischen forum hab ichs mit dieser methode versucht:
http://forum.amule.org/thread.php?threadid=4927&sid=&hilight=amuleweb+script
das Problem: amuleweb startet überhaupt nciht. Das Skript hält einfach an nachdem amule gestartet ist. (ja, ich habe 3 minuten gewartet ;)
-
Das mit der leeren Seite kann ich nur bestaetigen. Dagegen habe ich allerdings noch nichts wirksames gefunden.
Neustarten des amuleweb hilft definitiv nicht.
-
@prilmeie: wenn du eine leere seite hast, aber amuleweb läuft kann das daran leigen das das tmpl zb net geladen wurde
wenn die seite (localhost:4712) aber einen timeout bekommt, oder connection refused dann läuft nicht mal der webserver.
also a oder b, bei a muss man halt das tmpl und die webserver pics kompieren, dazu hats eine howto auf der wiki seite.
bei b, muss man halt schauen warum es den webserver nicht started. hier könnte zb der fehler sein das man die -q option vergessen hat, ohne die der webserver im hintergrund nicht läuft
gruss
-
das mit dem template klingt logisch, aber ich glaube dass das teil and er richtigen stelle liegt. Denn wen ich amuleweb "normal" starte, funtioniert er auch einwandfrei. Habs auch nach der anleitung im Wiki eingerichtet...
-
yup, ich meinte auch nicht dich sondern prilmeie....
kannst du mal ein -q hinten an amuleweb dran machen? als option....das is eigentlich für den "backgroud" betrieb gedacht...
-
Das -q ist zwar bei den geposteten beispielen nicht dabei, aber ich habe es auch damit versucht. Und im Moment benutze ich das Skript von prilmeie. Und da sehen die wichtigen 3 Zeilen nach dem amule-start so aus:
sleep 1
/bin/su - $USER -c "/usr/bin/nohup $AMULE_WEB_CLIENT -q -pw \"$CONNECTION_PASSWORD\" -apw $WEB_PASSWORD > /dev/null 2>&1 &"
echo "$NAME."
Das -q ist also vorhanden, aber amuleweb startet erst gar nicht. Das Skript hält nach dem start von amule einfach an. Die ausgabe im terminal bleibt also hier stehen:
*** TCP socket at 8886
AICH Thread: Syncronization thread started.
ListenSocket: Ok.
*** UDP socket at 8896
AICH Thread: Masterhashes of known files have been loaded.
AICH Thread: No new files found.
AICH Thread: Thread terminated.
Weiter tut sich nichts mehr. amuleweb wird mir auch nicht als laufender prozess angezeigt. Wenn ich es selbst starte mit "amuleweb -q -pw pw" dann sehe ichs als laufenden Prozess aber ich kriege eine weisse Seite beim connecten, obwohl es im "Normalbetrieb" richtig funzt.
ich hoffe irgendjemand hat noch ne rettende idee, verzweifle nämlich langsam an diesem "Problemchen"... ?(
-
ich würde dir aus debug zwecken empfehlen, mal ein paar echo "blabla" hinten ranzuhängen um zu schauen ob das kommt nach dem amule aufruf, ansonsten liegt es an der amule zeile NICHT an der amuleweb zeile ;)
-
eine saugute Idee!! Danke!
hab nämlich festgestellt, dass es doch meine Schuld war. War der meinung dass der standard von "sleep" die zeit in minuten angibt. Dabei sind es Sekunden. :] Und das waren einfach zu wenig. Auf diesem alten 600er Athlon braucht amule so ca. ne halbe Minute zum starten. Jetzt funktioniert das Skript einwandfrei... naja FAST:
wenn ichs als bootskript starten lasse (in /etc/init.d/aMule), dann steht zwar am Anfang da "starte amule" und es erscheint auch kurzzeitig die aMule oberfläche, aber wenn das System fertig gebootet hat läuft es trotzdem nicht. amuleweb schon, aber eben amule selbst nicht. Hast du eine Ahnung woran das liegen könnte? Denke es hat evtl. was mit dem Xvfb zu tun. Aber ich hab mich vorher nie damit beschäftigt und bin relativer linux-neuling, also hoffe ich wieder dass jemand mehr weiss...
-
ich hab nochmal ne frage:
da amuleweb ja bekanntermassen oft abstürzt, wollt ich mir ein Skript schreiben, dass es automatisch neustartet wenn amuleweb nicht mehr läuft. hab mir daraufhin die zeile
/bin/su - $USER -c "/usr/bin/nohup $AMULE_WEB_CLIENT -q -pw \"$CONNECTION_PASSWORD\" > /dev/null 2>&1 &"
aus prilmeies Skript rauskopiert und sie leicht abgewandelt (ohne die Variablen):
/bin/su - meinuser -c /usr/bin/nohup /usr/bin/amuleweb -q -pw meinpwd > /dev/null 2>&1 &
Und das in ein anderes Skript geschrieben. Resultat: startet nicht!
Hab ein Workaround gemacht indem ich einfach einen neuen Eintrag in das Original-Skript eingefügt hab der nur amuleweb startet, was auch funktioniert (mit der Original-Zeile von prilmeie), aber jetzt würds mich doch brennend interessieren wo denn da der Unterschied ist. ich blicks nich :(
Das Problem dass amule beim Systemstart beendet wird besteht übrigens immernoch...
-
das amule funktioniert aber wenn du es NICHT beim systemstart startest? also ganz normal amule aufrufst?
kannst du mal
rpm -qa | grep wx
posten?
problem bei deinem abgewandelten script is das die " " fehlen, bei der -c option wird ohne "" nur das nächste kommando genommen also /usr/bin/nohup, da fehtl dann aber logischweise der rest mit amuleweb usw..wenn du die "" setzt, nimmt er alles was in den "" ist
-
Klar doch:
rpm -qa | grep wx
wxGTK-2.4.2-1
wxGTK-devel-2.4.2-1
wxBase-2.4.2-1
Also wenn ich das amule script aus einem terminal oder per webmin, cron etc. starte funzt es einwandfrei. Auch per ssh kann ich es starten. Wenn es beim Systemstart gestartet wird, startet amule auch (wird sogar sichtbar, obwohl es ja Display 1 ist) und wird dann beendet. Aber wann genau und warum weiss ich nicht. Er läuft jedenfalls lang genug damit amuleweb starten und sich connecten kann (denn das läuft auch weiterhin). Also muss er mind. 40 sekunden überleben (hab "sleep 40" eingetragen).
Wegen den " ": dachte ich hatte es auch ohne -c Option probiert. Kann mich aber auch irren. Gewundert hab ich aber vor allem über die inneren " " in \"$CONNECTION_PASSWORD\". Bin halt noch nicht so ganz fit im skripten...
-
hmm rpms passen, das ist also in ordnung....
und das mit dem display, es kommt im richtigen display also 1 ?
kannst du es mal beobachten? vielleciht mit vnc-viewer oder so? dann müsste doch zu erkennen sien, was passiert...und sich vielleciht etwas eingrenzen lassen warum er abkackt...
-
Also gestartet wird es wohl im Display 1, denn das hab ich eingetragen. Aber wie das mit dem vnc-viewer funktionieren soll musst du mir doch mal ekläen. Installiere ich den auf einem anderen rechner im netz oder was steckt dahinter? So wie ich das verstanden hab kann man damit doch die ausgabe eines anderen rechner beobachten (einer mit X-Server). Aber momentan hab ich noch einen bildschirm am router hängen und kann das selbst beobachten. Es gibt übrigens einen haufen "vncviewer" im netz, die meisten für MacOS. Hast du da einen tipp für mich?
thx
-
realvnc is wohl der bekannteste....
und wenn du mit dem monitor davorhängst, dann solltest du doch sehen können, ob oder ob nicht auf em :1 amule gestartet wird..!?
und wenn du es siehst, dann sollte sich doch einschätzen lassen wann genau amule abstürzt...
-
Leider lässt sich das nicht sagen auf welchem Display er startet. Es heisst nur "starte amule", die ganz normale amule-gui taucht auf, dann gehts wieder zurück in den boot-bildschirm (amule ist aber eines der letzten dinge die gestartet werden). Dann schaltet er noch einmal kurz zurück, wenn amuleweb gestartet wird (also 40 sec. später), ich kann also die meldung "connection accepted" im amule noch lesen. Dann ist der bootvorgang auch schon fast abgeschlossen und ich lande im anmeldebildschirm. Sobald ich mich angemeldet habe (als der benutzer unter dem amule auch wirklich läuft) is keine spur mehr von amule zu sehen.
Und es wird leider nirgendwo angezeigt, welches Display denn jezt zu sehen ist (oder muss ich auf was besonderes achten??). Es wundert mich schon dass das virtuelle überhaupt angezeigt wird. Vielleicht ist das Problem ja auch Fedora-spezifisch, prilmeie benutzt Debian und bei ihm funktioniert es ja angeblich. Hab das Problem auch schon bei linuxforen.de gepostet (schon vorher sogar). Wusste aber auch niemand eine Lösung... Wenigstens kann ich dank eurer Hilfe das teil jetzt per ssh starten (zumindest hats einmal funktioniert, habs mir angewöhnt mich nicht mehr zu früh zu freuen...). Muss dazu zwar den zweiten rechner hochfahren aber besser als hinterm schreibtisch rumzukriechen isses allemal ;)
-
ähhmmm mit strg-alt F8 müsstest du eigentlich auf das :1 display kommen und sehen können ob da was läuft...
mit strg-alt -F7 bist du auf dem ganz normalen display...