Masiwo
Anmeldungsdatum: 8. Mai 2014
Beiträge: 78
|
Hallo, ich habe gerade einmal probiert mir ein Autostartscript in der Init.d zu schreiben, aber leider funktioniert es nicht. Hier meine Schritte:
Datei mcmyadmin in etc/init.d erstellt.
Inhalt der Datei:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | #! /bin/sh
### BEGIN INIT INFO
# Provides: mcmyadmin
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: McMyAdmin Minecraft Server
# Description: McMyAdmin Minecraft Server
### END INIT INFO
# Author: Daniel
#
# Function that starts the daemon/service
#
case "$1" in
start)
su mcmyadmin -c "screen -S mcmyadmin -d -m ./Webinterface/MCMA2_Linux_x86_64"
;;
stop)
#Kommt noch
su mcmyadmin -c ""
;;
*)
echo "Benutze: `basename $0` {start|stop}" >&2
exit 1
;;
esac
exit 0
|
Nun hab ich die Datei mit chmod +x /etc/init.d/mcmyadmin ausführbar gemacht.
Anschließend habe ich noch folgendes eingegeben:
update-rc.d mcmyadmin defaults Kann mir jemand sagenn, wo der Fehler liegt/lag ? Danke für eine Antwort LG Daniel
|
ChaoZ
Anmeldungsdatum: 23. November 2005
Beiträge: 526
Wohnort: 247xx
|
Was genau funktioniert nicht?
|
Apfelkuchentisch
Anmeldungsdatum: 23. Oktober 2014
Beiträge: 6
|
wird das Skript nicht während der Initialisierung des Systems ausgeführt?
Da sind doch noch gar nicht unbedingt die Pfade der Programme und Benutzer gesetzt. Gibt denn dmesg eine Fehlermeldung aus?
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
Apfelkuchentisch schrieb: Da sind doch noch gar nicht unbedingt die Pfade der Programme und Benutzer gesetzt.
Das ist genau der Punkt, und es werden relative Pfade verwendet "./Webinterface". Und die Frage: ob "screen" ohne Terminal arbeitet ? @ Masiwo: init.d ist für Server-Dienste ohne GUI gedacht - ich denke das ist bei dir nicht der Fall?
Laut Beschreibung der Webseite (McMyAdmin - The Minecraft Web Admin Panel) ist das eher etwas für den "normalen" Autostart in deinem Userprofil. Viele Grüße u1000
|
Masiwo
(Themenstarter)
Anmeldungsdatum: 8. Mai 2014
Beiträge: 78
|
Hallo, Danke schonmal für die Antwort.
@u1000
Wie kann ich jedem Benutzer seine "eigenen" autostart scripte zuweisen ? Google hat mir da bis jetzt leider nicht so viel verraten. Danke für Hilfe LG Daniel
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Masiwo schrieb:
Wie kann ich jedem Benutzer seine "eigenen" autostart scripte zuweisen ? Google hat mir da bis jetzt leider nicht so viel verraten.
Du musst gar nicht so weit gehen: Autostart Das findet sogar unsere Suche. ☺
|
Masiwo
(Themenstarter)
Anmeldungsdatum: 8. Mai 2014
Beiträge: 78
|
Hallo, danke schonmal für die Hilfe. Das heißt, dass ich auf meinem Server einfach im Home-Verzeichnis des Benutzers den ordner .profile/autostart/ erstelle und in diesem z.B. SH bzw. Bash Scripte ablegen kann ?
Oder muss ich das wie auf der Autostart Seite beschrieben mit einem Desktop Entry machen (Halte ich eher für unwahrscheinlich da eine Serverumgebung ja keinen Desktop hat(<Klugscheißermodus> ausgenommen eines virtuellen</Klugscheißermodus> ). Danke für Hilfe LG Daniel
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Masiwo schrieb:
danke schonmal für die Hilfe. Das heißt, dass ich auf meinem Server einfach im Home-Verzeichnis des Benutzers den ordner .profile/autostart/ erstelle und in diesem z.B. SH bzw. Bash Scripte ablegen kann ?
Oder muss ich das wie auf der Autostart Seite beschrieben mit einem Desktop Entry machen (Halte ich eher für unwahrscheinlich da eine Serverumgebung ja keinen Desktop hat(<Klugscheißermodus> ausgenommen eines virtuellen</Klugscheißermodus> ).
Ich habe mich von diesem Posting ins Boxhorn jagen lassen:
init.d ist für Server-Dienste ohne GUI gedacht - ich denke das ist bei dir nicht der Fall?
Laut Beschreibung der Webseite (McMyAdmin - The Minecraft Web Admin Panel) ist das eher etwas für den "normalen" Autostart in deinem Userprofil.
McMyAdmin 2 stellt eine Web-Oberfläche bereit, ist also kein Standalone-Programm, das einen Desktop braucht. Die verlinkte Wiki-Seite beschäftigt sich mit Autostart in Desktop-Sessions. Das ist also nicht das richtige für Dich. Also ist init schon der richtige Weg, das zu starten. Dinge in Deinem Script, die zu Problemen führen könnten: Die Pfade passen möglicherweise nicht, weil Du sie nicht explizit setzt. Ich Option -l bei su nutzen, damit der Prozess im Home des Benutzers ausgeführt wird. Ich würde kein screen verwenden. Oder braucht das Programm eine Konsole?
Zum Debuggen kann es auch helfen die Ausgaben des Prozesses nach /tmp/log zu schicken, um Fehlermeldungen zu sehen. Ciao robert
|
u1000
Anmeldungsdatum: 2. Oktober 2011
Beiträge: 1850
|
rklm schrieb: Ich habe mich von diesem Posting ins Boxhorn jagen lassen:
Ist ja auch kein Wunder, da Masiwo nicht auf meine Fragen eingegangen ist ☹ rklm schrieb: Die Pfade passen möglicherweise nicht, weil Du sie nicht explizit setzt. Ich würde kein screen verwenden. Oder braucht das Programm eine Konsole?
Hatte ich auch schon hinterfragt... Viele Grüße u1000
|
Masiwo
(Themenstarter)
Anmeldungsdatum: 8. Mai 2014
Beiträge: 78
|
Hallo, das mit den Pfaden und der -I Option bei su könnte es sein. Ich dachte, dass su automatisch im home-verzeichnis des Benutzers ausführt, da damit ja praktisch der User "simuliert" wird. Entschuldigung, falls ich nicht auf alles Antworten eingegangen bin. Achja und McMyAdmin benötigt leider eine Konsole, deswegen muss ich wohl screen verwenden.
Ich probier das ganze morgen nochmal mit -I aus und schau mal wohin mich das ganze führt. Danke schonmal für die viele Hilfe. LG Daniel
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Masiwo schrieb:
das mit den Pfaden und der -I Option bei su könnte es sein. Ich dachte, dass su automatisch im home-verzeichnis des Benutzers ausführt, da damit ja praktisch der User "simuliert" wird.
Nicht "I" sondern "l"! Doch, das tut es schon. Kannst Du recht einfach verifizieren, indem Du su -l -c pwd mcmyadmin in einer Root-Shell eingibst.
Entschuldigung, falls ich nicht auf alles Antworten eingegangen bin. Achja und McMyAdmin benötigt leider eine Konsole, deswegen muss ich wohl screen verwenden.
Ich würde es trotzdem erst mal ohne versuchen. Du kannst die Ausgaben ja in eine Datei umleiten, um zu sehen, was da passiert. Ciao robert
|
Masiwo
(Themenstarter)
Anmeldungsdatum: 8. Mai 2014
Beiträge: 78
|
Hallo, okay ich glaube ich weiß jetzt wo der Fehler liegt. Das Skript möchte sich immer im Verzeichnis des Benutzers ausführen, mit dem ich es starte. Wie kann ich im Skript festlegen, welchen Pfad es als relativen Pfad Benutzen soll, sodass ich z.B. die Datei die vom Skript ausgeführt wird nicht mehr über den kompletten Pfad aufrufen muss sondern z.B. nurnoch mit ./MCMA_Linux.... Danke für eine Antwort LG Daniel
|
Masiwo
(Themenstarter)
Anmeldungsdatum: 8. Mai 2014
Beiträge: 78
|
Okay das ganze hat sich erledigt. Das ganze ist nur fehlgeschlagen weil im StartSkript von MCMyadmin wohl ein Fehler war. Laut des Entwicklers ist dieser nun allerdings behoben und alles funktioniert wieder bestens 😉
|