Il desktop dimentica il tema?


79

Sto eseguendo Ubuntu in VirtualBox (su un host Windows 7). Diverse volte ora, la barra dei menu di livello superiore, la barra delle attività - e apparentemente ogni finestra di dialogo del sistema - hanno dimenticato il tema "Ambiance" pronto all'uso a cui si sono conformati quando ho installato il sistema per la prima volta. Le didascalie delle finestre conservano ancora il tema, ma praticamente nient'altro.

Ho cercato Google in alto e in basso per assistenza con questo problema. Tutto quello che ho trovato suggerisce di eseguire un ripristino di gconf o di eliminare .gconf * .gnome * e altre directory simili. Ho seguito tutti questi consigli e niente funziona. Ho ancora un noioso aspetto 3D grigio in stile Windows-95. In precedenti occasioni, dopo molti scherzi, ho rinunciato e riavviato l'istanza della VM, e sono stato piacevolmente sorpreso di vedere il tema originale "Ambience" ripristinato nell'interfaccia utente, ma invariabilmente scompare di nuovo un po 'più tardi, di solito dopo un riavvio, quindi non riesco mai a capire cosa ho fatto che l'ha rotto.

Ecco un esempio dal sito di Ubuntu di come voglio che appaia.

testo alternativo

Ed ecco uno screenshot del mio sistema come appare attualmente.

testo alternativo

Inoltre, i miei terminali GNOME hanno normalmente un bel aspetto semitrasparente viola e, come si può vedere dallo screenshot, ora sono solo un bianco opaco opaco.

Quest'ultima volta (proprio ieri), provare numerose combinazioni tutti i soliti trucchi e riavviare più volte non ha risolto il problema, quindi eccomi qui su SU a chiedermi:

Come posso recuperare il tema predefinito per il mio desktop Gnome / Ubuntu, notando che non è possibile raggiungere tutti i file di configurazione, come suggerito in molti punti online?

Potrebbe essere utile sapere che sembra non riuscire dopo aver ridimensionato l'istanza della VM, costringendo il desktop Ubuntu a ridimensionare se stesso o dopo aver giocato con le impostazioni di Compiz. Non sono stato in grado di capire quale di questi è, e non potrebbe essere nessuno dei due. Data la quantità di dolore che ho dovuto affrontare per riportare le cose alla normalità (e dato che sono in perdita su come farlo), si è rivelato difficile isolare definitivamente la causa.


Risposte:


45

La risposta di @ zpletan ha portato a un po 'di caccia in giro, che ha portato alla luce quella che sembra essere la causa principale del mio problema. È dettagliato nel bug # 574296 di Ubuntu . In sintesi, il mio sistema Core i7 con un SSD avvia tutto con tempistiche sufficientemente diverse che gnome-settings-daemon viene eseguito troppo presto, esegue il bail e mi lascia per lo più con un tema GTK di serie.

Un breve sonno /etc/xdg/autostart/gnome-settings-daemon.desktoplo risolve:

Exec= bash -c "sleep 2; /usr/lib/gnome-settings-daemon/gnome-settings-daemon"

Va bene! Ho appena pensato che sarebbe meglio aumentare la validità della tua risposta: D
Marco Ceppi

2
+1, tuttavia dovrei notare che questo non ha funzionato tutto il tempo per me (era sporadico) ... vedi la mia risposta di seguito su come ho ottenuto qualcosa che sembra funzionare il 100% delle volte.
TM.

22

Non ho potuto risolvere questo problema con nessuna delle risposte suggerite (la risposta attualmente accettata ha funzionato sporadicamente, ma di solito non ha funzionato per me). Ho provato ad aumentare di molto il tempo di sonno e ancora non funzionava in modo coerente.

Tuttavia, una delle risposte ha indicato un bug che tiene traccia di questo problema e ho trovato un commento sul bug che lo ha risolto per me.

Ecco i bit chiave:

