En règle générale, les sessions X11 sont généralement démarrées en mode «privé», vous avez donc besoin de deux choses: soit la coopération de user2pour vous permettre d'accéder à leurs écrans, soit les privilèges de superutilisateur pour «pénétrer» sur leurs écrans.
DANGER: Gardez à l'esprit qu'une fois que vous avez accès à leur écran, vous pouvez également faire des choses comme capturer des touches (y compris éventuellement des mots de passe) et prendre des captures d'écran, c'est donc un gros risque pour la sécurité.
Dans la plupart des cas, il est préférable d'utiliser à la place un outil de messagerie ou un programme de chat pour ces choses.
Mises en garde de côté:
Coopérer
Si vous user2souhaitez autoriser l' user1accès à leur écran, vous user2devez d' abord lancer une commande comme:
xhost +si:localuser:user1
Cela pourrait potentiellement être ajouté à un script de démarrage d'une sorte; Je ne connais pas Fluxbox, mais je suppose qu'il a un rchook de démarrage de session.
Une fois celui-ci émis, il user1peut alors écrire sur user2l'affichage, s'il peut le trouver.
S'ils en user2sont conscients, ils peuvent toujours l'envoyer d' user1une autre manière.
Recherche de l'affichage d'un autre utilisateur
Sur un poste de travail typique, il est inhabituel d'avoir plus d'un ou deux utilisateurs connectés; dans ce cas, «deviner» que l'affichage souhaité est 0, 1 ou peut-être 2 pourrait être une solution viable.
Cependant, pour une solution plus complète, supposons que vous disposez d'une machine sur laquelle de nombreux utilisateurs peuvent être connectés, et essayez de trouver celle que vous souhaitez.
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
puis, user1enfin (en utilisant la valeur DISPLAY obtenue ci-dessus; je viens d'écrire :14.0ici…)
DISPLAY=:14.0 xmessage "Hello, user2"
Envoi d'une notification à la place
Dans un souci d'exhaustivité, les éléments suivants fonctionnent au moins sur le bureau Gnome. Je ne sais pas si Fluxbox a un widget de notification.
DISPLAY=:14.0 notify-send "Hello, user2"
Cela a des options d'affichage beaucoup plus conviviales et apparaîtra probablement de manière plutôt conviviale sur l'écran de l'utilisateur.
user1dans mon exemple) est connecté à X11, et n'a pas ouvertxtermou autre terminal -wallfonctionnera aussi? Je pense queuser1cela ne verra pas les messages.