Jump to content
View in the app

A better way to browse. Learn more.

Tinkerunity

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Geschrieben

Ich habe eine kleines Programm geschrieben welches FerienHaus.jar heist

 

ich möchte gerne das diese beim Starten des PI ausgeführt wird wie der BrickD

 

dazu habe ich den StartScript von BrickD mit meinen Daten geändert aber wenn ich den Script zum Starten in der Konsole ausführe gibt er die Fehlermeldung (Exec formart error) aus.

 

 

 

#!/bin/sh
### BEGIN INIT INFO
# Provides:          FerienHaus
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Ferien Haus
# Description:       Ferien Haus
### END INIT INFO


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/home/pi/FerienHaus.jar
OPTIONS=--daemon
NAME=FerienHaus
PIDFILE=/var/run/$NAME.pid
DESC="Ferien Hause"

test -f $DAEMON || exit 0

set -e

case "$1" in
  start)
echo -n "Starting $DESC: "
start-stop-daemon --verbose --pidfile $PIDFILE --exec $DAEMON --start -- $OPTIONS
;;
  stop)
echo -n "Stopping $DESC: "
start-stop-daemon --verbose --pidfile $PIDFILE --stop
;;
  restart|force-reload)
echo "Restarting $DESC: "
start-stop-daemon --verbose --pidfile $PIDFILE --stop
sleep 1
start-stop-daemon --verbose --pidfile $PIDFILE --exec $DAEMON --start -- $OPTIONS
;;
  status)
echo -n "Status of $DESC: "
if [ -n "${PIDFILE:-}" -a -r "$PIDFILE" ]; then
	PID=`cat "$PIDFILE"`
	if [ -n "${PID:-}" ]; then
		if $(kill -0 "${PID:-}" 2> /dev/null); then
			echo "running (pid $PID)"
		elif ps "${PID:-}" > /dev/null 2>&1; then
			echo "running (pid $PID)"
		else
			echo "stopped"
		fi
	else
		echo "stopped"
	fi
else
	echo "stopped"
fi
;;
  *)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac

exit 0

Geschrieben

Ein JAR ist keine ausführbare Datei. Die --exec Option des start-stop-daemons erwartet aber eine ausführbare Datei.

 

Es sollte funktionieren, wenn du

 

DAEMON=/home/pi/FerienHaus.jar
OPTIONS=--daemon

 

durch

 

DAEMON=java
OPTIONS=-jar /home/pi/FerienHaus.jar

 

ersetzt. Unter der Annahme, dass dein FerienHaus.jar einen Main-Class Eintrag im Manifest hat.

Geschrieben
  • Autor

@ Masder: da habe doch schon mal erste erfolge.

 

allerdings wenn ich das starte über das Terminal dann gibt er mir keine neue Zeile Frei ...

 

@ photron : hat nicht geklappt. :(

 

er gibt dann folgendes raus.

pi@raspberrypi ~ $ /etc/init.d/FerienHaus start
/home/pi/FerienHaus.jar: 1: /home/pi/FerienHaus.jar: PK: not found
/home/pi/FerienHaus.jar: 2: /home/pi/FerienHaus.jar:▒UE: not found
/home/pi/FerienHaus.jar: 3: /home/pi/FerienHaus.jar:UE▒▒vMETA-INF/MANIFEST.MFManifest-Version:: not found
PuTTYPuTTY/home/pi/FerienHaus.jar: 4: /home/pi/FerienHaus.jar: Ant-Version:: not found
/home/pi/FerienHaus.jar: 5: /home/pi/FerienHaus.jar: Syntax error: "(" unexpected

Geschrieben

Kannst Du das init-Skript und das jar mal posten?

Das sieht so aus, als würdest Du entweder immernoch das jar "direkt" aufrufen oder das jar ist falsch gebaut.

 

Funktioniert die Anwendung, wenn Du von Hand "java -jar /home/pi/FerienHaus.jar" startest?

Geschrieben
  • Autor

ja die Funktioniert zur Information dort lauft eine Endlosschleife

Geschrieben

Hallo tatzemax,

 

Zu deinem "Fehler" das du keine neue zeile bekomst,

nein das ist kein fehler das ist normal unter linux!

du mus den Prozes extra in den hintergrund verschieben!

Das geht beim aufrufen mit einem "&".

einfach nach dem aufruf das & dran hängen und schon sollte es das gewünste ergebnis bringen.

 

hir mal meine beiden Script da habe ich es auch so gemacht.

 

(myapp)

#!/bin/bash
# myapp
#
case $1 in
    start)
        /bin/bash /home/pi/jar-start.sh
    ;;
    stop)
        /bin/bash /home/pi/jar-stop.sh
    ;;
    restart)
        /bin/bash /home/pi/jar-stop.sh
        /bin/bash /home/pi/jar-start.sh
    ;;
esac
exit 0

 

jar-start.sh

#!/bin/bash

sudo java -jar /home/pi/neu.jar&

 

 

Gruß masder

 

 

Geschrieben
  • Autor

Das init Script wird als root ausgeführt. Funktioniert Folgendes?

 

sudo java -jar /home/pi/FerienHaus.jar

 

Das Funktioniert einwandfrei.

 

 

 

Hallo tatzemax,

 

Zu deinem "Fehler" das du keine neue zeile bekomst,

nein das ist kein fehler das ist normal unter linux!

du mus den Prozes extra in den hintergrund verschieben!

Das geht beim aufrufen mit einem "&".

einfach nach dem aufruf das & dran hängen und schon sollte es das gewünste ergebnis bringen.

 

hir mal meine beiden Script da habe ich es auch so gemacht.

 

(myapp)

#!/bin/bash
# myapp
#
case $1 in
    start)
        /bin/bash /home/pi/jar-start.sh
    ;;
    stop)
        /bin/bash /home/pi/jar-stop.sh
    ;;
    restart)
        /bin/bash /home/pi/jar-stop.sh
        /bin/bash /home/pi/jar-start.sh
    ;;
esac
exit 0

 

jar-start.sh

#!/bin/bash

sudo java -jar /home/pi/neu.jar&

 

 

Gruß masder

 

 

 

Danke das hat mir schon mal weitergeholfen.

 

Jetzt noch dach der Anleitung http://wiki.ubuntuusers.de/Dienste#bearbeiten

 

und schon läuft es so wie ich mir das vorgestellt habe.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.