init-script startet zu früh? [gelöst]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

init-script startet zu früh? [gelöst]

Beitrag von mitscherdinger » 01.07.2013 22:45:10

Hi!

Ich will, dass mein Rechner zwei mal X startet, einmal lokal, einmal eine remote-Session eines anderen Rechners. Damit alles schön aufgeräumt ist, soll die lokale Session auf tty7 und die remote-Session auf tty8 laufen. Also, so dachte ich, müsste lokal einfach nur vor remote starten, und das System ordnet mir die X-Sessions wie gewünscht an. Habe also dieses Script erstellt:

Code: Alles auswählen

#! /bin/sh
### BEGIN INIT INFO
# Provides:          start-x-remote
# Required-Start:    $remote_fs $syslog x11-common lightdm
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Start X :1 on riot-linux
# Description:       Waits for the local x-server to start and starts
#                    an x-session of the remote machine.
### END INIT INFO

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

case "$1" in
  start|"")
	until if ping -a -c1 192.168.111.1 >/dev/null ; then
        	        X :1 -query riot-linux
        	else false
        	fi ; do
        	echo "Please connect to remote computer"
	done
	;;
  restart|reload|force-reload|status)
	echo "Error: argument '$1' not supported" >&2
	exit 3
	;;
  stop)
	# No-op
	;;
  *)
	echo "Usage: start-x-remote [start|stop]" >&2
	exit 3
	;;
esac

:
Es prüft, ob der remote-PC über Netzwerk erreichbar ist und startet, falls "true", die zweite X-Session. Die INIT-Info soll dafür sorgen, dass das Start-Script nach lightdm startet. (Lightdm startet meine lokale Session mit einem Autologin.)

Problem: Wenn ich das Script mittels update-rc.d aktiviere, landet remote-X immer auf tty1 und verhindert zusätzlich noch, dass getty ausgeführt wird und ich auf einer Konsole einloggen kann. (In X kann ich natürlich wieder im Terminal einloggen...)

Was geht denn da schief? Startet mein Script zu früh oder muss ich noch irgendwo angeben, dass X auf tty8 gestartet werden soll?

Grüße!
Mitsch
Zuletzt geändert von mitscherdinger am 06.07.2013 00:07:40, insgesamt 1-mal geändert.

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: init-script startet zu früh?

Beitrag von catdog2 » 01.07.2013 23:32:04

landet remote-X immer auf tty1 und verhindert zusätzlich noch, dass getty ausgeführt wird und ich auf einer Konsole einloggen kann.
Ja vermutlich weil es vor dem getty ausgeführt wird und tty1 das 1. freie ist. Versuch doch einfach mal

Code: Alles auswählen

X :1 vt8
Unix is user-friendly; it's just picky about who its friends are.

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: init-script startet zu früh?

Beitrag von mitscherdinger » 02.07.2013 15:36:57

Cool! Startet in Konsole 8!

Leider hab ich jetzt trotzdem noch den Auswurf des X-Servers auf tty1 und damit wird getty weiterhin geblockt - bis ich den Prozess der X-Remote-Sitzung abschieße.

Mmmh. die ganzen Displaymanager in Debian bekommen das doch auch hin.
Ich versuche mal, n "&" hinter die X-Zeile zu quetschen...

Grüße!
Mitsch

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: init-script startet zu früh?

Beitrag von catdog2 » 02.07.2013 15:39:29

Eventuell mit start-stop-daemon.
Unix is user-friendly; it's just picky about who its friends are.

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: init-script startet zu früh?

Beitrag von mitscherdinger » 02.07.2013 23:11:59

Ich glaub, das überfordert mich...
Oder braucht einfach mehr Zeit...

Es gab doch auch vor Erfindung der Start-Stop-Skripte eine Möglichkeit, X per init zu starten, ohne, dass die Kernel-Konsolen gesperrt wurden...

Grüße!
Mitsch

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: init-script startet zu früh?

Beitrag von mitscherdinger » 06.07.2013 00:07:14

Yeah! Das mit dem "&" hat's gebracht. Wenn ich jetzt noch die Fehlerausgabe umleite, ist alles bestens!

Danke für die Hilfe!

Grüße!
Mitsch

Antworten