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 user2
pour 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 user2
souhaitez autoriser l' user1
accès à leur écran, vous user2
devez 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 rc
hook de démarrage de session.
Une fois celui-ci émis, il user1
peut alors écrire sur user2
l'affichage, s'il peut le trouver.
S'ils en user2
sont conscients, ils peuvent toujours l'envoyer d' user1
une 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, user1
enfin (en utilisant la valeur DISPLAY obtenue ci-dessus; je viens d'écrire :14.0
ici…)
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.
user1
dans mon exemple) est connecté à X11, et n'a pas ouvertxterm
ou autre terminal -wall
fonctionnera aussi? Je pense queuser1
cela ne verra pas les messages.