Jump to content
7 posts in this topic

Recommended Posts

Hey Ihr,

 

da ich nach ein bissel fragen, rumprobieren und auch suchen jetzt fast alles hinbekommen habe ist jetzt nur noch ein kleines Problemchen.

 

Nach dem Kernelupdate (oder besser Downgrade auf 9.2.0) geht jetzt das Herunerfahren einwandfrei, nur das ich jetzt keine USB Massenspeicher mehr nutzen kann :D

 

Also hab ich ein wenig gesucht und hab auch was gefunden und zwar den Befehl

 

kextload -b com.apple.iokit.IOUSBMassStorageClass

 

Da ich aber keine lust habe mich jedesmal als root anzumelden und das auszuführen, möchte ich das irgendwie automatisch starten lassen :) ... hat jemand da eine Idee wie ich das anstelle ????

 

mfg Uwe

Du kannst z.B. ein Script in /Library/StartupItems/ ablegen oder die Zeile in /etc/rc.startup schreiben.

 

Danke für deine Antwort :)

 

Die Datei rc.startup exestiert bei mir gar nicht bin auf die Lupe gegangen das mir alle Dateien angezeigt werden, dann in den Ordner etc aber da leigt solch eine Datei nicht drinnen :D

 

Das mit dem Script klingt gut aber wie schreib ich ein script? (Bin 8Jahre Windoof nutzer und hab das nie gebraucht ;) ) und führt sich das Script auch als Root aus, da als "Normal Administrator User" man diesen Befehl nicht starten kann

 

mfg

Na ja, wie mein ein Script schreibt werde ich jetzt nicht erklären. Dazu kann man ruhig mal Google benutzen.

 

Was das Ausführen von Scripts betrifft ohne das Root-Passwort einzugeben, gibt es mehrere Möglichkeiten. Alle reißen jedoch ein Sicherheitsloch in dein System. Das nur mal so vorneweg.

 

Eine Möglichkeit ist z.B., dass man in die Datei /etc/sudoers die Zeile

 

MeinUser ALL = NOPASSWD: /sbin/kextload

 

einträgt. Diese besagt, dass der User MeinUser kextload auch ohne Rootrechte ausführen darf.

Du kannst, alternativ, den Script erstellen und dann mittels Automator zu einer kleinen Applikation umwandeln, die dann einfach in die "Login Items" deines Profils hinzugefügt werden kann (Accounts Applikation unter System-Preferences öffnen).

Ich habe eine Anleitung gefunden, in der sowas beschrieben wurde (nur für Leopard User!):

This command must be run on every login. You can easily automate this using Automator, however. Simply launch Automator and select the Custom starting point. In the Actions search field, type Shell script, and drag the Run Shell Script action into the workflow pane. Paste the above command (also, den Quellcode deines Scripts) into the script window, overwriting any text already there. Save the Workflow as an Application and put it anywhere (I put it in /Applications/Utilities). Now, go to Login Items for your account and add the application you just created to your login items. From now on, the script will be run whenever you login, and all changes to your LaunchServices database will be properly loaded.

 

Sag uns bescheid, wenn es Probleme damit geben sollte.

 

Gruß,

 

hecker

 

EDIT: Ich habe dir ein Paar Screenshots zur Orientierung angehängt.

1: Automator öffnen

2:

- Custom auswählen

- "shell" in das Suchfenster eingeben und anschliessend "Run Shell Script" in das rechte Fenster ziehen.

- Code eingeben

- "Speichern als" im Menü auswählen und als Format "Application" einstellen.

- Der Applikation einen passenden Namen geben und irgendwo ablegen (am besten Utilities oder so).

3: Applikation in die "Login Items" Liste eintragen.

Fertig!

 

Ach so, der Code deines Scripts (oder heisst es Scriptes?) könnte einfach so aussehen:

sudo kextload -b /pfad_zur_datei/com.apple.iokit.IOUSBMassStorageClass

Du musst hier umbedingt den kompletten Verzeichnispfad eintragen (pfad_zur_datei)!

