Możesz mieć skrypt uruchamiany przy starcie, który wykorzystuje technikę sugerowaną w tym poście https://apple.stackexchange.com/a/91759/183505
Podczas uruchamiania z DriveA (gdy chcesz wyłączyć indeksowanie reflektorów dla zewnętrznego DriveB), możesz wykonać:
touch /Volumes/DriveB/.metadata_never_index
Podczas uruchamiania z zewnętrznego dysku DriveB i chcesz ponownie włączyć wyróżnienie, być może możesz uruchomić skrypt uruchamiania:
rm /Volumes/DriveB/.metadata_never_index
W linkowanym wpisie wymieniono także inne sposoby programowej zmiany wyłączeń reflektorów.
Oto kilka sposobów dodania skryptu, który uruchomi się podczas logowania: /programming/6442364/running-script-upon-login-mac
Powodzenia!
Edycja: Metoda przy użyciu skryptów bash i plików plist
Najpierw utwórz skrypt startowy. Zdecydowałem się stworzyć jeden w~/script.sh
Upewnij się, że jest wykonywalny chmod +x ~/script.sh
Skrypt dla systemu operacyjnego, który chce ukryć dysk przed centrum uwagi
#!/bin/bash
flagLocation="/Volumes/DriveToHide"
flagRemoved=".ney_the_index" # a new name
# if flag exists rename it.
if [ -a "$flagLocation/.metadata_never_index" ]; then
mv "$flagLocation/.metadata_never_index" "$flagLocation/$flagRemoved";
fi
Skrypt w systemie operacyjnym, który chce zindeksować dysk
#!/bin/bash
flagLocation="/Volumes/DriveToHide"
flagRemoved=".ney_the_index"
if [ -a "$flagLocation/$flagRemoved" ]; then
mv "$flagLocation/$flagRemoved" "$flagLocation/.metadata_never_index"
fi
if [ ! -a "$flagLocation/$flagRemoved" ] || [ ! -a "$flagLocation/.metadata_never_index" ] ; then
touch "$flagLocation/.metadata_never_index"
fi
Utwórz plik plist ~/Library/LaunchAgents/com.user.loginscript.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.loginscript</string>
<key>Program</key>
<string>/Users/yourusername/script.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Przetestuj go, ładując i rozładowując:
launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist
rm
polecenie wymaga, aby go uruchomićsudo
. Używam pierwszej metody w opublikowanym linku SO. Czy miałbyś jakieś sugestie? Czy muszę użyć metody demona uruchamiania, aby temu zaradzić?DriveToHide
ma spacje, wówczas twoje skrypty , jak obecnie napisane, zawiodą. Jeśli zamierzasz przeprowadzić test,[ ... ]
to podwój cudzysłów, aby zapobiec blokowaniu i dzieleniu słów. Lub użyj[[ ... ]]
do przetestowania, wtedy podwójne cytowanie nie jest konieczne.Przepraszamy za nową odpowiedź (za mało przedstawicieli, aby skomentować, ponieważ jestem tu nowy)
@hapi - mogę się mylić, ale czy skrypty są niewłaściwe?
Skrypt dla systemu operacyjnego, który chce ukryć dysk przed centrum uwagi: zmienia nazwy
.metadata_never_index
Skrypt w systemie operacyjnym, który chce zindeksować dysk: tworzy
.metadata_never_index
Myślałem, że obecność
.metadata_never_index
na tomie oznacza, że Spotlight to zignorował?Dzięki
źródło
.metadata_never_index
nie ma to żadnego wpływu na MacOS 10.13 - superuser.com/questions/591406/… ...Dowiedziałem się dzisiaj, że można użyć
sudo touch /.metadata_never_index_unless_rootfs
w katalogu głównym każdego dysku do oddzielenia indeksów od napędów rozruchowych systemu OS X. Jest to specjalna wersja.metadata-never-index
, ponieważ będzie (ponownie) indeksować dysk podczas uruchamiania z niego, ale nie, gdy nie.źródło
Chociaż druga odpowiedź jest dobrą metodą na to, może przypadkowo powodować problemy i może nie być w 100% niezawodna. Lepszym sposobem byłoby użycie Alfreda , ponieważ jest on bardziej elastyczny niż Spotlight, w zewnętrznym systemie operacyjnym.
źródło