Perché ho così tanti file .Xauthority * nella mia home directory?

Sto usando Ubuntu 13.04 su un Lenovo X220.

Perché ho così tanti file .Xauthority * nella mia home directory? ie

.Xauthority .Xauthority.0JW6UW .Xauthority.2HWRVW .Xauthority.2TA6VW .Xauthority.49F8VW .Xauthority.4E27UW .Xauthority.7CLTVW .Xauthority.8JGGXW .Xauthority.96SAVW .Xauthority.AOUFVW .Xauthority.ASDOVW .Xauthority.CGVJXW .Xauthority.E0ZSVW .Xauthority.E5VZWW .Xauthority.FE64UW .Xauthority.FIHDWW .Xauthority.HL45VW .Xauthority.HYCCVW .Xauthority.ILUEWW .Xauthority.JXJHVW .Xauthority.K1QJXW .Xauthority.KXSOVW .Xauthority.LEKEVW .Xauthority.M48WVW .Xauthority.M6QTVW .Xauthority.MW6NWW .Xauthority.N57TWW .Xauthority.O5HAWW .Xauthority.OIC5VW .Xauthority.P2RPVW .Xauthority.Q0FRVW .Xauthority.QW01WW .Xauthority.RDW5WW .Xauthority.T0TLWW .Xauthority.TSO4WW .Xauthority.U6R9VW .Xauthority.V3KAWW .Xauthority.W8Z1WW .Xauthority.XDLGVW .Xauthority.XOOHWW.Xauthority.XUICVW

Sono tutti zero byte tranne il primo, con data e ora in tutto il luogo.

Cosa sono questi e sono sicuri da eliminare?

Questi sono i “cookie” del client X per consentire la connessione al server X (display). È spiegato molto chiaramente nella wiki:

xauth è un meccanismo per l’applicazione dei controlli di accesso sui server X (display). Quando viene avviato un server X, viene fornito un “cookie” generato casualmente. Questo cookie è scritto su un file di proprietà e leggibile dall’utente di cui è in esecuzione il server X. Nessun altro utente può leggere quel file. Quando viene avviato un client X (applicazione), tenta di leggere e utilizzare il cookie per autenticarsi con il server. Se questa autenticazione “xauth” fallisce, l’applicazione non è autorizzata a connettersi al server e mostrare windows sul display X.

Il comando

$ xauth list

mostrerà i cookie disponibili per la sessione corrente:

 selene/unix:0 MIT-MAGIC-COOKIE-1 c2438e7c2858f142e0b81d6b4fe3867b localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 c2438e7c2858f142e0b81d6b4fe3867b 

Tradizionalmente, il percorso per i cookie di ciascun utente è stato ~ / .Xauthority: il server X scrive i suoi cookie su quel file all’avvio e xauth (e altri client X) cercano quel file per i cookie di autenticazione.

Fonte: https://wiki.ubuntu.com/RemoteXHowTo

E come mostrato qui, sembra che sia un bug di lightdm che non rimuove i vecchi cookie e inquina la directory /home .

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1175023

In effetti, ho questo problema come te e anche con i file .goutputstream come mostrato in questo altro bug:

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/984785

Allora sì, puoi eliminarli perché se non hai un cookie per connetterti a un server X, ne creerai uno nuovo.

Sembra un bug che alcune persone sperimentano con lightdm

Quindi segui questo link e quando lo risolveranno avrai la tua risposta.

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1175023

Quindi installare gdm window manager potrebbe evitare il problema. Poiché non ho il problema, non posso verificarlo.

Per coloro – come me – che desiderano eliminare questo “inquinamento” nella directory dell’utente, una soluzione provvisoria potrebbe posizionare qualcosa come il seguente file di script (eseguibile) (che presuppone che tu sia il primo utente dopo la root ) nel /etc/cron.daily directory:

 #!/bin/bash USER="$(users | awk -F ' ' '{print $2}')" ls /home/"$USER"/.Xauthority.* > /home/"$USER"/.Xauthority-Files.txt NFILES="$(grep -c Xauthority /home/"$USER"/.Xauthority-Files.txt)" LOG="/home/"$USER"/.Xauthority-Files.log" echo -e "$(date +"%x %R"): "$NFILES" .Xauthority.* files deleted" >> "$LOG" rm -f /home/"$USER"/.Xauthority.* rm -f /home/"$USER"/.Xauthority-Files.txt exit 0 

NOTA: questo script aggiornato conserva un file di registro denominato “.Xauthority-Files.log” in modo da poter seguire se un aggiornamento recente ha posto fine a questo errore e quindi rimuovere lo script quando non è più necessario.

NOTA:

@ user196886 suggerisce uno script alternativo , dicendo ” Non voglio perdere tempo con la variabile USER, voglio solo le home directory degli utenti di login grafici (UID> 500), con una home in / home ho bisogno dei privilegi per cancellare altri file degli utenti, sono felice di vedere cosa sto eliminando e lo confermerò manualmente. Il mio file di registro è chiamato Xa.log, $ h è una directory home, $ ba basename abbreviation per registrare ed eliminare con.

E la sceneggiatura suggerita è:

 for h in `awk -F: '$3 >500 && /home/ {print $6}' /etc/passwd`; do b=$h/.Xauthority;[ -f $b.* ] && ls -l $b.* >>Xa.log && sudo rm -i $b.*; done 

Recentemente ho trovato numerosi file .Xauthority.ZY43OW e numerosi file .goutputstream.DF55OZ nella mia home directory (le estensioni dei file di 6 caratteri erano ovviamente tutte diverse). Ne ho aperto uno in un editor di testo e conteneva una stringa di testo di caratteri cinesi. Ho provato a farlo funzionare tramite un traduttore e ha detto qualcosa sugli inquilini. Ho un orribile sospetto che questi file rappresentino un tentativo di prendere il controllo del mio PC. Non riesco a pensare ad alcun altro motivo per cui dovrei avere numerose stringhe di caratteri cinesi nascoste sul mio PC.