Di norma, le sessioni X11 vengono in genere avviate in modalità "privata", quindi è necessario uno di questi due elementi: o la cooperazione user2
per consentire l'accesso ai loro schermi o i privilegi di superutente per "accedere" ai loro schermi.
PERICOLO: tieni presente che, una volta che avrai accesso al loro schermo, potresti anche fare cose come catturare sequenze di tasti (potenzialmente includendo password) e acquisire schermate, quindi questo è un grosso rischio per la sicurezza.
Nella maggior parte dei casi è preferibile utilizzare uno strumento di messaggistica o un programma di chat per queste cose.
Avvertenze a parte:
cooperare
Se user2
vuoi consentire user1
l'accesso al loro schermo, user2
devi prima emettere un comando come:
xhost +si:localuser:user1
Questo potrebbe potenzialmente essere aggiunto a uno script di avvio di qualche tipo; Non conosco Fluxbox, ma presumo che abbia un rc
hook o di avvio della sessione.
Una volta che questo è stato emesso, user1
può quindi scrivere sul user2
display, se riesce a trovarlo.
Se user2
è a conoscenza di ciò, possono sempre inviarlo user1
in qualche altro modo.
Trovare il display di un altro utente
Su una tipica workstation, è insolito avere più di uno o due utenti connessi; nel qual caso, "indovinare" che il display desiderato è 0, 1 o forse 2 potrebbe essere una soluzione praticabile.
Tuttavia, per una soluzione più completa, supponiamo che tu abbia una macchina in cui molti utenti possano accedere e proviamo a trovare quello che desideri.
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
quindi, user1
può finalmente (usando il valore DISPLAY ottenuto sopra; ho appena scritto :14.0
qui ...)
DISPLAY=:14.0 xmessage "Hello, user2"
Invio di una notifica invece
Per motivi di completezza, almeno quanto segue funziona sul desktop di Gnome. Non so se Fluxbox ha un widget di notifica.
DISPLAY=:14.0 notify-send "Hello, user2"
Questo ha molte più opzioni user-friendly per la visualizzazione e probabilmente apparirà in un modo piuttosto più amichevole sullo schermo dell'utente.
user1
nel mio esempio) è connesso a X11 e non ha ancora aperto unxterm
altro terminale,wall
funzionerà anche? Penso cheuser1
non vedrà i messaggi.