Como regla general, las sesiones X11 generalmente se inician en un modo "privado", por lo que necesita una de dos cosas: cooperación, user2
para permitirle acceder a sus pantallas, o privilegios de superusuario para "entrar" en sus pantallas.
PELIGRO: Tenga en cuenta que, una vez que tenga acceso a su pantalla, también puede hacer cosas como capturar pulsaciones de teclas (que pueden incluir contraseñas) y tomar capturas de pantalla, por lo que este es un gran riesgo de seguridad.
En la mayoría de los casos, es preferible utilizar una herramienta de mensajería o un programa de chat para estas cosas.
Advertencias a un lado:
Cooperando
Si user2
quiere permitir el user1
acceso a su pantalla, primero user2
debe emitir un comando como:
xhost +si:localuser:user1
Esto podría agregarse potencialmente a un script de inicio de algún tipo; No conozco Fluxbox, pero supongo que tiene un rc
enlace de inicio de sesión.
Una vez que esto se ha emitido, user1
puede escribir en user2
la pantalla, si pueden encontrarlo.
Si user2
es consciente de esto, siempre pueden enviarlo de user1
alguna otra manera.
Encontrar la pantalla de otro usuario
En una estación de trabajo típica, es inusual tener más de uno o dos usuarios conectados; en cuyo caso, "adivinar" que la pantalla que desea es 0, 1 o quizás 2 podría ser una solución viable.
Sin embargo, para una solución más completa, supongamos que tiene una máquina en la que pueden iniciar sesión muchos usuarios e intente encontrar la que desea.
for proc in /proc/[0-9]*/
do
if [ Xorg = $(< $proc/comm ) ] 2>/dev/null && \
[ $(id -u user2) -eq $(< $proc/loginuid) ] 2>/dev/null
then
for subproc in $(
do
echo "user2 display=" $(perl -ne 'if (m,DISPLAY=(.*)\0,) { print $1 }' < $subproc/environ)
done
fi
done
entonces, user1
finalmente puede (usando el valor DISPLAY obtenido anteriormente; acabo de escribir :14.0
aquí ...)
DISPLAY=:14.0 xmessage "Hello, user2"
En vez de enviar una notificación
En aras de la integridad, lo siguiente funciona en el escritorio de Gnome, al menos. No sé si Fluxbox tiene un widget de notificación.
DISPLAY=:14.0 notify-send "Hello, user2"
Esto tiene muchas más opciones de visualización fáciles de usar, y probablemente aparecerá de una manera más amigable en la pantalla del usuario.
user1
en mi ejemplo) ha iniciado sesión en X11 y no ha abiertoxterm
u otro terminal, ¿wall
funcionará también? Creo queuser1
eso no verá mensajes.