Hm, also aktiviert und deaktiviert über das Sharing-Panel via GUI klappt es bei mir wunderbar...
Der GUI-Haken ist ebenso unzuverlässig wie der service-Befehl. Das läßt sich leicht mit einem ssh-Verbindungsversuch testen.
man service
Keiner hat gesagt, dass du mit launchctl "unter die Haube" greifen und daemons manuell starten/stoppen sollst. Du musst doch nicht irgendwie zwanghaft direkt mit dem Prozess 1 reden, oder?Code:man service
Benutze das vorgesehene Kommando und gut ist es.
Der Überservice/Prozeß, nach dem er fragt, ist launchd. Seine Analyse "bei Bedarf" war daher sogar korrekt, denn das ist eine zentrale Aufgabe von launchd, Dienste nach Bedarf zu starten.... Da beispielsweise SSH nicht in der Prozessliste auftaucht, wird es wohl einen Überservice geben, der den entsprechenden Daemon bei Bedarf startet.
Der Prozeß heißt launchd und man arbeitet über launchctl (launch control) mit ihm.Welcher Prozess ist das und wie arbeite ich damit?
Das ist launchctl mit den oben von mir gezeigten Kommandos (oder auf meiner Seite).Es wäre auch interessant für mich zu erfahren, wie ich ihn per Konsole bediene, um die Services selbst zu starten und zu beenden...
Apple tut das. Die haben das Skript (!) nicht umsonst geschrieben. Lies es und verstehe.Falls Du, Rastafari, "service" für das vorgesehene Kommando hältst
Welche -F Option denn?Im "service" funktioniert das Starten und Stoppen nicht zuverlässig, weil sie die "-F"-Option nicht verwenden.
Rate mal, welches Backend von "System Preferences.app" benutzt wird. Und warum.Daß Apple dieses Skript für das Standard-Werkzeug hält, sehe ich dort nicht. Wie kommst Du darauf?
Im Gegenteil. Es handhabt auch das angestaubte xinetd-Zeugs richtig, das noch nicht an launchd angepasst ist (sofern noch vorhanden).Von daher war Dein Einwand, ich würde unter der Haube fummeln, voreilig, macht doch Deine Alternative das gleiche - nur unzuverlässiger.
In meiner nicht. Seltsam, was? Mag vielleicht daran liegen, dass ich nicht alles installiere, was mehr Hörner als ein Gnu hat.Den "-F"-Switch gibt es auch bei meiner Nicht-Server-Version von OS X. Er ist auch in der manpage dokumentiert.
Toll. Und wozu braucht Otto N. Ormalverbraucher das bitteschön?Er erzwingt das Laden der plist und ignoriert den disabled-Eintrag darin. Beispiel:
sudo launchctl load -F /System/Library/LaunchDaemons/ssh.plist
Was du aber solltest. Ansonsten ist es doch ein wenig naiv bis plumpdreist sich darüber zu beklagen, dass die Systemeinstellungen von deiner Heimlichtuerei nichts mitbekommen. Wie sollten sie denn auch, wenn du die angedachte Funktionalität absichtlich sabotierst?Service setzt auch diesen Befehl ab, aber ohne das "force", aber mit -w (write back), um die Konfigurationsdatei zu ändern, was ich nicht wollte.
Manche lesen Nachrichten, andere verfassen sie, manche ignorieren sie, und wieder andere vergessen sie nur schnell. Ich bin mir relativ sicher, du hast das hier schon mal gelesen.Ich weiß nicht, wie System Preferences arbeitet, da es vermutlich (ich habe nicht nachgesehen) nicht Open Source ist. Woher weißt Du, wie es arbeitet?
Sie funktionieren aber nicht zusammen mit der GUI.Meine Kommandozeilen funktionieren sowohl für das Starten als auch das Stoppen und das Auflisten des SSH-Dämons.
Es kann sich als hilfreich erweisen, sein Getriebe nicht mit Sand zu schmieren. Das "Versagen" ist offensichtlich hausgemacht.Die Verwendung von "service" hingegen versagte bei mir sowohl für das Starten als auch für das Stoppen und für das korrekte Auflisten des SSH-Dämons. Ich bevorzuge Lösungen, die _funktionieren_.
Ach nee. Echt? Wirklich?Launchctl arbeitet sogar interaktiv, wenn man nur launchctl eingibt.
Betonung auf soll. Da fliesst noch ein wenig Wasser den Bach runter bis dahin, meine ich.Und launchd soll die Verwaltung aller Dämonen vereinheitlichen
Es besteht auch kein Grund, zum öffnen von Programmen oder Dokumenten sowas wie "open" zu verwenden. Warum tust du es?für Dämonen, die definitiv an launchd angepaßt sind (wie SSH), besteht kein Grund sie nicht (wie vorgesehen) mit launchctl zu verwalten
Irgendwas an diesem Satz lässt in mir Gedanken an den typischen "Overclocker" mit heliumgekühltem AMD-Turbo-GTI und Fuchsschwanz an der WLAN-Antenne aufkommen......mit einem Skript (service), was den Möglichkeiten eines launchd-Dämons nicht gerecht wird.
Mit der Option -w wird dieses Flag umgeschaltet, aber nicht ignoriert. Es ist ja gerade der Sinn hinter "Disabled", dass ein launchctl-Aufruf OHNE diese Option "writeback" den sshd nicht startet. Sonst würde er nach einem Neustart ständig laufen, auch wenn du ihn deaktivierst.Das Versagen von service ist nicht hausgemacht, denn service (siehe dessen source code) beachtet das disabled-Flag in der plist von ssh, weil service "-F" beim launchctl-Aufruf _nicht_ verwendet.
launchctl [subcommand [arguments ...]]
DESCRIPTION
launchctl interfaces with launchd to load, unload daemons/agents and gen-
erally control launchd. launchctl supports taking subcommands on the
command line, interactively or even redirected from standard input.
These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf
to be read at the time launchd starts.
SUBCOMMANDS
load [-wF] paths ...
Load the specified configuration files or directories of config-
uration files.
-w Remove the disabled key and write the configuration
files back out to disk.
-F Force the loading of the plist. Ignore the Disabled
key.
unload [-w] paths ...
Unload the specified configuration files or directories of con-
figuration files.
-w Add the disabled key and write the configuration files
back out to disk.…
"Geladen" und "gestartet" ist ein Unterschied. Ein Dämon oder Agent wird von launchd verwaltet, wenn er geladen wurde. Er kann manuell geladen werden oder (das ist der Normalfall) dadurch, daß seine Konfigurationsdatei in einem der Standardverzeichnisse liegt.
Ein geladener also von launchd verwalteter Agent oder Dämon wird gestartet/aktiv, also seine Tätigkeit durchgeführt, wenn er manuell gestartet wird oder (das ist der Normalfall) wenn eine Situation eintritt, die in seiner Konfigurationsdatei definiert wurde (Zeitpunkt, Intervall, Netzanfrage, Dateiänderung und so weiter).
start joblabels ...
Start the specified jobs by label.
stop joblabels ...
Stop the specified jobs by label. Jobs may restart automatically
if demand driven.
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Für die Ihnen angezeigten Verarbeitungszwecke können Cookies, Geräte-Kennungen oder andere Informationen auf Ihrem Gerät gespeichert oder abgerufen werden.
Anzeigen und Inhalte können basierend auf einem Profil personalisiert werden. Es können mehr Daten hinzugefügt werden, um Anzeigen und Inhalte besser zu personalisieren. Die Performance von Anzeigen und Inhalten kann gemessen werden. Erkenntnisse über Zielgruppen, die die Anzeigen und Inhalte betrachtet haben, können abgeleitet werden. Daten können verwendet werden, um Benutzerfreundlichkeit, Systeme und Software aufzubauen oder zu verbessern.
Durch das Klicken des Buttons "Zustimmen" willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden.