Wie kann man beim nächsten Start nur einmal in Haiku etwas anfangen?

408
Kev

Ich möchte, dass nach dem nächsten Neustart etwas gestartet wird, jedoch nur einmal und nicht nach einem anderen Neustart. Genau wie beim ersten Start eines Haiku-Images von einem USB-Stick wird das Installationsprogramm ausgeführt. Unabhängig davon, ob Sie es verwenden oder nicht (vielleicht möchten Sie es zum Beispiel immer nur vom Stick aus ausführen), wird es danach nie beim Start ausgeführt. Wie kann ich so etwas tun, etwa eine einmalige Erinnerung für den nächsten Systemstart?

Wenn ich ein frisch heruntergeladenes Image einhänge und die folgenden Verzeichnisse mit meinem installierten Startlaufwerk vergleiche:

/image/home/config/boot /image/system/boot /image/common/boot 

... die Dateien sind identisch. Woher weiß Haiku, ob das Installationsprogramm ausgeführt wurde? Jedenfalls nicht von dort ...

Update: Ich habe die Datei gefunden /image/common/settings/fresh_install, die auf meiner Installation nicht vorhanden war. Sie enthielt den Text "Diese Datei existiert nur bei neuen Haiku-Installationen." Das Kopieren in meine Installation und das erneute Starten führten jedoch nur dazu, dass der MIME-Aktualisierungsprogramm erneut ausgeführt wurde, nicht jedoch das Installationsprogramm.

4
Dies ist für meinen Heimcomputer gedacht, ich möchte nur, dass beim nächsten Start etwas gestartet wird, aber das ist das einzige Mal. Wie ist das Off-Topic? Kev vor 11 Jahren 0
@Zoredache - Haiku ist der Name des Betriebssystems, daher "in Haiku" im Titel und das Haiku-Tag. Siehe http://www.haiku-os.org/ oder klicken Sie auf das Haiku-Tag und dann auf "Weitere Informationen". Kev vor 11 Jahren 0
Mein Fehler. Ich war mit Haiku nicht vertraut, ich dachte, es sei die App, die Sie starten wollten, nicht das Betriebssystem. Zoredache vor 11 Jahren 0

1 Antwort auf die Frage

0
Kev

Stellen Sie sicher, /boot/common/settings/fresh_installvorhanden ist, und dann ein Shell - Skript erstellen Endung .shin /boot/common/settings/boot/post_install. Es wird beim nächsten Start ausgeführt und dann fresh_installautomatisch gelöscht, wodurch das Shell-Skript bei nachfolgenden Starts nicht ausgeführt wird.

Ich denke, dass dieser Ansatz von Anfang an hätte sein können, aber vielleicht ist das besser, weil er "eingebaut" ist. Grundsätzlich können Sie den folgenden Code stehlen /boot/system/boot/Bootscript, um dasselbe mit einer anderen Datei als fresh_installNicht- .shSkripten usw. zu erreichen, wenn Sie ihn optimieren möchten:

# Check for fresh install and run post install scripts. freshInstallIndicator=/boot/common/settings/fresh_install postInstallDir=/boot/common/boot/post_install if [ -e $freshInstallIndicator ]; then # wait a moment for things to calm down a bit sleep 3  # execute scripts for f in $postInstallDir/*.sh; do if [ -f $f ]; then echo "Running post install script $f ..." > /dev/dprintf $f fi done  sync rm $freshInstallIndicator fi 

... und fügen Sie es beispielsweise in Ihr UserBootScript ein.

(Immer noch nicht sicher, was den Installer selbst ausführt - es muss ein noch speziellerer Fall sein, da er vor dem Starten von Deskbar oder Tracker gestartet wird.)