Automatisches Starten von X11- App. nach Server-Start
Automatisches Starten von X11- App. nach Server-Start
Hallo zusammen,
ich habe eine Java- Applikation, die nur mit X11 lauffähig ist. Ich müsste diesen Dienst jedes mal automatisch starten, wenn der Server rebootet oder gestartet wird. Nun zu meiner Frage. Wie kann ich es erreichen, dass eine X11-Applikation, ohne! dass ich mich extra anmelde, im Hintergrund für meinen User gestartet wird? (Wer sich darunter nichts vorstellen kann: Es soll wie bei einem Windows Server funktionieren. Dieser wird hochgefahren und im Hintergrund laufen dann die notwendigen Prozesse und Programme.)
Ich weiß, auf einem Linux- Server sollte kein X11 installiert sein, etc. etc., jedoch lässt sich das aufgrund der Applikation nicht vermeiden.
Ich habe diesen Server noch nicht installiert. Deswegen bin ich sehr flexibel und würde mir gerne ein paar Meinungen einholen, wie man das Problem am besten lösen könnte.
Welchen X11-Server würdet ihr empfehlen?
Hardware:
Mainboard: Zotac ION ITX A, GeForce 9400 (dual PC2-6400U DDR2)
RAM: 4GB
HD: 2 x 500GB (RAID 1)
Ich würde mich über ein paar Vorschläge freuen.
Vielen Dank im Voraus
lg
ich habe eine Java- Applikation, die nur mit X11 lauffähig ist. Ich müsste diesen Dienst jedes mal automatisch starten, wenn der Server rebootet oder gestartet wird. Nun zu meiner Frage. Wie kann ich es erreichen, dass eine X11-Applikation, ohne! dass ich mich extra anmelde, im Hintergrund für meinen User gestartet wird? (Wer sich darunter nichts vorstellen kann: Es soll wie bei einem Windows Server funktionieren. Dieser wird hochgefahren und im Hintergrund laufen dann die notwendigen Prozesse und Programme.)
Ich weiß, auf einem Linux- Server sollte kein X11 installiert sein, etc. etc., jedoch lässt sich das aufgrund der Applikation nicht vermeiden.
Ich habe diesen Server noch nicht installiert. Deswegen bin ich sehr flexibel und würde mir gerne ein paar Meinungen einholen, wie man das Problem am besten lösen könnte.
Welchen X11-Server würdet ihr empfehlen?
Hardware:
Mainboard: Zotac ION ITX A, GeForce 9400 (dual PC2-6400U DDR2)
RAM: 4GB
HD: 2 x 500GB (RAID 1)
Ich würde mich über ein paar Vorschläge freuen.
Vielen Dank im Voraus
lg
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
- Finswimmer
- Bodhisattva

- Posts: 5467
- Joined: Thu Sep 02, 2004 3:46 pm
- Location: Langen (Hessen), Germany
Hallo Tobi,
ich habe die Zeilen in die /etc/conf.d/local.start eingefügt. Leider klappt es mit der X-Session nicht wie gewollt. Nachdem ich mich unter Fluxbox via Slim anmelde, ist kein X-App. (in dem Fall teste ich das mit Firefox) zu sehen und in der Prozessliste läuft ebenfalls kein Firefox.
Andere Non-X- Commands funktionieren jedoch ohne Probleme.
Hast du vielleicht eine Idee, woran das liegen kann?
Danke im Voraus,
lg mci
ich habe die Zeilen in die /etc/conf.d/local.start eingefügt. Leider klappt es mit der X-Session nicht wie gewollt. Nachdem ich mich unter Fluxbox via Slim anmelde, ist kein X-App. (in dem Fall teste ich das mit Firefox) zu sehen und in der Prozessliste läuft ebenfalls kein Firefox.
Andere Non-X- Commands funktionieren jedoch ohne Probleme.
Hast du vielleicht eine Idee, woran das liegen kann?
Danke im Voraus,
lg mci
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
- Klaus Meier
- Advocate

