# D-Bus Skript vor Anmeldung ausführen

## Haubentaucher

Hallo,

ich würde gerne JACK2 per jackdbus (Shellskript) automatisch beim Systemstart starten. Die Frage ist jetzt, wie ich es bewerkstelligen kann, dass zuerst D-Bus und dann das Skript und danach erst die Anmeldung kommt. Ich hoffe, ihr wisst da irgendetwas.

lg Haubentaucher

----------

## cryptosteve

Ein Aufruf in /etc/conf.d/local.start bzw. /etc/conf.d/local.stop (baselayout) oder /etc/conf.d/local (OpenRC) müsste funktionieren.

----------

## Necoro

 *cryptohappen wrote:*   

> /etc/conf.d/local (OpenRC)

 

<zwischenruf>

Inzwischen: /etc/local.d/

</zwischenruf>

----------

## cryptosteve

Huch?! Tatsächlich? Geht conf.d übergangsweise noch, oder ist das Nichtfunktionieren meiner local komplett an mir vorbeigelaufen?  :Smile: 

----------

## Necoro

Sollte noch funktionieren, aber eine Warnung schmeißen, wenn ich den Code richtig lese. Schau doch einfach mal in die /etc/init.d/local -- da siehst du das ja, was er macht.

----------

## cryptosteve

Jau, schaue ich mir auf jeden Fall an, wenn ich zu Hause bin. Etwaige Meldungen werden bei mir ggf. vom Bootsplash überdeckt. Da fällt mir gleich wieder auf, was ich daran nicht mag.

----------

## cryptosteve

Ja, tatsächlich, es gibt jetzt wieder local.start und local.stop (gerade kürzlich alles von .start und .stop nach local  :Smile: )

```
        if type local_start >/dev/null 2>&1; then

                ewarn "/etc/conf.d/local should be removed."

                ewarn "Please move the code from the local_start function"

                ewarn "to scripts with an .start extension"

                ewarn "in /etc/local.d"

                local_start

        fi

```

Analog dazu für local.stop.

Dann mal auf und sorry für meine Fehlinformation im ersten Antwortbeitrag.

----------

## Necoro

 *cryptohappen wrote:*   

> Ja, tatsächlich, es gibt jetzt wieder local.start und local.stop (gerade kürzlich alles von .start und .stop nach local )

 

Nicht ganz. Es gibt jetzt /etc/local.d/*.start und /etc/local.d/*.stop -- also man kann jetzt eine vielzahl von skripten haben und muss das nicht alles in eins pressen.

----------

## cryptosteve

Vorwort: Ich glaube, wir highjacken den Thread hier ... darf ein Mod bei Bedarf gerne abspalten

Ja, mehrere einzelne Skripte können sicher von Vorteil sein. Bei mir beschränkt sich das allerdings auf drei bis vier Startskript und nochmal zwei Stopskripte und das war in einer einzigen Datei auch ganz passabel anzusehen.

----------

## Haubentaucher

Könnt ruhig weiter diskutieren   :Very Happy:  . Ich habe das mal in diversen Dateien probiert und es sieht so aus, als ob der Aufruf "jack_config start" einen X-Server bräuchte (vielleicht liegt das an dem Useflag X bei Dbus?). Ich werde also zuerst das Problem lösen müssen, bevor ich da irgendetwas starte. 

Ich habe inzwischen auch ein wenig weiter gesucht und die init-Skripte entdeckt, vielleicht ist es sogar besser, für JACK dann ein Init-skript zu schreiben, was von DBus abhängt (wenn das mit X geklärt ist, ein Init-skript mit jackd steht ja auch schon im Wiki).

----------

## flammenflitzer

Hallo,

ich habe sys-apps/openrc-0.8.1 und sys-apps/baselayout-2.0.2

Ich habe nur /etc/conf.d/local

```
local_start() {

ebegin "Zeitabgleich"

/usr/local/bin/Zeitabgleich

        # We should always return 0

        return 0

}

local_stop() {

ebegin "Cleaning Tmp - Temporäre Verzeichnisse werden geleert" 

rm -r -f /usr/tmp/portage/* 

rm -r -f /var/tmp/portage/* 

eend $?

ebegin "Cleaning Distfiles - Distfiles werden gelöscht" 

eclean -dq distfiles

eend $?

ebegin "Cleaning Drucker Xorg u.a. Logfiles - Logfiles werden gelöscht" 

rm -r -f /var/log/cups/* 

rm -r -f /var/log/Xorg*

rm -r -f /var/log/kdm*

rm -r -f /var/log/messages

touch /var/log/messages

eend $?

    

     # We should always return 0

        return 0

}

```

/etc/conf.d/local.start und /etc/conf.d/local.stop existieren bei mir nicht. Wie ist denn jetzt er Stand ? Muss ich meine Einträge aus /etc/conf.d/local in 

/etc/conf.d/local.start und /etc/conf.d/local.stop aufsplitten oder für jeden Eintrag ein Script in /etc/local.d anlegen ?

----------

## Josef.95

 *openrc-0.8.0 wrote:*   

> 
> 
> ```
> cat /etc/local.d/README
> ```
> ...

 

----------

## flammenflitzer

Das habe ich schon gelesen, aber ich habe nicht verstanden, ob das optional ist (und dann /etc/conf.d/local oder /etc/conf.d/local.start und /etc/conf.d/local.stop benutzt werden), oder ob /etc/conf.d/local* in Zukunft nicht mehr unterstützt werden.

----------

## Josef.95

Jo, /etc/conf.d/local* gibt es so nicht mehr (das solltest du auch mit einen Warnhinweis beim starten des Initscript mit Hinweis auf das neue Verzeichnis angezeigt bekommen)

All deine start-stopp Scripte sollten nun in  /etc/local.d/ abgelegt werden.

----------

## flammenflitzer

Also beipielsweise in /etc/local.d/

1.) Mein_Startscript.start

```
#!/bin/sh

ebegin "Zeitabgleich"

/usr/local/bin/Zeitabgleich

eend $?
```

2.)Mein_Stopscript.stop

```
#!/bin/sh

ebegin "Cleaning Tmp - Temporäre Verzeichnisse werden geleert"

rm -r -f /usr/tmp/portage/*

rm -r -f /var/tmp/portage/*

eend $?

ebegin "Cleaning Distfiles - Distfiles werden gelöscht"

eclean -dq distfiles

eend $?

ebegin "Cleaning Drucker Xorg u.a. Logfiles - Logfiles werden gelöscht"

rm -r -f /var/log/cups/*

rm -r -f /var/log/Xorg*

rm -r -f /var/log/kdm*

rm -r -f /var/log/messages

touch /var/log/messages 

eend $?
```

----------

## flammenflitzer

Das funktioniert so nicht. Die Scripte werden nicht abgearbeitet

----------

