Podría tener un script que se ejecute al inicio que emplee la técnica sugerida en esta publicación https://apple.stackexchange.com/a/91759/183505
Al arrancar desde DriveA (cuando desea deshabilitar la indexación de Spotlight para la unidad externa B), puede ejecutar:
touch /Volumes/DriveB/.metadata_never_index
Al arrancar desde DriveB externo y desea volver a habilitar Spotlight, tal vez podría ejecutar su script de inicio:
rm /Volumes/DriveB/.metadata_never_index
La publicación vinculada también enumera otras formas de alterar programáticamente las exclusiones de foco.
Aquí hay algunas formas de agregar un script que se iniciará al iniciar sesión: /programming/6442364/running-script-upon-login-mac
¡Buena suerte!
Editar: Método usando scripts bash y archivos plist
Primero cree un script de inicio. Elegí crear uno en~/script.sh
Asegúrate de que sea ejecutable chmod +x ~/script.sh
Script para el sistema operativo que quiere ocultar una unidad de atención
#!/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
Script en el sistema operativo que quiere indexar la unidad
#!/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
Crear un archivo 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>
Pruébelo cargándolo y descargándolo:
launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist
rm
comando requiere que lo ejecute usandosudo
. Estoy usando el primer método en el enlace SO que publicaste. ¿Tendrías alguna sugerencia para eso? ¿Necesito usar el método de lanzamiento del demonio para superar esto?DriveToHide
tiene espacios, sus scripts , como están escritos actualmente, fallarán. Si va a realizar una prueba con[ ... ]
comillas dobles, coméntelas para evitar el bloqueo y la división de palabras. O use[[ ... ]]
para probar, luego no se necesita doble cita.Disculpas por la nueva respuesta (no hay suficiente representante para comentar porque soy nuevo aquí)
@hapi: puedo estar confundido, pero ¿están los guiones al revés?
Script para sistema operativo que quiere ocultar una unidad de atención: renombra
.metadata_never_index
Script en el sistema operativo que quiere indexar la unidad: crea
.metadata_never_index
Pensé que la presencia
.metadata_never_index
en el volumen significaba que Spotlight lo ignoró.Gracias
fuente
.metadata_never_index
no tiene ningún impacto en macOS 10.13 - superuser.com/questions/591406/… ...Hoy aprendí que puede usar un
sudo touch /.metadata_never_index_unless_rootfs
en el directorio raíz de cada unidad para separar los índices de las unidades de arranque de OS X. Es una versión especial de.metadata-never-index
, porque (re) indexará el disco cuando arranque desde él, pero no cuando no lo haga.fuente
Mientras que la otra respuesta es un buen método para hacerlo, puede causar problemas inadvertidamente y puede no ser 100% confiable. Un método mejor sería usar Alfred , ya que es más flexible que Spotlight, en el sistema operativo externo.
fuente