Rechteproblem bei automatischer Programmausführung nach Bootvorgang?
-
Hallo in die Runde,
ich habe ein QT-Programm, in dem in einer Funktion die Systemzeit des Boards ( ein phyBOARD Wega) geändert werden soll. Dazu wurde ein "ScriptLauncher" ähnlich diesem hier https://forum.qt.io/topic/32478/how-to-run-a-shell-script-from-qml eingebaut. Dieser ScriptLauncher wird im QML aufgerufen und ein simpler Shell-Befehl ausführt.Scriptlauncher { Component.onCompleted: { console.log("date --set \"" + dateInput1.text + " " + timePicker.hours + ":" + timePicker.minutes + "\"") } id: bar; appName: "date --set \"" + dateInput1.text + " " + timePicker.hours + ":" + timePicker.minutes + "\"" }
Solange ich das Programm auf der Console starte, ist alles gut. Die Logzeile wird ausgegeben, die Zeit wird gesetzt. Starte ich das Programm beim Startup (via /etc/init.d/ und /etc/rc.d/) und verändere die Zeit, wird nur noch die Logzile ausgegeben, die Zeit auf dem Board bleibt unverändert. Ich vermute, dass das eine Rechtefrage ist. Hat jemand eine Idee?
Olaf
-
Hi o.coder,
die meisten Problemen bei der Ausführung mit Init-Skripten liegen daran, dass noch nicht alle Voraussetzungen zum Starten einen Kommando o.Ä. erfüllt sind.
Meist ist z.B. der Suchpfad noch nicht vorhanden, so dass z.B. alle Befehle der Shell mit absoluten Pfaden angegeben werden müssen. (/usr/bin/cp statt nur cp).
Oder ein Dienst der benötigt wird ist noch nicht gestartet.
Hast du das Init-Skript per update-rc eingetragen?
Wird es vielleicht zu früh ausgeführt? -
Der Tipp mit den absoluten Pfaden war gut.
Nun funktionierts! Vielen Dank.Olaf