Rozszerzenia są wyłączane po ponownym uruchomieniu [zamknięte]

35

Używam Ubuntu Gnome 13.10 z Gnome 3.10. Mój problem polega na tym, że przy każdym ponownym uruchomieniu systemu operacyjnego wszystkie rozszerzenia powłoki są wyłączane. Dziwne jest to, że ich ustawienia są zachowane. Są po prostu wyłączone i za każdym razem muszę je ponownie włączać. Jak sprawić, by były trwałe.

Dzięki

Aktualizacja

Dzisiaj Ubuntu 13.10 zostało oficjalnie wydane, a po aktualizacji nadal mam problem. Oto informacje o moim systemie:

$ uname -a
Linux ubuntu-desktop 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Jakieś pomysły?

Sidenote - Czy ktoś może mi powiedzieć, że przynajmniej ustawienia stanu rozszerzeń (włączone / wyłączone) są przechowywane? Usunąłem wszystkie rozszerzenia

rm -r ~/.local/share/gnome-shell/extensions/*
rm -r /usr/share/gnome-shell/extensions/*

i zainstalowałem te, których używam. Zastanawiam się więc nad stworzeniem cronjob i włączeniem ich wszystkich przy każdym uruchomieniu systemu. Przynajmniej dopóki nie znajdę, jak to naprawić.

Christos Baziotis
źródło
Czy możesz wyjaśnić, dlaczego głosowanie negatywne?
Christos Baziotis
Mam ten sam problem
Qasim,
Wiem, że jest już trochę za późno, ale zaimplementowałem skrypt Pythona, jeśli powyższy nie spełnia twoich oczekiwań. https://github.com/loric-/enableGnomeExtensions.py Mam nadzieję, że problem zostanie wkrótce naprawiony.
Loric
Tak, ten błąd został w końcu naprawiony!
Willi

Odpowiedzi:

18

Działa to w Gnome 3.8.4 i powinno działać w późniejszych wersjach.

Ustaw wszystkie rozszerzenia, które chcesz włączyć. Następnie uruchomić:

gsettings get org.gnome.shell enabled-extensions

To powinno wymyślić coś takiego

$ gsettings get org.gnome.shell enabled-extensions
['[email protected]', '[email protected]', '[email protected]']

Skopiuj dane wyjściowe, a następnie uruchom gnome-session-properties

Naciśnij dodaj, a następnie wprowadź dane wyjściowe gsettings get org.gnome.shell enabled-extensions "['use... ...blogspot.com']"- Jednak, jak zostało to zauważone, zmień getna setprzy wprowadzaniu w polu poleceń, jak na poniższym obrazku. WPROWADŹ PODWÓJNE KWOTY, W INNY SPOSÓB TO NIE DZIAŁA (Jeśli nie jesteś pewien, najpierw przetestuj polecenie w terminalu - jeśli nie otrzymano żadnej opinii, zadziałało).

EDYCJA: Dla nowszych wersji bez gnome-session-properties, prawdopodobnie będziesz musiał ręcznie utworzyć plik .desktop~/.config/autostart - niektóre narzędzia GUI mogą być dostępne za pomocą Gnome Tweak Tool lub podobnego narzędzia.

Na przykład:

Opis 1

Następnie upewnij się, że jest włączony:

Opis 2

Teraz za każdym razem, gdy się logujesz, powinno uruchamiać polecenie przywracania wszystkich rozszerzeń!

Uwaga: Jeśli wprowadzisz zmiany w aktywowanych rozszerzeniach, będzie to wymagało aktualizacji.


Aby zautomatyzować ten proces, ten skrypt wydaje się działać:

#!/bin/bash
active_extensions=$(gsettings get org.gnome.shell enabled-extensions)
autostart_file=$HOME/.config/autostart/restore-extensions.desktop
echo -e "Currently active extensions:\n\e[34m$active_extensions\e[0m"
echo -e "[Desktop Entry]\nType=Application" > $autostart_file
echo Exec=gsettings set org.gnome.shell enabled-extensions \"$active_extensions\" >> $autostart_file
echo -e "Hidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName=Restore Extensions\nComment=Restore enabled extensions on login" >> $autostart_file
echo "Command to restore currently active extensions added to $HOME/.config/autostart/restore-extensions.desktop"
exit

Zapisz skrypt w ~/.local/bin/extension-update, aby był wykonywalny (ustaw go w oknie Właściwości pliku lub uruchom chmod +x ~/.local/bin/extension-update) .

Następnie przy każdym uruchomieniu extension-updateaktualizuje plik autostartu o ~/.config/autostart/restore-extensions.desktop (prawdopodobnie inny wpis autostartu będzie inny, jeśli utworzyłeś go ręcznie jak wyżej, więc jeśli utworzyłeś go ręcznie, możesz chcieć go usunąć) - możesz zalogować się gnome-session-propertiesdo Upewnić się.

Wilf
źródło
Witaj, @Qasim, czy to rozwiązuje twój problem?
Wilf
1
Prawidłową linią w odpowiedzi Wilfa byłoby ustawienie gsettings ustawić org.gnome.shell enabled-extensions „['use ... ... blogspot.com']” (zmieniono „get” na „set”, włączając rozszerzenia). (Przepraszam, za słaby angielski).
1
To świetne rozwiązanie! Używam go, gdy gnome ulega awarii i wszystkie rozszerzenia są wyłączone
PythoNic
1
Ten sam skrypt przepisany w Pythonie: gist.github.com/sirex/ddf64bb5697271f8da02
sirex
9

Edycja: wybranie „System Default” zamiast „gnome” na ekranie logowania wydaje mi się działać

Jest to znany błąd: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1236749

Wygląda na to, że jest związane z rozszerzeniem TopIcons, spróbuj teraz to wyłączyć: https://extensions.gnome.org/extension/495/topicons/

użytkownik203863
źródło
Mam ten sam problem, co @sijoune. Mam problem bez względu na to, czy TopIcons jest zainstalowany.
Swarnendu Biswas
Usunąłem TopIcons i problem nie zniknął. Jednak w mojej instalacji Arch wszystko działa bezbłędnie ... dziwnie.
Christos Baziotis,
Widzę, że jeśli najpierw zaloguję się do cynamonu, a następnie do powłoki gnome, rozszerzenia będą włączone.
Swarnendu Biswas
Tak samo mam ten sam problem
Qasim
Dla tych, którzy nie otrzymają środowiska pulpitu po wybraniu opcji „System Default”, spróbuj wykonać następujące czynności na terminalu i zrestartować komputer: gsettings set org.gnome.desktop.session session-name 'gnome'
amfcosta
4

W menu logowania ustaw opcję na „domyślne ustawienie systemu” zamiast „gnome lub classic”, rozszerzenia powinny pozostać włączone po ponownym uruchomieniu. Pracował dla mnie!

Ubuntuser
źródło
1
Nie działa, jeśli zdecydujesz się włączyć automatyczne logowanie po.
Hunsu
Dla tych, którzy nie otrzymają środowiska pulpitu po wybraniu opcji „System Default”, spróbuj wykonać następujące czynności na terminalu i zrestartować komputer: gsettings set org.gnome.desktop.session nazwa-sesji „gnome”
amfcosta
-1

Rozwiązałem problem (w openSUSE, ale może być taki sam dla Ciebie), usuwając klucz dconf dla włączonych rozszerzeń, ponownie uruchamiając powłokę lub wylogowując się, a następnie ponownie aktywując rozszerzenia w narzędziu do poprawiania.

Niektóre rozszerzenia w dconf nie zostały faktycznie zainstalowane ... wydaje się, że to był problem, ponieważ teraz działa ...

Mam nadzieję, że to pomaga.

burza mózgów
źródło