Forzar mensajes para permanecer conectado en OSX

3

hemos estado utilizando messages.app para la comunicación en la oficina, pero a menudo encontramos que el cliente no se mantiene conectado. Lo hemos configurado para que se inicie automáticamente al iniciar la sesión del usuario, lo tenemos configurado para iniciar sesión cuando los usuarios reanudar la actividad, pero muchas veces, los usuarios aún se desconectan. No se dan cuenta, y otros en la oficina están tratando de enviarles mensajes.

¿Alguien sabe de una manera de forzar que los mensajes permanezcan conectados?

    
pregunta ajm_from_sea 10.12.2014 - 18:44

2 respuestas

1

Puede ejecutar un script cada minuto para actualizar el estado a disponible.

Para hacer esto, guarda el siguiente AppleScript, llamé messages-available.scpt , pero puedes cambiarle el nombre si lo deseas.

tell application "System Events"
    tell process "Messages"
        tell menu bar 1
            tell menu bar item "Messages"
                tell menu "Messages"
                    tell menu item "My Status"
                        tell menu "My Status"
                                click menu item "Available"
                            end if
                        end tell
                    end tell
                end tell
             end tell
        end tell
    end tell
end tell

Dar permisos: chmod 775 messages-available.scpt .

La secuencia de comandos hace clic en el elemento del menú Disponible en Mensajes.

Vaya a la carpeta /Users/your-username/Library/LaunchAgents y guarde allí el siguiente archivo plist. Lo nombré com.username.messages-available.plist , pero nuevamente, siéntase libre de cambiarlo.

<?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>Label</key>
  <string>com.your-username.messages-available</string>

  <key>ProgramArguments</key>
  <array>
    <string>/usr/bin/osascript</string>
    <string>/Users/your-username/bin/messages-available.scpt</string>
  </array>

  <key>Nice</key>
  <integer>1</integer>

  <key>StartInterval</key>
  <integer>60</integer>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardErrorPath</key>
  <string>/tmp/com.your-username.messages-available.err</string>

  <key>StandardOutPath</key>
  <string>/tmp/com.your-username.messages-available.out</string>
</dict>
</plist>

El archivo es bastante autoexplicativo. Lanzaremos el comando /usr/bin/osascript /Users/your-username/bin/messages-available.scpt cada 60 segundos, se iniciará en la carga, guardará los errores en /tmp/com.username.messages-available.err y los registros en /tmp/com.username.messages-available.out .

Reemplace your-username apropiadamente.

Último paso, dile al demonio de launchd de Mac que lo cargue.

launchctl load com.your-username.messages-available.plist

Para detener la secuencia de comandos, simplemente reemplace la palabra load con unload en la oración anterior. Cuando reinicies tu computadora, el script se cargará nuevamente. Para evitarlo, muévelo a otra carpeta.

    
respondido por el jherran 13.12.2014 - 09:58
0

En respuesta a jherran, en lugar de secuencias de comandos de GUI para establecer el estado como disponible, la siguiente secuencia de comandos debería funcionar.

tell application "Messages" to log in
    
respondido por el Lawrence Ting 24.01.2015 - 05:28

Lea otras preguntas en las etiquetas