Innanzitutto, crea uno script bash (l'ho chiamato /etc/xdg/autostart/gnomesettingsdaemonfix.sh)

#!/bin/bash

pid=$(pgrep gnome-settings-)

while [ -n "$pid" ];
do
  pid=$(pgrep gnome-settings-)
  sleep 0
done

exit 0

Assicurati che sia eseguibile (esegui chmod +x).

Quindi modifica /etc/xdg/autostart/gnome-settings-daemon.desktop

Cambia la Execlinea in:

Exec=bash -c '/etc/xdg/autostart/gnomesettingsdaemonfix.sh;/usr/lib/gnome-settings-daemon/gnome-settings-daemon'

Questo sembra averlo risolto finora per me.


4
+1 Questa sembra la soluzione migliore in cui invece di modificare il tempo di sonno, vengono effettivamente affrontate le condizioni di gara.
mindless.panda,

1
Perché questo errore non è stato corretto? Se questo semplice controllo può risolvere il problema, perché non è stata creata una patch?
Luca non ha un nome il

Ho creduto che questa soluzione avrebbe risolto il mio problema dato che ho un core i3 ma non lo faceva :( Il mio gnomesettingsdaemonfix.shha i permessi 0777. Una cosa che ho trovato la differenza nel mio Ubuntu 16 è che la Execlinea aveva () usr/lib/gnome-settings-daemon/gnome-settings-daemon-localeexecinvece di usr/lib/gnome-settings-daemon/gnome-settings-daemon. qualcosa di sbagliato?
Ejaz,

16

Premi Alt + F2 (Esegui applicazione) ed esegui quanto segue:

gksudo gnome-settings-daemon

+1, @zpletan per avermi dato una spinta nella giusta direzione. Quando eseguo questo tramite sudo gnome-settings-daemon, ripristina il tema completo, ma non voglio eseguirlo ogni volta che riavvio il mio sistema. Aggiungerò gli errori che ottengo senza sudo alla mia domanda. Forse questo suggerirà ciò che non va.
Marcelo Cantos,

In realtà, non è necessario. Il commento di Jorge sulla mia risposta porta a una domanda che mostra esattamente l'output che sto vedendo.
Marcelo Cantos,

7

10.10 presenta questo problema, ma normalmente si verifica quando si installa il driver nvidia proprietario. Tuttavia, la soluzione probabilmente funzionerà anche su una macchina virtuale.

Crea un file di testo. Scrivi in ​​esso

include "/usr/share/themes/Ambiance/gtk-2.0/gtkrc"
gtk-icon-theme-name = "ubuntu-mono-dark"

e salvalo nella tua cartella home con il nome .gtkrc-2.0. Ricomincia.

Se ci sono ancora elementi sbagliati (per me era il carattere), devi aggiungere questa modifica al file, google per un tutorial gtk per le possibili ottimizzazioni.


+1, @rumtscho; questa risposta riporta il tema completo. Sembra una soluzione, tuttavia. Poiché un Ubuntu 10.10 incontaminato sembra perfetto senza di esso, perché questo file è necessario?
Marcelo Cantos,

Un Ubuntu incontaminato viene fornito solo con driver video open source. Il problema che descrivi è un bug comune nei driver video proprietari. Poiché sono di tipo chiuso, solo nVidia può fornire una correzione. Potresti rimuoverli e ripristinare un driver open source, ma perderai Compiz e l'accelerazione 3d.
Rumtscho,

questo sembra aver risolto questo problema con la mia installazione 10.10 ... per ora
Nathan Schwermann,

parlato troppo presto, al mio prossimo riavvio le impostazioni sono state perse di nuovo
Nathan Schwermann il

@schwiz Per me funziona sempre, ma le impostazioni devono essere salvate nella cartella principale dell'account con cui si è attualmente connessi. Se hai riavviato e eseguito l'accesso come utente diverso, non funziona. Se avvii una finestra della GUI con sudo, non funziona neanche, poiché ha le impostazioni dell'utente root e non dell'utente che ha effettuato l'accesso.
Rumtscho

4

Sto cercando una soluzione per questo problema da mesi. Apparentemente nessuno sa cosa lo provoca. Questo bug esiste da anni e nessuno lo ha corretto.

A volte succede durante l'avvio con una condizione di competizione tra la prima e la seconda istanza di gnome-settings-daemon, e talvolta accade nel mezzo di una sessione desktop funzionante quando gnome-settings-daemon smette di funzionare o si arresta in modo anomalo.

L'unica soluzione che ho trovato che sembra risolverlo è digitare

killall gnome-settings-daemon
gnome-settings-daemon &

in un terminale in esecuzione che lascio aperto.

La chiusura del terminale uccide l'istanza in background di gnome-settings-daemon e il desktop ritorna al tema predefinito (non predefinito di Ubuntu ma predefinito di gnome). Quindi eseguo il demone in background e lascio anche il terminale in esecuzione perché il processo ha bisogno del suo genitore.


È possibile evitare di mantenere l'apertura di un terminale eseguendo Esegui applicazione (Alt + F2) e fornendo gksudo gnome-settings-daemoncome argomento.
Vemv,

4

Ho avuto lo stesso problema e stavo ricevendo un errore durante l'accattonaggio: Could not apply the stored configuration for monitors.

Rimosso il file: ~/.config/monitors.xmlri-registrato e ha funzionato come un guanto.


2
Questo ha funzionato anche per me! Per i lettori, penso che dovresti prestare attenzione a questa soluzione se hai recentemente modificato (o modificato e ripristinato) il tuo xconfig ( /etc/X11/xorg.conf[.d]).
Severo Raz,

2

Ho lo stesso problema, lo sudo killall nautilusrisolve. (temporaneamente)


Grazie per aver commentato, @Pit, ma questo non ha fatto nulla per me.
Marcelo Cantos,

Ho avuto di nuovo il problema oggi e ho dovuto correre gnome-appearance-propertiesper sistemare il menu e successivamente killall nautilusper correggere l'aspetto del nautilus.
Pit

1

Siamo spiacenti ma il mio precedente suggerimento di usare '--sync' non è una soluzione. Risulta dopo alcuni riavvii il problema è lo stesso.

Ma si spera, sono riuscito a catturare il seguente output dal processo 'gnome-settings-daemon' in crash durante gli avvii quando il tema non si applica:

** (gnome-settings-daemon:1679): WARNING **: You can only run one xsettings manager at a time; exiting

** (gnome-settings-daemon:1679): WARNING **: Unable to start xsettings manager: Could not initialize xsettings manager.

Quando il tema viene applicato correttamente, non c'è output.

Da questo, sembra che gnome-settings-daemon potrebbe essere in esecuzione due volte in qualche modo. Apparentemente, se la prima istanza viene completata prima dell'esecuzione della seconda istanza, il tema verrà applicato altrimenti fallirà.

NOTA: L'acquisizione dell'output è stata effettuata modificando la voce 'Exec =' di /etc/xdg/autostart/gnome-settings-daemon.desktop in "bash -c" / usr / lib / gnome-settings-daemon / gnome-settings-daemon --debug --sync &> /home/sanjeev/Desktop/test.txt '"(l'opzione --sync è stata utilizzata come raccomandato da alcuni siti Web)

PS: ulteriori test mostrano che sono effettivamente in esecuzione due istanze che dovrebbero essere eseguite una dopo l'altra.

Sebbene il metodo "sleep" possa fare, ecco una soluzione più "tecnicamente corretta", se possibile, al problema. Ho provato con 6 riavvii e il seguente sembra funzionare:

Passaggio 1: crea uno script (l'ho chiamato gnome-settings-daemon-fix.sh) sotto / etc / xdg / avvio automatico con il seguente:

#!/bin/bash
# gnome-settings-daemon-fix.sh

pid=`pgrep gnome-settings-`
wait pid

exit 0

Passaggio 2: modifica "gnome-settings-daemon.desktop" nella voce "Exec =" e sostituiscilo con:

Exec=bash -c 'bash /etc/xdg/autostart/gnome-settings-daemon-fix.sh ;/usr/lib/gnome-settings-daemon/gnome-settings-daemon'

Ogni cosa è fatta. Fondamentalmente, quello che stiamo facendo è aspettare che la prima istanza termini prima che venga lanciata la seconda. Qualcuno potrebbe avvisare se ciò ha risolto il problema?


Questo è vicino, ma non funziona del tutto per un paio di ragioni. Il problema più grande è che il comando wait non funzionerà su un altro processo.
TM.

1

Ho avuto anche il problema molto simile. Questo avvenne dopo un aggiornamento (parziale IIRC) del mio Natty Narwhal come era allo stato alfa 3. Nel mio caso, il file ~ / michael / .nautilus / browser.xml sembrava corrotto. Dopo aver provato alcuni dei suggerimenti di questo sito parziale, ho semplicemente cancellato questo file, riavviato il mio PC e tutti i miei temi erano tornati e sono rimasti stabili. Penso che tu possa provare a risolvere il tuo problema come me.


1

Questo succede a me occasionalmente con 11.04 Unity 3D e ogni volta che l'ho cancellato aprendo Aspetto, pulsante Personalizza, scheda Icona e facendo clic sul set di icone scelto anche se era indicato come in uso. Nel mio caso sarebbe Faenza-Dark. Succede così di rado che devo ancora identificare qualsiasi sequenza di eventi che causa questo.



1

Ecco una soluzione rapida, vai alla tua console virtuale, ferma gdm, avvia X server

  1. premi "Right Ctrl + F1" (Ctrl + Alt + F1 è una combinazione per installazioni non virtualizzate)
  2. accesso
  3. genere: sudo /etc/init.d/gdm stop
  4. genere: startx

dato che questo è il mio primo post, ho dovuto inserire immagini come questa:

http://imgur.com/a/bi0xm#0


1

Questo è successo anche a me e, nel mio caso, ho dovuto eseguire l'annullamento dell'intera directory home e quindi ripristinare frammenti, in base alla risposta qui . Se stai eseguendo gli script di temporizzazione per gnome-settings-daemon, vedi se riesci a farlo funzionare correttamente creando un altro account e accedendo come tale account. Nel mio caso, il 2 ° account non presentava il problema di non avvio e quindi ho applicato la correzione nel collegamento.


0

Per favore, prova questo e riavvia! :)

gconftool-2 --shutdown        
rm -rf ~/.gconf/apps/panel       
pkill gnome-panel        

Grazie per il suggerimento, Iván, ma niente banana. Ho inserito le istruzioni sopra e riavviato. Il sistema è tornato con un pannello appena configurato, ma ancora con la combinazione di colori grigio insipido e uno sfondo bianco sulle finestre del mio Terminale.
Marcelo Cantos,

0

Penso che ci siano parecchie persone con l'idea giusta.

La mia ipotesi è che dopo alcuni aggiornamenti (nuovi kernel, ecc.) Che Ureadahead venga riprofilata. Questo è dove penso che il problema si verifichi. gnome-settings-daemon viene chiamato troppo presto.

Ho eliminato tutti i file con 'pack' (pack, home.pack, boot.pack, run.pack) nel nome nella cartella / var / lib / ureadahead / per forzare un reprofile. Dopo tutto è andato benissimo.

Durante la riprofilatura, eliminare i file sopra, riavviare e accedere rapidamente non appena viene visualizzata la schermata di accesso. Attendere circa 30 secondi o quando l'unità smette di girare prima di fare qualsiasi cosa. Lascia che finisca i suoi affari. La finestra di Nautilus dovrebbe apparire a posto ora.

Forse un bug dovrebbe essere archiviato con ureadahead per mettere fuori servizio gnome-settings-daemon.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.