- Posts: 2908
- Joined: Mon Apr 18, 2005 8:08 pm
- Location: Bozen
Beim gdm und wohl auch beim kdm kannst du ein autologin konfigurieren, so dass Gnome automatisch gestartet wird und sich ein Benutzer anmeldet. Und dann das Programm als autostart eintragen. Jedenfalls, wenn du Gnome nutzt. Etwas viel, um nur ein Programm zu starten, aber wenn es sonst nicht geht....
es muss ja keine gnome session seinKlaus Meier wrote:Beim gdm und wohl auch beim kdm kannst du ein autologin konfigurieren, so dass Gnome automatisch gestartet wird und sich ein Benutzer anmeldet. Und dann das Programm als autostart eintragen. Jedenfalls, wenn du Gnome nutzt. Etwas viel, um nur ein Programm zu starten, aber wenn es sonst nicht geht....
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Hallo Klaus Meier,
danke für die Antwort. Ja, daran habe ich auch schon gedacht. Die Lösung ist sicherheitstechnisch nicht die beste und deswegen hoffe ich, dass es doch noch eine andere Lösung gibt.
Würden wir diesen Ansatz verfolgen, müsste ich nach dem Einloggen meinen User sperren können. Vielleicht mittels Screensaver? Aber das sind eben nicht so schöne workarounds.
lg mci
danke für die Antwort. Ja, daran habe ich auch schon gedacht. Die Lösung ist sicherheitstechnisch nicht die beste und deswegen hoffe ich, dass es doch noch eine andere Lösung gibt.
Würden wir diesen Ansatz verfolgen, müsste ich nach dem Einloggen meinen User sperren können. Vielleicht mittels Screensaver? Aber das sind eben nicht so schöne workarounds.
lg mci
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
Ja stimmt. Ich kann mir nicht vorstellen, dass es in der Unix/Linux Serverwelt keine Applikationen gibt, die X voraussetzen.firefly wrote:es muss ja keine gnome session seinKlaus Meier wrote:Beim gdm und wohl auch beim kdm kannst du ein autologin konfigurieren, so dass Gnome automatisch gestartet wird und sich ein Benutzer anmeldet. Und dann das Programm als autostart eintragen. Jedenfalls, wenn du Gnome nutzt. Etwas viel, um nur ein Programm zu starten, aber wenn es sonst nicht geht....eine fluxbox session oder direkt das Program (dafür müsste man ein passendes script schreiben, welches nach dem login gestartet wird).
lg mci
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
ich habe mal ne zeitlang nen rechner mit freevo laufen lassen. freevo hatte ich beim starten des System über local.start gestartet.
freevo selbst bietet eine cmd-option mit der freevo selbst eine X-Session für sich selbst startet.
freevo macht das über
An deiner stelle würde ich erst mal prüfen ob man das java programm direkt über xinit starten kann und wenn das geht kannst du diese zeile ja in local.start packen.
Trotzdem stellt sich mir die frage für was das program eine aktive X-Session benötigt.
freevo selbst bietet eine cmd-option mit der freevo selbst eine X-Session für sich selbst startet.
freevo macht das über
und ich hatte das freevo startscript überxinit <freevo-bin>
über local-start gestartet.su <user> -c <freevo start script>
An deiner stelle würde ich erst mal prüfen ob man das java programm direkt über xinit starten kann und wenn das geht kannst du diese zeile ja in local.start packen.
Trotzdem stellt sich mir die frage für was das program eine aktive X-Session benötigt.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Also auf einem Server würde ich auf einen Anmeldemanager a la GDM, KDM, xdm verzichten. Ein startx sollte reichen. Dass die X-App nicht startet kann auch einfach den Grund haben, dass X 'ne Weile zum Starten braucht. Ich würde dann wahrscheinlich probieren, ein Sleep einzubauen, um dem X-Server die nötige Startzeit zu geben.
Sowas in der Art:
Sowas in der Art:
Code: Select all
X &
sleep 10 && DISPLAY=:0 $startprogram &oder halt xinit verwenden, dass sollte das eigentliche Programm erst starten, wenn X soweit ist.musv wrote:Code: Select all
X & sleep 10 && DISPLAY=:0 $startprogram &
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Hallo,musv wrote:Also auf einem Server würde ich auf einen Anmeldemanager a la GDM, KDM, xdm verzichten. Ein startx sollte reichen. Dass die X-App nicht startet kann auch einfach den Grund haben, dass X 'ne Weile zum Starten braucht. Ich würde dann wahrscheinlich probieren, ein Sleep einzubauen, um dem X-Server die nötige Startzeit zu geben.
Sowas in der Art:Code: Select all
X & sleep 10 && DISPLAY=:0 $startprogram &
ich habe sleep 10 eingefügt. Leider funktioniert es nicht. Es klappt nur, wenn ich mich auch unter fluxbox anmelde, dann startet auch der Browser nach 120 Sekunden. Ansonsten verschwindet der Prozess einfach aus der Prozessliste.
Irgend etwas mache ich falsch. Bloß was?
Ich verwende immer noch slim als Login-Manager. Es sieht so aus, als ob die Xsession gar nicht startet, solange ich sie selber nicht starte.
Die /etc/conf.d/local.start sieht so aus:
Code: Select all
su myuser -c "X" &
su myuser -c "/usr/bin/sleep 120 && DISPLAY=:0 /usr/bin/firefox" &lg mci
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
nein xinit ist ein script/programm, welches eine X-Session startet und danach das angegebene program startet bzw. die xinitrc startet, falls vorhanden.mcimaster wrote:Hallo firefly,
sorry, dass ich noch nicht geantwortet habe. Wo kann ich die xinit editieren? Meinst du die xinitrc?
lg mci
z.b. xterm
Code: Select all
xinit /usr/bin/xtermEin Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Wow, ich weiß nicht ob ich das richtig verstehe, aber öffnet er mit xinit das Programm ohne dabei ein Window Manager zu verwenden? Sehe ich das richtig? Ich kann nämlich nichts auswählen außer die Applikation.firefly wrote:nein xinit ist ein script/programm, welches eine X-Session startet und danach das angegebene program startet bzw. die xinitrc startet, falls vorhanden.mcimaster wrote:Hallo firefly,
sorry, dass ich noch nicht geantwortet habe. Wo kann ich die xinit editieren? Meinst du die xinitrc?
lg mci
z.b. xtermstartet xterm in einer X-Session.Code: Select all
xinit /usr/bin/xterm
Nun, das ist schon einmal die richtige Richtung. Jedoch ist das ein Sicherheitsleck. Ich müsste die App. im Hintergrund laufen lassen, sodass niemand auf sie zugreifen kann. Der Zugriff sollte erst nach Eingabe von User & Pass ermöglicht werden.
lg mci
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
Jupp es wird eine X-Server Instanz gestartet und dann das Programm, welches X benötigt. Kein WM im Spiel.mcimaster wrote:Wow, ich weiß nicht ob ich das richtig verstehe, aber öffnet er mit xinit das Programm ohne dabei ein Window Manager zu verwenden? Sehe ich das richtig? Ich kann nämlich nichts auswählen außer die Applikation.
Jo es ist ein Problem, dass lässt sich nicht ganz vermeiden, da dein Programm X benötigt. Eine Möglichkeit wäre, neben deiner App zusätzlich xscreensaver zu starten, welches gleich den screen sperrt.mcimaster wrote:Nun, das ist schon einmal die richtige Richtung. Jedoch ist das ein Sicherheitsleck. Ich müsste die App. im Hintergrund laufen lassen, sodass niemand auf sie zugreifen kann. Der Zugriff sollte erst nach Eingabe von User & Pass ermöglicht werden.
Sobald der screen entsperrt ist, kannst du den screen nicht mehr so einfach wieder sperren, außer du stellst einen Timeout im xscreensaver ein oder du startest zusätzlich ein x-Terminal in dem du dann den screen wieder sperren kannst. (Über xscreensaver-command -lock).
Wenn das speren des screens über eine Tasten combo geschehen soll müsstest du xbindkeys oder ähnliches zusätzlich starten.
Dann sind wir schon fast soweit, dass wir eigentlich einen WM starten könnten.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Hehehe. Ja genau. Okay, danke auf jeden Fall für die Tipps und die Hilfe. In ein paar Tagen werde ich versuchen es zu realisieren. Ich denke ich werde es mittels WM machen und den Zugang mittels xscreensaver sperren.firefly wrote:Jupp es wird eine X-Server Instanz gestartet und dann das Programm, welches X benötigt. Kein WM im Spiel.mcimaster wrote:Wow, ich weiß nicht ob ich das richtig verstehe, aber öffnet er mit xinit das Programm ohne dabei ein Window Manager zu verwenden? Sehe ich das richtig? Ich kann nämlich nichts auswählen außer die Applikation.
Jo es ist ein Problem, dass lässt sich nicht ganz vermeiden, da dein Programm X benötigt. Eine Möglichkeit wäre, neben deiner App zusätzlich xscreensaver zu starten, welches gleich den screen sperrt.mcimaster wrote:Nun, das ist schon einmal die richtige Richtung. Jedoch ist das ein Sicherheitsleck. Ich müsste die App. im Hintergrund laufen lassen, sodass niemand auf sie zugreifen kann. Der Zugriff sollte erst nach Eingabe von User & Pass ermöglicht werden.
Sobald der screen entsperrt ist, kannst du den screen nicht mehr so einfach wieder sperren, außer du stellst einen Timeout im xscreensaver ein oder du startest zusätzlich ein x-Terminal in dem du dann den screen wieder sperren kannst. (Über xscreensaver-command -lock).
Wenn das speren des screens über eine Tasten combo geschehen soll müsstest du xbindkeys oder ähnliches zusätzlich starten.
Dann sind wir schon fast soweit, dass wir eigentlich einen WM starten könnten.
Wenn jemandem noch etwas einfällt, dann bitte nicht schüchtern sein, sondern schreiben.
lg mci
System: Acer TravelMate 4002LMi, Intel Pentium M 725 1,6GHz
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB
60GB HDD, 512MB DDR, ATI Mobility Radeon 9700 64 MB


