Nach dem Upgrade auf 16.04 führt LTS rc.local keinen Befehl aus


21

Bei früheren installierte Version Kubuntu 15.xx ich eine Zeile in dem Nachspiel /etc/rc.local- /home/diet/scripts/my-auto-mount-scriptwas offensichtlich zu einem Skript bezeichnet , dass , wenn auf WiFi - Heimnetzlaufwerken montiert werden soll.

Dies funktionierte auf Kubuntu 15.xx einwandfrei

Nach dem Upgrade scheint /etc/rc.locales beim Booten ignoriert zu werden, da das Ausführen des Befehls /etc/rc.localimmer noch den Trick zu tun scheint. Der Grund, warum ich denke, dass rc.local ignoriert wird, ist, dass das Skript, auf das es verweist, Protokolle über den Erfolg von Skripten erstellen sollte, aber auch über Skriptfehler, aber es gibt keine Protokolle.

Kann mir jemand Hinweise zur Fehlerbehebung geben?

PS: Ja, ich weiß, dass das Einfügen /etc/fstabvon Dingen auch ein Weg ist, die Laufwerke zu mounten, aber wenn ich nicht zu Hause bin, hasse ich es, die Laufwerke auf Delfinen zu sehen und diese kleinen roten Kreuze darauf zu haben, weil sie nicht da sind . Auf diese Weise können die Leute unterwegs (es ist ein Laptop) nicht sehen, was ich zu Hause habe.


Antworten:


24

Ubuntu verwendet jetzt systemd und rc.local wird jetzt als Dienst angesehen, der standardmäßig deaktiviert ist. Sie können rc.local aktivieren, indem Sie den folgenden Befehl eingeben und neu starten:

sudo systemctl enable rc-local.service

Vielen Dank, dass Sie sich die Zeit genommen haben, mir eine Lösung anzubieten! Ich habe auch eine Lösung gefunden, bei der das Hinzufügen des Skripts zu ./.config/autostart-scripts/ das Skript auch beim Start ausführt!
Diet Bos

Der Befehl sysemctl funktioniert bei mir. Beachten Sie auch, dass sich dies von den Benutzerskripten in ~ / .config / autostart-scripts unterscheidet, da /etc/rc.local beim Booten ausgeführt werden sollte, bevor sich ein Benutzer anmeldet. Beachten Sie, dass dies möglicherweise durch Fehler im rc.local-Skript verursacht wird anhalten; scannen Sie / var / syslog nach rc.local, wenn Sie glauben, dass es bei Ihnen nicht funktioniert.
DJB

1
Und systemd unterstützt keine "offizielle Methode" zum Ausführen von Skripten beim Start? Wie war rc.local?
Cirelli94

4

nur das ändern

chmod 755 /etc/init.d/rc.local

nano /etc/rc.local 

ändere dies in der ersten Zeile

#!/bin/sh -e

zu

#!/bin/bash 

Speichern und genießen!


Perfekt, die Kombination mit der vorherigen Antwort hat für mich funktioniert (16.04)
Yuriy Polezhayev

Diese Antwort hat bei mir statt der vorherigen funktioniert, da Ubuntu 14.04 nicht systemctl
franksands hat.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.