TeamsActivo

Cómo mantener Teams siempre activo en Linux

En Linux, Teams (como PWA en Chrome, Edge o Chromium, o con teams-for-linux) te pone Ausente a partir del tiempo de inactividad de la sesión gráfica, unos 5 minutos sin teclado ni ratón. TeamsActivo es un servicio en Python que cada 15 segundos mide esa inactividad y, a partir de 60 segundos, mueve el ratón 1 píxel y lo devuelve. En X11 funciona con xdotool o XTest; en Wayland necesita ydotool para simular entrada real.

Cómo decide Teams que estás Ausente en Linux

En Linux, Teams se usa como aplicación web o PWA en Chrome, Edge o Chromium, o con clientes como teams-for-linux. Todos deciden si estás Ausente a partir del tiempo de inactividad del sistema: lo que tu sesión gráfica lleva sin recibir teclado ni ratón.

Por eso inhibir el salvapantallas o el reposo (con systemd-inhibit, por ejemplo) no basta: la pantalla sigue encendida, pero el contador de inactividad crece igual. Es el mismo motivo por el que caffeinate y PowerToys Awake no evitan el Ausente en otros sistemas. El resto de causas (bloqueo, reposo, móvil) está en cómo aparecer siempre disponible en Teams.

Compatibilidad: X11, GNOME Wayland y KDE Plasma

TeamsActivo detecta tu sesión y elige cómo medir la inactividad y cómo simular actividad. La diferencia importante está entre X11 y Wayland.

Cómo mide la inactividad y cómo simula actividad TeamsActivo según la sesión de Linux.
SesiónMide la inactividad conSimula actividad conQué conviene instalar
X11 (cualquier escritorio)XScreenSaver (libXss) o xprintidlexdotool o XTest (libXtst)xdotool, xprintidle, wmctrl
GNOME en WaylandEl monitor de inactividad de Mutter, por D-Busydotool y SimulateUserActivityydotool, con su demonio en marcha
KDE Plasma (X11 o Wayland)org.freedesktop.ScreenSaver, por D-Busydotool o xdotool, y SimulateUserActivityydotool en Wayland, xdotool en X11
Otros entornosSin medición: envía un pulso cada 60 segundosLo que haya disponibleAlguna de las herramientas anteriores

Dependencias por distribución

Lo único obligatorio es Python 3.6 o posterior: el programa usa solo la biblioteca estándar. Lo demás depende de tu sesión.

  • Debian, Ubuntu y Mint: sudo apt install python3 libglib2.0-bin. Para X11, sudo apt install xdotool xprintidle libxss1 libxtst6 wmctrl. Para Wayland, sudo apt install ydotool.
  • Fedora y RHEL: sudo dnf install python3 glib2. Para X11, sudo dnf install xdotool xprintidle libXScrnSaver libXtst wmctrl. Para Wayland, sudo dnf install ydotool.
  • Arch y Manjaro: sudo pacman -S python glib2. Para X11, sudo pacman -S xdotool xprintidle libxss libxtst wmctrl. Para Wayland, sudo pacman -S ydotool.
  • Icono en la bandeja (opcional): pystray y Pillow. En GNOME hace falta además la extensión AppIndicator and KStatusNotifierItem Support. Sin ellos funciona igual, desde la terminal.
  • Licencia: para verificar la licencia se usa el paquete de Python cryptography si está instalado y, si no, el comando openssl. Hace falta uno de los dos.

Instalación y arranque

El instalador ./install.sh no necesita sudo: todo queda en tu carpeta de usuario.

  • Copia el programa a ~/.local/share/teams-activo/ y crea el comando ~/.local/bin/teams-activo.
  • Añade una entrada al menú de aplicaciones.
  • Crea y habilita un servicio systemd de usuario, teams-activo.service, ligado a la sesión gráfica.
  • Con ./install.sh --autostart, o si no hay systemd de usuario, usa en su lugar ~/.config/autostart/.
  • Al terminar muestra el diagnóstico de tu sesión: qué backend ha detectado y qué falta.

Para desinstalar, ./uninstall.sh (conserva la configuración) o ./uninstall.sh --purge.

Comandos útiles

Comandos de TeamsActivo en Linux.
ComandoQué hace
teams-activo --activarPide la clave de licencia y vincula este equipo
teams-activo --licenciaMuestra el estado de la licencia
teams-activo --statusEstado de la instancia en marcha, en JSON: si detecta Teams, qué simuladores usa
teams-activo --dry-run --once -vDiagnóstico. No mueve el ratón ni inhibe nada
teams-activo --toggleAlterna entre activo e inactivo
teams-activo --manualArranca con «Mantener activo ahora»
teams-activo --desvincularDesvincula este equipo de la licencia
journalctl --user -u teams-activo -fRegistro del servicio

