47 votos

¿Cómo saber si M1 Mac tiene Rosetta instalado?

Estoy tratando de ejecutar sólo el software nativo. Así que me gustaría ser capaz de controlar si Rosetta 2 está disponible o no.

No estoy preguntando si Rosetta 2 es corriendo . Pregunto si Rosetta 2 es presente es capaz de correr.

Sé que puedo ordenar en el Amable de la lista de procesos que se ve en el Monitor de actividad para encontrar un proceso que se esté ejecutando a través de Rosetta 2 o de forma nativa ("Apple"). Pero quiero saber si la capacidad de Rosetta en general se ha instalado/activado en general en mi Mac, incluso si ninguna app se está ejecutando actualmente de esa manera.

0 votos

Tengo Rosetta instalado, así que no puedo probarlo, pero arch -arch x86_64 CMD intenta ejecutar CMD en modo x86. No estoy seguro de qué tipo de error se obtiene si Rosetta no está instalado

1 votos

En Información del Sistema/Aplicaciones, puedes ver si tienes una de Intel. Si no, Rosetta 2 no se ejecutará.

0 votos

Rosetta nunca se ejecuta como tal, sólo se activa si se lanza un ejecutable x86.

35voto

El instalador de Rosetta 2 parece instalar al menos tres archivos:

$ lsbom -f /Library/Apple/System/Library/Receipts/com.apple.pkg.RosettaUpdateAuto.bom
./Library/Apple/usr/lib/libRosettaAot.dylib 100755  0/0 322368  1011814917
./Library/Apple/usr/libexec/oah/libRosettaRuntime   100755  0/0 352176  1937385839
./Library/Apple/usr/share/rosetta/rosetta   100644  0/0 64  1875722922

Así que las pruebas para la existencia de cualquiera de ellos (o para el contenido en /usr/libexec/rosetta ) debería mostrarte si Rosetta se ha instalado realmente.

1 votos

Gracias por una solución; upvoted. Estoy esperando algo un poco más de alta tecnología o más simple, como un valor enterrado en la herramienta de informe del sistema.

2 votos

@BasilBourque Claro, puedes usar Información del Sistema para ver si el paquete Rosetta está instalado. Simplemente es más rápido comprobar la existencia de un archivo a través de la Terminal que buscar en la lista de Información del Sistema.

0 votos

No veo ninguna entrada de Rosetta 2 en el Información del sistema app. Tampoco encuentro ninguna entrada útil de Rosetta en el .spx exportado desde esa aplicación. ¿A qué se refiere en Información del sistema como indicador de que Rosetta está disponible?

24voto

Peter Puntos 8

Otra opción es comprobar si el proceso oahd se está ejecutando;

pgrep oahd

Internamente la rosetta se conoce como OAH . Si devuelve un identificador de proceso, sabrá que Rosetta está instalado. Yo uso el siguiente oneliner en mis scripts;

if [ $(/usr/bin/pgrep oahd >/dev/null 2>&1;echo $?) -eq 0 ]; then echo 'rosetta installed'; fi

0 votos

Puede acortarlo utilizando if [ $(/usr/bin/pgrep oahd) ]; then echo 'rosetta installed'; fi

13voto

Piotr Truszkowski Puntos 129

Esta simple línea sólo imprimirá Sí o No:

/usr/bin/pgrep -q oahd && echo Yes || echo No

Si está utilizando Jamf, este código creará un Atributo de Extensión y lo rellenará en consecuencia:

#!/bin/sh
#
# reports status of rosetta install

RESULT=$(/usr/bin/pgrep -q oahd && echo Yes || echo No)

echo "<result>$RESULT</result>"

0 votos

La pregunta no es si Rosetta está funcionando.

0 votos

@mmmmmm AFAIK oahd se ejecuta siempre (si Rosetta está instalado).

0 votos

¿Cómo comprobar qué aplicaciones utilizan rosetta para poder ejecutarse?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X