Eigenes Autostartskript verzögert Herunterfahren

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Alternativende
Beiträge: 2091
Registriert: 07.07.2006 18:32:05

Eigenes Autostartskript verzögert Herunterfahren

Beitrag von Alternativende » 15.09.2016 16:00:37

Hallo zusammen,
ich habe hier in einer Umgebung ein Autostartskript am laufen um x11vnc starten zu können beim booten. Dieses Skript macht mir nun aber beim herunterfahren mit systemD einige Probleme. Es wird 5 Minuten gewartet bevor sich der Rechner ausschaltet weil er meint: "A stop job is running for LSB: ..:".

Das sollte er natürlich nicht tun. Hier mal was ich gemacht habe.

Skript

Code: Alles auswählen

#!/bin/bash

sleep 5s
/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /root/.vnc/passwd -rfbport 5900 -noxrecord -noxfixes -noxdamage -forever -bg -o /var/log/x11vnc.log

exit 0;

/etc/init.d/local.autostart

Code: Alles auswählen

#! /bin/sh
### BEGIN INIT INFO
# Provides:          local.autostart
# Required-Start:    $start
# Required-Stop:     $shutdown
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Kurze Beschreibung
# Description:       Lange Bechreibung
### END INIT INFO
# Author: Name

# Aktionen
sh /usr/local/src/x11vnc.sh

Code: Alles auswählen

update-rc.d local.autostart defaults
Warum braucht es nun solange bis der Dienst beendet wird?

Benutzeravatar
heisenberg
Beiträge: 3542
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Eigenes Autostartskript verzögert Herunterfahren

Beitrag von heisenberg » 15.09.2016 16:18:27

Normale SYS5-Initscripte verstehen entweder die Kommandozeilenparameter start | stop oder prüfen anhand des Links mit denen Sie aufgerufen werden ob gestartet ( Linkname S##name ) oder beendet ( Linkname K##name ) werden sollen.

Da Dein Script keins von beiden tut wartet sich systemd wohl zu Tode bis das Script dann nach 5 schließlich getötet wird.

Also entweder ein richtiges Startscript schreiben - Beispiele findest Du in /etc/init.d/ - oder vielleicht ein einfaches Unit-File für systemd. Z. B.:

/lib/systemd/system/my_xrdp.service

Code: Alles auswählen

[Unit]
Description=X11VNC-Server
After=network-online.target
Requires=network-online.target

[Service]
ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /root/.vnc/passwd -rfbport 5900 -noxrecord -noxfixes -noxdamage -forever -o /var/log/x11vnc.log

[Install]
WantedBy=multi-user.target
Danach:

Code: Alles auswählen

# systemctl daemon-reload
# systemctl enable my_xrdp.service
# sytemctl start my_xrdp.service
Status prüfen mit:

Code: Alles auswählen

systemctl status my_xrdp.service
Zuletzt geändert von heisenberg am 15.09.2016 17:08:03, insgesamt 2-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Alternativende
Beiträge: 2091
Registriert: 07.07.2006 18:32:05

Re: Eigenes Autostartskript verzögert Herunterfahren

Beitrag von Alternativende » 15.09.2016 16:44:00

Hi,
danke für die Antwort. systemD scheint x11vnc zu starten, aber verbinden kann ich mich nicht. Ich bekomme nur einen schwarzen Bildschirm, der Dienst läuft aber wie gesagt.

DeletedUserReAsG

Re: Eigenes Autostartskript verzögert Herunterfahren

Beitrag von DeletedUserReAsG » 15.09.2016 16:55:46

systemD scheint x11vnc zu starten, aber verbinden kann ich mich nicht.
Wenn dieses systemD so ähnlich funktioniert wie Debiansystemd, lohnt sich möglicherweise ein Blick ins Journal.

Alternativende
Beiträge: 2091
Registriert: 07.07.2006 18:32:05

Re: Eigenes Autostartskript verzögert Herunterfahren

Beitrag von Alternativende » 15.09.2016 17:00:24

Komisch beim erneuten Neustart hats nicht geklappt.

Code: Alles auswählen

● x11vnc.service - XRDP-Server
   Loaded: loaded (/lib/systemd/system/x11vnc.service; enabled; vendor preset: enabled)
   Active: failed (Result: timeout) since Fr 2016-09-16 02:01:43 CEST; 1min 1s ago
  Process: 1996 ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /root/.vnc/passwd -rfbport 5900 -noxrecord -noxfixes -noxdamage -forever -bg -o /var/log/x11vnc.log (code=exited, sta
 Main PID: 1996 (code=exited, status=0/SUCCESS)

Sep 16 02:00:13 VHS-Schulung-Debian systemd[1]: Started XRDP-Server.
Sep 16 02:00:13 VHS-Schulung-Debian x11vnc[1996]: PORT=5900
Sep 16 02:01:43 VHS-Schulung-Debian systemd[1]: x11vnc.service: State 'stop-sigterm' timed out. Killing.
Sep 16 02:01:43 VHS-Schulung-Debian systemd[1]: x11vnc.service: Killing process 2018 (x11vnc) with signal SIGKILL.
Sep 16 02:01:43 VHS-Schulung-Debian systemd[1]: x11vnc.service: Unit entered failed state.
Sep 16 02:01:43 VHS-Schulung-Debian systemd[1]: x11vnc.service: Failed with result 'timeout'.


Benutzeravatar
heisenberg
Beiträge: 3542
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Eigenes Autostartskript verzögert Herunterfahren

Beitrag von heisenberg » 15.09.2016 17:03:34

Ich würde mal empfehlen die Option -bg wegzulassen. Habe x11vnc nicht hier, würde vermuten, dass das background heisst. Soll aber nicht in den Hintergrund. (Kann man auch in systemd einstellen, dass er damit klarkommt. Besser ist es aber, wenn der Prozess im Vordergrund bleibt).

Die Ausgabe: Active: failed bedeutet, dass ein Fehler vorliegt.

Im übrigen verweise ich mal an das von Dir explizit gewählte Logfile:/var/log/x11vnc.log
Zuletzt geändert von heisenberg am 16.09.2016 12:30:55, insgesamt 1-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Alternativende
Beiträge: 2091
Registriert: 07.07.2006 18:32:05

Re: Eigenes Autostartskript verzögert Herunterfahren

Beitrag von Alternativende » 16.09.2016 12:23:26

Das Entfernen von -bg hat geholfen, jetzt klappt es auch mit systemd.

Antworten