Configure una Mac para ejecutar la aplicación OSX (Ninguno del navegador) en modo kiosco puro

2

He estado intentando durante varios meses, usando varios métodos, ejecutar una aplicación Nuiteq llamada Snowflake en nuestros 10 Mac Minis conectados a pantallas táctiles en modo Kiosco puro. Estoy usando Yosemite. Estas máquinas deben ser capaces de:

  1. Ejecutar pantallas sin ventanas completas
  2. Tener el Dock y la barra de menú deshabilitados
  3. Se eliminó el acceso al buscador
  4. No muestra el cursor predeterminado, y solo usa la funcionalidad multitáctil en Snowflake

Desafortunadamente, no tengo acceso de compilación a la aplicación y no puedo agregar elementos como NSApplicationPresentationHideMenuBar a Snowflake ya que es un software propietario.

Inicialmente comencé agregando LUSIPresentationMode al archivo info.plist de la aplicación, con cierto éxito. El dock y la barra de menú seguían apareciendo. Luego creé una lista en ~/Library/LaunchAgents/ que reemplazó el buscador con la aplicación. Se veía así:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>POSIXSpawnType</key>
    <string>App</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <dict>
        <key>SuccessfulExit</key>
        <true/>
        <key>AfterInitialDemand</key>
        <false/>
    </dict>
    <key>Label</key>
    <string>com.apple.FindertoSnowflake</string>
    <key>Program</key>
    <string>/Applications/snowflake/run.sh</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.finder</string>
    <key>ThrottleInterval</key>
    <integer>0</integer>
</dict>
</plist>

y escribí 2 scripts cortos que cargaban y descargaban el plist para detener / iniciar la aplicación. (Lo siguiente es comenzar)

PASSWORD=password

echo $PASSWORD | sudo -S killall Finder
launchctl unload -w /System/Library/LaunchAgents/com.apple.Finder.plist
launchctl load -w /Users/snowbloke/Library/LaunchAgents/com.apple.FindertoSnowflake.plist

Y esto para parar:

PASSWORD=password

echo $PASSWORD | sudo -S killall -vu snowflake

Y luego, el software no ocultaría el cursor principal, así que tuve que escribir en una emulación de teclado de Fn + F3 para iniciar el script. De lo contrario, habría habido 2 juegos de interacción entre los controladores táctiles utilizados por Snowflake y el sistema operativo. Esto fue muy molesto.

osascript -e "tell application \"System Events\" to key code 99"

exit 0

Cada mac inicia sesión directamente en la aplicación desde el inicio.

Después de hacer todo esto y ejecutar las pruebas a lo largo del tiempo, los usuarios todavía pueden ingresar al escritorio del sistema operativo y el buscador simplemente comienza a ejecutarse. Por alguna razón, la barra de menú o el dock se muestran en pantalla. ¿Hay una solución más robusta? ¿Qué estoy haciendo mal?

    
pregunta Eggfoot 16.05.2016 - 12:12

0 respuestas

Lea otras preguntas en las etiquetas