6 votos

Identificar por qué MacOS me pide una contraseña de administrador

Me aparece este molesto cuadro de diálogo cuando inicio sesión en mi mac como usuario estándar, y no sé por qué sigue pidiendo una contraseña de administrador.

enter image description here

Mi pregunta es si hay alguna forma de averiguar qué comando/proceso o lo que sea está causando este diálogo. Gracias de antemano

0 votos

Hay muchas cosas en MacOS donde necesitas ser un administrador para hacer algunos cambios en los archivos del sistema.

0 votos

Arrancar en modo seguro (Mantenga pulsado Shift durante el arranque). Evitará que se carguen software y controladores de terceros. ¿Sigue apareciendo el cuadro de diálogo de la contraseña de administrador?

0 votos

¿Cuáles son sus elementos de inicio de sesión? sys pref > Usuarios y cuentas > elementos de inicio de sesión

2voto

egregious Puntos 23

Crédito a respuesta de superusuario por esto.

Sin duda hay otras formas de conseguirlo, pero si eres hábil con Python, aquí tienes un práctico script que te mostrará los detalles pertinentes para el Windows que se esté mostrando en ese momento. Después de ejecutar, mueva la ventana en cuestión, y el script le dará los detalles específicos (por ejemplo, PID) para esa ventana. A partir de ahí, usted puede hurgar y ver quién le está molestando para su.

#!/usr/bin/env python

import Quartz
import time
from Foundation import NSSet, NSMutableSet
def transformWindowData(data):
    list1 = []
    for v in data:
        if not v.valueForKey_('kCGWindowIsOnscreen'):
            continue

        row = (  \
            str(v.valueForKey_('kCGWindowOwnerPID') or '?').rjust(7) + \
            ' ' + str(v.valueForKey_('kCGWindowNumber') or '?').rjust(5) + \
            '  {' + ('}' if v.valueForKey_('kCGWindowBounds') is None else \
                ( \
                    str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('X')))     + ',' + \
                    str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('Y')))     + ',' + \
                    str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('Width'))) + ',' + \
                    str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('Height'))) \
                ) + '}'  \
                ).ljust(21) + \
            '\t[' + ((v.valueForKey_('kCGWindowOwnerName') or '') + ']:') + \
            ('' if v.valueForKey_('kCGWindowName') is None else (" " + v.valueForKey_('kCGWindowName') )) \
        )
        list1.append(row)

    return list1;

def printBeautifully(dataSet):
    print ('PID'.rjust(7) + ' ' + 'WinID'.rjust(5) + '  ' + 'x,y,w,h'.ljust(21) + ' ' + '\t[Title]:SubTitle')
    print ('-'.rjust(7,'-') + ' ' + '-'.rjust(5,'-') + '  ' + '-'.ljust(21,'-') + ' ' + '\t-------------------------------------------')

    # print textList1
    for v in dataSet:
        print (v);

#grab initial set
wl = Quartz.CGWindowListCopyWindowInfo( Quartz.kCGWindowListOptionAll, Quartz.kCGNullWindowID)
wl = sorted(wl, key=lambda k: k.valueForKey_('kCGWindowOwnerPID'))

#convert into readable format
textList1 = transformWindowData(wl);

#print everything we have on the screen
print ('all windows:')
printBeautifully(textList1)

print ('Move target window')
time.sleep(5)

#grab window data the second time
wl2 = Quartz.CGWindowListCopyWindowInfo(Quartz.kCGWindowListOptionAll, Quartz.kCGNullWindowID)
textList2 = transformWindowData(wl2)

#check the difference
w = NSMutableSet.setWithArray_(textList1)
w.minusSet_(NSSet.setWithArray_(textList2))

#print the difference
printBeautifully(w)

Nota: Este script es para Python 3.x. Me peleé con el script original durante bastante tiempo (no soy programador de Python). No pude conseguir que funcionara (con 2.x) debido a una dependencia de Quartz que requería 3.x.

Un par de requisitos previos son:

pip install pyobjc-framework-Quartz
pip install quartz

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