Il fenomeno del Buffer "Ghosting"
È possibile osservare il contenuto dei buffer grafici (vecchi e attualmente usati) su un monitor in determinate circostanze, ponendo un rischio di divulgazione delle informazioni, quando combinato con la navigazione a spalla:
- Crescere rapidamente una finestra in alcuni gestori di finestre di impilamento e affiancamento (sempre)
- Arresto del server X11 (a volte)
Ciascuna parte della schermata (1) o dell'intero (2) mostrerà porzioni di finestre attualmente attive (da possibili aree di lavoro / desktop) o finestre chiuse da molto tempo.
A volte sembrano "danneggiati" leggermente o pesantemente a seconda dell'età e dell'attività del buffer dalla distruzione delle finestre. I buffer residui mostrati a volte sembrano "fogli sprite".
Questo fenomeno si verifica per una frazione di secondo sul ridimensionamento, o ~ 1 secondo su X11 shutdown, il che rende poco pratico fornire schermate. Siamo spiacenti.
La domanda principale
Come faccio a mitigare o eliminare con praticità il rischio di rivelare le informazioni contenute in questi buffer residui?
Ciò presuppone che non sia pratico nascondere sempre il mio monitor, che sarebbe il classico metodo anti-spalla-surf.
Informazioni aggiuntive
Tentativo di spiegare le cause
Questo accade solo su server X locali, non su ssh, quindi presumo che i buffer sottostanti si trovino nella memoria della scheda grafica.
Ipotesi basate sulla consultazione della documentazione di xlib:
-
Il server X11 fornisce un buffer ingrandito in cui dipingere la finestra (ora più grande), ma l'applicazione che fornisce la finestra non cancella / dipinge completamente in questa finestra prima che il server X11 inizi a visualizzarla. Questo porta alla lettura di alcuni dati spazzatura nei buffer, che a volte capita di essere immagini coerenti se la memoria del buffer è stata utilizzata per un'altra finestra in precedenza.
-
Dopo l'arresto del server X11 rimangono dei dati inutili nei buffer sottostanti dalle vecchie finestre. La scheda grafica è ancora attiva, ma l'impostazione della modalità kernel non è ancora finita, e i dati inutili vengono emessi per qualche tempo.
Riprodotto su queste configurazioni
Ridimensiona finestra & Arresto del server X11:
- Arch Linux (più recente), i3, xorg-server 1.18.3-1, nvidia-340xx, Nvidia GT218
- OpenSuSE Linux 13.2 | 42.1, i3, x11-video-nvidiaG02 | G03 | G04, Nvidia G98 Quadro
- Debian Jessie Linux, i3, xorg-server, nouveau | mesagl, grafica integrata intel
All'arresto del server X11:
- Opensuse 13.2 | 42.1, LXDE | GNOME | KDE, x11-video-nvidiaG02 | G03 | G04, Nvidia G98 Quadro