Los ajustes (modo automático, horario de lunes a viernes de 8:00 a 19:00, parada tras 4 horas sin uso real) se guardan en ~/.config/teams-activo/config.json y también se cambian desde el icono de la bandeja, si lo tienes.

Cómo detecta que Teams está abierto

  • Por proceso: teams-for-linux, teams, ms-teams y teams-insiders. Puedes añadir otros en extra_process_names.
  • Por PWA: Chrome, Edge, Chromium o Brave lanzados como aplicación de Teams.
  • Por título de ventana, solo en X11 y si está instalado wmctrl.

Una pestaña normal de Teams dentro de un navegador ya abierto no se detecta en Wayland. En ese caso instala Teams como aplicación (PWA) desde el navegador, o usa el modo manual.

Wayland: lo que hay que saber

Wayland no permite que una aplicación inyecte eventos de entrada en otras. xdotool y XTest solo afectan a las aplicaciones que corren bajo XWayland y no reinician el contador de inactividad del compositor.

La forma genérica de simular entrada real es ydotool, que necesita su demonio ydotoold en marcha y permiso sobre /dev/uinput (el grupo input o una regla udev). Tras añadir tu usuario al grupo, cierra la sesión y vuelve a entrar.

Sin ydotool, en GNOME sobre Wayland TeamsActivo solo puede impedir que la pantalla se apague o se bloquee: el tiempo de inactividad que ve el escritorio sigue creciendo y Teams puede marcarte Ausente. En KDE Plasma, SimulateUserActivity suele reiniciar el temporizador de la sesión. Comprueba con teams-activo --status que la lista de simuladores incluye ydotool.

Linux es la plataforma con más variación entre escritorios. Aprovecha los días de prueba para comprobarlo en el tuyo y, si algo falla, empieza por teams-activo --dry-run --once -v.

Límites en Linux

  • Sesión bloqueada. Se pausa y libera los inhibidores: la pantalla puede apagarse y el equipo suspenderse. Teams mostrará Ausente.
  • Bloqueo y suspensión manuales. Nunca los impide. Solo inhibe el reposo por inactividad, no la suspensión que pidas tú ni la de la tapa.
  • Pestaña de navegador en Wayland. No se detecta: usa la PWA o el modo manual.
  • Políticas de empresa. Si tu organización fuerza el bloqueo de pantalla, esa política tiene prioridad.

Pensado para tu propio equipo. Úsalo conforme a las normas de tu organización.

Cómo instalar TeamsActivo en Linux

  1. Consigue la clave de licencia. Empieza la prueba en teams-active.es. La clave de licencia llega por correo.
  2. Instala las dependencias de tu sesión. Python 3.6 o posterior es lo único obligatorio. En X11 instala xdotool y xprintidle; en Wayland, ydotool con su demonio ydotoold en marcha.
  3. Ejecuta el instalador. Descarga la versión de Linux, entra en la carpeta y ejecuta ./install.sh. Crea el comando teams-activo y un servicio systemd de usuario. No necesita sudo.
  4. Activa la licencia. Ejecuta teams-activo --activar y pega la clave cuando la pida. Con icono de bandeja, también puedes usar «Introducir clave…».
  5. Comprueba el estado. Abre Teams y ejecuta teams-activo --status. Debe indicar que detecta Teams y qué simulador está usando.

Preguntas frecuentes

¿Funciona TeamsActivo en Wayland?

Sí, pero para simular entrada real en Wayland hace falta ydotool, con su demonio ydotoold en marcha y permiso sobre /dev/uinput. Sin ydotool, en GNOME sobre Wayland solo se evita que la pantalla se apague, y Teams puede marcarte Ausente.

¿Sirve con Teams en el navegador o solo con teams-for-linux?

Con los dos. Detecta teams-for-linux y la PWA de Teams en Chrome, Edge, Chromium o Brave. Una pestaña normal dentro de un navegador ya abierto solo se detecta en X11, por el título de la ventana. En Wayland, instala Teams como PWA o usa el modo manual.

¿Necesita permisos de root?

No. Se instala en tu carpeta de usuario y se ejecuta como servicio systemd de usuario. Solo necesitarás sudo para instalar paquetes de tu distribución, como xdotool o ydotool.

¿Puedo usarlo sin icono de bandeja?

Sí. El icono es opcional y depende de pystray y Pillow. Sin ellos, TeamsActivo funciona igual como servicio y se controla con comandos: teams-activo --status, --toggle, --manual y --quit.

¿Qué distribuciones admite?

Cualquiera con Python 3.6 o posterior y una sesión X11, GNOME o KDE Plasma. Hay instrucciones de dependencias para Debian, Ubuntu y Mint (apt), Fedora y RHEL (dnf) y Arch y Manjaro (pacman).