Entrada de usuario en la ventana de inicio de sesión

0

Espero que alguien ahora pueda obtener información del usuario en la ventana de inicio de sesión. Estoy intentando levantar un cuadro de entrada en la ventana de inicio de sesión como parte de un primer script de inicio. Inicialmente intenté usar CocoaDialog (pero también probé AppleScript). Aquí está mi script inicial, funciona si un usuario está conectado, pero no si el sistema está en la ventana de inicio de sesión.

#!/bin/bash

# Script to promtp user for new hostname, and then set it
# Script needs to be packaed with CocoaDialog, which needs to be deployed to /Library/PrivilegedHelperTools/

CD="/Library/PrivilegedHelperTools/CocoaDialog.app/Contents/MacOS/CocoaDialog"

while [ "$proceed" != 1 ]; do
  userInput=$($CD inputbox --title "Set Hostname" --text "new_hostname" --button1 "  OK  " --button2 "Don't Set" --float)
  buttonClicked=$(echo "$userInput" | awk 'NR==1{print}')
  if [ "$buttonClicked" == 1 ] ; then
    newHostname=$(echo "$userInput" | awk 'NR>1{print}')
  else
    cancel=$($CD msgbox --title "Set Hostname" --text "Would you like to skip setting the hostname?" --button1 "  NO  " --button2 "YES" --float)
    if [ "$cancel" == 2 ] ; then
      echo "Hostname not set"
      exit 1
    fi
  fi

  proceed=$($CD ok-msgbox --title "Set Hostname" --text "Set new hostname to: '${newHostname}'?" --float)
done

/usr/sbin/scutil --set ComputerName "$newHostname"
/usr/sbin/scutil --set HostName "$newHostname"
/usr/sbin/scutil --set LocalHostName "$newHostname"
echo Hostname set: $newHostname

exit 0

Este es el error que recibo cuando trato de ssh y ejecuto el script como root en la ventana de inicio de sesión:

 _RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.

Puede que no haya manera de hacer esto, ya que creo que es algo que tiene que ver con el sandbox, pero si alguien tiene alguna idea, sería muy apreciado.

Estoy abierto a usar AppleScript o Javascript en lugar de CocoaDialog si alguien sabe cómo hacerlo funcionar

    
pregunta Neddy 13.03.2018 - 07:26

0 respuestas

Lea otras preguntas en las etiquetas