3 votos

Forzar que los mensajes permanezcan conectados en OSX

Hemos estado utilizando messages.app para la comunicación en la oficina, pero a menudo nos encontramos con que el cliente no permanece conectado. Lo hemos configurado para que se inicie automáticamente al iniciar la sesión del usuario, lo hemos configurado para que inicie la sesión cuando los usuarios reanudan la actividad, pero muchas veces, los usuarios terminan cerrando la sesión. No se dan cuenta, y otros en la oficina intentan enviarles mensajes.

¿Alguien conoce una forma de forzar que los mensajes permanezcan conectados?

1voto

jherran Puntos 6511

Podrías ejecutar un script cada minuto para actualizar el estado a disponible.

Para ello, guarde el siguiente AppleScript, que llamé messages-available.scpt pero puedes cambiar el nombre si quieres.

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 .

El script hace clic en el elemento de menú Disponible en Mensajes.

Ir a la carpeta /Users/your-username/Library/LaunchAgents y guardar allí el siguiente archivo plist. Lo he llamado com.username.messages-available.plist pero, de nuevo, 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 se explica por sí mismo. Lanzaremos el comando /usr/bin/osascript /Users/your-username/bin/messages-available.scpt cada 60 segundos, se lanzará en la carga, guardará los errores en /tmp/com.username.messages-available.err y se conecta /tmp/com.username.messages-available.out .

Sustituir your-username adecuadamente.

El último paso es decirle al demonio launchd del Mac que lo cargue.

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

Para detener el script, basta con sustituir la palabra load con unload en la frase anterior. Cuando reinicie su ordenador el scriptse cargará de nuevo. Para evitarlo, muévelo a otra carpeta.

0voto

Lawrence Ting Puntos 1

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

tell application "Messages" to log in

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