Es könnte evtl. ein Problem geben mit dem sudo Befehl. Probier es einfach aus.

 

ALTERNATIVE 2

Bei dieser Version wird ein Autostart-Script via "login hook" erstellt. Vorteil ist, dass man wahrscheinlich das root Problem damit umgehen kann (bin aber nicht wirklich sicher).

  • Terminalfenster öffnen, und root werden:
    # sudo su -


     

  • Rausfinden ob es schon ein LoginHook gibt:
       # defaults read com.apple.loginwindow LoginHook

    Dies wird den kompletten Script/Anwendungs-pfad anzeigen oder den Text: "The domain/default pair of (com.apple.loginwindow, LoginHook) does not exist". In diesem Fall, müsste der ursprüngliche Script modifiziert werden. Der Rest des Textes geht davon aus, dass es noch kein Script gegeben hat und das ein neuer angelegt wird.
     
     

  • Verzeichnis anlegen, in dem wir unser Autostart-Script hineinkopieren werden:
       # mkdir -p /Library/LoginWindow


     

  • Script im Verzeichnis anlegen (wir nennen es LoginHook.sh), mit dem folgenden Text:
    sudo kextload -b /pfad_zur_datei/com.apple.iokit.IOUSBMassStorageClass

    (Wie gesagt, ich bin nicht sicher ob sudo hier gehen wird!)
     
     

  • Script ausführbar machen:
       # chmod 755 /Library/LoginWindow/LoginHook.sh


     

  • Login hook für den neuen Script erstellen:
       #defaults write com.apple.loginwindow LoginHook /Library/LoginWindow/LoginHook.sh


post-46589-1207741159.jpg

post-46589-1207741163_thumb.jpg

post-46589-1207741167_thumb.jpg

post-46589-1207741171_thumb.jpg

ALTERNATIVE 2

Bei dieser Version wird ein Autostart-Script via "login hook" erstellt. Vorteil ist, dass man wahrscheinlich das root Problem damit umgehen kann (bin aber nicht wirklich sicher).

  • Terminalfenster öffnen, und root werden:
    # sudo su -


     

  • Rausfinden ob es schon ein LoginHook gibt:
       # defaults read com.apple.loginwindow LoginHook

    Dies wird den kompletten Script/Anwendungs-pfad anzeigen oder den Text: "The domain/default pair of (com.apple.loginwindow, LoginHook) does not exist". In diesem Fall, müsste der ursprüngliche Script modifiziert werden. Der Rest des Textes geht davon aus, dass es noch kein Script gegeben hat und das ein neuer angelegt wird.

  • Verzeichnis anlegen, in dem wir unser Autostart-Script hineinkopieren werden:
       # mkdir -p /Library/LoginWindow


     

  • Script im Verzeichnis anlegen (wir nennen es LoginHook.sh), mit dem folgenden Text:
    sudo kextload -b /pfad_zur_datei/com.apple.iokit.IOUSBMassStorageClass

    (Wie gesagt, ich bin nicht sicher ob sudo hier gehen wird!)

  • Script ausführbar machen:
       # chmod 755 /Library/LoginWindow/LoginHook.sh


     

  • Login hook für den neuen Script erstellen:
       #defaults write com.apple.loginwindow LoginHook /Library/LoginWindow/LoginHook.sh


 

Hallo :D

 

danke für die Ausführliche Anleitung, habe das gerade mal alles durchgegangen und die erste alternative ging gar nicht und die zweite geht an dem Punkt nicht weiter

 

sudo kextload -b /pfad_zur_datei/com.apple.iokit.IOUSBMassStorageClass

 

und zwar mit der Fehlernachricht:

 

can't find extension with identifier /pfad_zur_datei/com.apple.iokit.IOUSBMassStorageClass

 

Das klingt danach als würde der die Datei nicht finden, ich hab auch schon danach gesucht, aber find die nicht.

 

Bitte helft mir weiter :) ... lg, Uwe

×
×
  • Create New...