Linux: Programm mit UI einmalig beim Systemstart ausführen

Grizzly

Top Contributor
Hallo alle zusammen,

ich habe folgenden Problemfall und würde mich über Input von Euch freuen:

Ich habe ein Java Programm, welches auf der JCurses (einer ncurses Umsetzung für Java) aufbaut. Dieses soll beim ersten Systemstart eines Ubuntu Systems einmalig ausgeführt werden. Dabei soll das UI am Bildschirm angezeigt werden - und zwar bevor der Login kommt. Sprich für das Programm soll man sich nicht einloggen müssen. Wenn das Programm erfolgreich beendet wurde, soll der Login kommen und bei jedem weiteren Start soll das Programm nicht mehr erscheinen bzw. nicht mehr ausgeführt werden.

Ich habe schon einen Lösungansatz über die CRONTAB gebastelt. Das funktioniert soweit auch ganz super (ein Eintrag in /var/log/messages wird erzeugt)... bis auf die Kleinigkeit, dass das UI nicht angezeigt wird. Ist aber prinzipiell auch klar, da CRON Jobs normalerweise immer im Hintergrund ausgeführt werden.

Als Nächstes habe ich probiert, ein entsprechendes Start-Skript in /etc/init.d abzulegen und dieses per
Code:
update-rc.d bootuprun start 99 3 .
als Startscript im Runlevel 3 einzutragen ("bootuprun" ist der Name des Skripts). Das funktioniert aber irgendwie überhaupt nicht. Hier das Skript:
Code:
#!/bin/sh

### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Default-Start: 3
# Default-Stop:
# Short-Description: Executes scripts one time at boot time.
# Description: This script executes other scripts one time at
#              the boot time.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin

logger -t bootuprun -p local3.info "Start bootuprun..."
echo "This is a bootuprun test!"
# read -p "Press [Enter] key to continue..." enterkey
logger -t bootuprun -p local3.info "bootuprun finished."

exit 0

Irgendwelche Ideen, wo mein Fehler liegt? Oder vielleicht ein Vorschlag mit einem ganz anderen Ansatz?
 

Grizzly

Top Contributor
Okay, nach weiterem Suchen bin ich jetzt auf die Datei /etc/rc.local gestoßen. Diese wird als letzter Schritt vor dem Anzeigen des Logins ausgeführt. :)

Leider scheint der read Befehl irgendwie nicht zu funktionieren. Ich hoffe, dass das an der für rc.local verwendeten Shell liegt und kein generelles Problem ist. Naja, schauen wir mal, wie sich das entwickelt... ;)
 

Grizzly

Top Contributor
Ah, jetzt, ja, eine Insel: Ich habe das Problem gefunden. Es ist die verwendete Shell.
Standardmäßig sieht /etc/rc.local unter Ubuntu 10.04.3 LTS Server in etwa so aus (wenn man von den Kommentaren absieht):
Code:
#!/bin/sh -e

exit 0
Und in der Konstellation reagiert read auf keine Eingaben. Ich habe nun die Datei folgendermaßen umgeschrieben - und siehe da: Es funktioniert. :)
Code:
#!/bin/bash -e

echo "Hello World"
echo "Please wait 10 seconds or press [Enter] key..."
read -t10 -n1

exit 0
Die Geschichte mit den 10 Sekunden habe ich mehr zur Sicherheit eingebaut, da ich das System ansonsten über PuTTY wiederbeleben hätte müssen - falls die Sache schief gegangen wäre. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Linux ps Softwareentwicklung 2
G Linux: Status feststellen, ob Interface per DHCP konfiguriert wurde Softwareentwicklung 3
T Linux&Windows: Wie Festplatte "simulieren"? Softwareentwicklung 3
R pdf mit reader unter linux ausdrucken Softwareentwicklung 2
E Default Java unter Linux aendern? Softwareentwicklung 3
S Ausführen von Linux-Programmen Softwareentwicklung 7
B Batchdatei, Prüfe ob Programm X läuft Softwareentwicklung 2
N Pop-up Programm mit Live-Video Softwareentwicklung 7
fk1 Beginnercode: Pokerdealer Programm Softwareentwicklung 60
C Programm "Road Chat" realisierbar? Softwareentwicklung 2
J Suche noch eine Loesung fuer Kommunikation zwischen Webserver und ein Programm Softwareentwicklung 0
P Benutzeroberfläche Programm Bewertung Softwareentwicklung 2
KranzKrone Architektur für einfaches Gui Programm Softwareentwicklung 6
G Make or Buy? - Tagging-Programm Softwareentwicklung 4
B WHILE und GOTO Programm Softwareentwicklung 32
I Tool / Programm etc. zur Testdokumentation gesucht Softwareentwicklung 2
T Kommerziellen Programm unter Verwendung div. Libraries mit div. Lizenzen Softwareentwicklung 7
Airwolf89 Java-Programm in C++ portieren Softwareentwicklung 4
Steev Javaprogram aus C/AL-Programm ansteuern Softwareentwicklung 13
clupus Verbindung mit c-Programm Softwareentwicklung 4
V AGB's in Programm einbauen? Softwareentwicklung 3
J Design Patterns in Programm hineinfließen lassen Softwareentwicklung 23
sparrow Welche Lizenz für ein offenes Programm Softwareentwicklung 2
G Suche Programm für Masken Design für Pflichtenheft Softwareentwicklung 5
T Programm mit Passwort schützen. Softwareentwicklung 44
J Finde Fehler im Programm nicht (Klasse Kreis) Softwareentwicklung 1
E Java Programm distributen Softwareentwicklung 35
X Möglichst unverständliches Programm Softwareentwicklung 13
P Grafik-Programm mit JAVA? Softwareentwicklung 21
F Kleines Programm für Windows Softwareentwicklung 2
M Kurvendiskussion, Funktions-Plotter, Mathe-Programm. Softwareentwicklung 3
W Herangehensweise an ein Java Programm Softwareentwicklung 4

Ähnliche Java Themen

Neue Themen


Oben