Jak dodawać niestandardowe tapety, aby pojawiały się w dynamicznym programie witającym jedność?


20

Jak sugeruje powyższy tytuł, chcę dodać niestandardowe tapety (obrazy png, które sam stworzyłem) do folderu user / share / backgrounds w 12.04. Ukończyłem to zadanie.

Problem: NIE pojawiają się one w wyglądzie pulpitu do wyboru (zakładam, że gdyby się tu pojawiły, byłyby domyślnym tłem w dynamicznym programie przywracającym jedność LightDM. Tylko „obrazy konkursowe” działają z programem przywiązującym do jedności. Natknąłem się na linki poniżej które są podobne, ale nie rozwiązują mojego pytania

Jak dodać nowe tapety? (Dotyczy tylko 11.10)

Jak zmienić tapetę ekranu logowania? (Pokazuje tylko, jak wyłączyć dynamiczny moduł jedności i przypisać stałe tło dla LightDM

Po namyśle może to być również problem z uprawnieniami . Powodem sugerowania jest skopiowanie folderu motywu za pomocą sudo nautilus. Motyw nie pojawił się w „Ustawieniach zaawansowanych” do wyboru. Aby ten motyw działał w Unity, skopiowałem go do ~ .themes. Skopiowałem obszary bankowe tą samą metodą


1
masz zaszyfrowany folder domowy / domowy?
fossfreedom

Nie, nie mam żadnych ograniczeń uprawnień ani zakodowanego folderu
Kruptein

ok - wspomniałeś o IRC ... dodaj komentarz do pytania, a także to, co omówiłeś na IRC i próbujesz (ale nie powiodło się). Dzięki!
fossfreedom

To proste, nie próbowałem niczego, bo nikt nie wiedział, co może być nie tak. (Nie zwróciłem na to uwagi i nie jestem fanem spamowania). Zauważyłem jednak, że wszystkie moje obrazy miały chmod 700. Zmieniłem to. do 775, ale to nie rozwiązało problemu
Kruptein

Odpowiedzi:


18

Po dodaniu zdjęć /usr/share/backgroundsmusisz otworzyć okno dialogowe Zmień tło pulpitu, klikając prawym przyciskiem myszy pulpit i wybierając go.

Po otwarciu okna dialogowego możesz kliknąć, +aby dodać tła, do których właśnie skopiowałeś/usr/share/backgrounds

wprowadź opis zdjęcia tutaj

Dodaj wszystkie obrazy, które masz /usr/share/backgrounds, po zakończeniu możesz wybrać jeden, a stanie się on tłem.

Jeśli używasz 12.04, ten sam obraz stanie się dynamicznym tłem dla Unity Greeter. Jeśli nie jest zgodny z Setting the dynamic switching offsekcją Jak zmienić tapetę w LightDM? z wyjątkiem tego, że zamiast go wyłączyć, używasz polecenia

gsettings reset com.canonical.unity-greeter draw-user-backgrounds

opisał w odpowiedzi.

Uwaga do podsumowania:

  • Krok 1: Dodaj własną tapetę do `/ usr / share / backgrounds

  • Krok 2: Jest warunkowy, jeśli chcesz, aby Twoja niestandardowa tapeta pojawiła się w dynamicznym oknie logowania jedności (zaloguj się) w 12.04. Kliknij obraz niestandardowy prawym przyciskiem myszy i wybierz „Właściwości”, a następnie wybierz kartę Uprawnienia . Przejdź do uprawnienia „Inne” i zmień je z Brak na „Tylko do odczytu” . Uwaga: Jeśli tego nie zrobisz, domyślna tapeta Unity pojawi się w Unity Greeter.

  • Krok 3: Teraz musisz otworzyć okno dialogowe Zmień tło pulpitu, klikając pulpit prawym przyciskiem myszy i wybierając go.

  • Krok 4: Po otwarciu okna dialogowego możesz kliknąć, +aby dodać tła, które właśnie skopiowałeś do `/ usr / share / backgrounds.

  • Krok 5: Wybierz obraz i zmień tło pulpitu

  • Krok 6 : Wyloguj się i zobacz tło Unity Greeters, które jest Twoim niestandardowym obrazem

.


„Po otwarciu okna dialogowego możesz kliknąć +, aby dodać tła, które właśnie skopiowałeś do / usr / share / backgrounds”. Z tym mam problem. Nacisnąłem +, przechodzę do użytkownika / udziału / tła, wybieram niestandardowy obraz i klikam „Otwórz” w Nautilusie. Obraz nie pojawia się do wyboru w oknie dialogowym Wygląd pulpitu
stephenmyall

Odpowiedź jest taka sama, jeśli nie działa, to jest błędna i powinna zostać zgłoszona jako taka.
Bruno Pereira,

Brzmi nieźle, zgłosię to jako błąd i sprawdzę, czy rozwiąże to samo, kiedy dokonam aktualizacji Distro w następny czwartek. Dzięki Bruno
stephenmyall

@StephenMyall zgłosiłeś błąd? Jeśli tak, czy możesz zamieścić link do niego? Mam ten sam problem (przy użyciu 12.04) - wydaje się, że błąd nie został jeszcze rozwiązany.
Koen,

Aby to działało, nie trzeba mieć „innych” uprawnień ustawionych na „Odczyt i zapis”. Wystarczy tylko odczyt. Ustawienie odczytu i zapisu oznacza, że ​​każdy, kto ma dostęp do systemu, może z łatwością zastąpić plik obrazu innym. Może to powodować raczej złe i kłopotliwe warunki, szczególnie w ustawieniach biurowych.
dobey,

3

Musisz edytować pliki w / usr / share / gnome-background-properties, aby pojawiły się w sekcji „tapeta”, a nie w sekcji „zdjęcie”.


3

Używam pulpitu Gnome Classic 12.04. Żadne z powyższych rozwiązań nie pomogło mi wyświetlić moich tapet /user/share/backgrounds. Jeśli kliknę +zgodnie z sugestią powyżej, Ubuntu 12.04 otworzy mój folder Zdjęcia i nie doda dodanych tapet /usr/share/backgrounds. Jedynym sposobem, jaki to zrobiłem, jest dodanie ich do precise-backgrounds.xmlpliku jako nowych elementów między głównymi <wallpaper> </wallpaper>tagami. Jest to naprawdę uciążliwe, jeśli masz dużą liczbę do dodania. Mam nadzieję, że ktoś ma prostsze rozwiązanie.

Jedynym sposobem, w jaki udało mi się dodać tapetę do mojej nazwy logowania w programie witającym, jest zainstalowanie Ubuntu Tweak, a następnie ustawienie go za pomocą jego opcji.


2

Miałem podobne problemy, nie wiem czy istnieje inne rozwiązanie, ale oto moje.

Skopiuj i wklej tapetę do usr / share / tła . (Użyj gksu nautilus)

Kliknij plik obrazu prawym przyciskiem myszy i wybierz właściwości

Na karcie uprawnień upewnij się, że „Inne” jest ustawione na Odczyt lub Tylko do odczytu

Kliknij tapetę prawym przyciskiem myszy i ustaw ją jako tło pulpitu

Wyloguj się i powinien pojawić się jako Twój dokument LightDM

Nie wiem nic o Wallpaper Switcher, jednak jeśli ta aplikacja może pobrać pliki z lokalizacji usr / share / background, na pewno będzie działać


Twoja odpowiedź mniej więcej pomogła mi znaleźć problem. rzeczywiście miało to związek z uprawnieniami dzięki :)
Kruptein

2

Napisałem mały skrypt w Perlu, aby ułatwić dodawanie opcji do Zmień tło pulpitu w Ubuntu.

Aby go odtworzyć, możesz na przykład użyć sudo gedit /usr/local/bin/wallpaper-add-to-choicesz terminala, wkleić zawartość skryptu, a następnie zapisać sudo chmod 755 /usr/local/bin/wallpaper-add-to-choices.

Znalazłem ten post, ponieważ szukałem informacji o tym, co mogło się zmienić w Ubuntu 12.04LTS. W części „opcje” tego wyjścia skryptu mówiono „skaluj”, musiałem zmienić go na „powiększenie”, inaczej żaden z obrazów nie działałby jako wybór. Szkoda, nie mam ochoty ręcznie zmieniać rozmiaru dziesiątek zdjęć zaimportowanych do nowego systemu, aby odpowiednio je skalować. (Skaluj obrazy w ramkach z literami, powiększając obraz tylko do momentu, aż jakakolwiek krawędź dotknie krawędzi wyświetlacza, powiększenie oznacza, że ​​tracę górne lub boczne krawędzie większości obrazów.)


2
Ten skrypt jest na tyle krótki, że uzasadnione byłoby umieszczenie go w odpowiedzi. Oczywiście, jeśli tak, ludzie mogą korzystać ze skryptu na warunkach CC-BY-SA 3.0 . (Mogą również używać go na innych warunkach, na które zezwolisz, oczywiście. Co jest dobre, ponieważ CC-BY-SA 3.0 nie jest idealna jako licencja na oprogramowanie .)
Eliah Kagan,

2

Istnieje również inna opcja, która sprawi, że tapety z katalogu domowego użytkownika będą dostępne w lightdm .

Możesz wybrać jeden z dwóch wariantów:

Wariant A.

Wystarczy uruchomić jedną prostą komendę w terminalu:

$ sudo usermod -aG username lightdm

Po prostu zastąp usernameswoją nazwą użytkownika. Zapewni to dostęp lightdm do twojego katalogu domowego, dzięki czemu będzie mógł wyświetlać obrazy z /home/username.

Wariant B.

Utwórz nową grupę użytkowników o nazwie na przykład wallpapers:

$ sudo groupadd wallpapers

Następnie utwórz katalog w swoim katalogu domowym , w którym będziesz przechowywać wszystkie tapety, których chcesz użyć, i zmień jego grupę na wallpapers:

$ mkdir '~/My Wallpapers'
$ chgrp wallpapers '~/My Wallpapers'

I wreszcie dodaj grupę wallpapersjako grupę dodatkową dla Ciebie i lightdmużytkownika:

$ sudo usermod -aG wallpapers username
$ sudo usermod -aG wallpapers lightdm

Pamiętaj, aby zastąpić usernameswoją nazwą użytkownika.

Zauważ, że jeśli z systemu korzysta więcej niż jeden użytkownik i chcesz dać taką możliwość każdemu z nich, będziesz musiał powtórzyć te kroki (pomijając dodawanie nowej grupy - wallpapers) dla każdej osoby.


Wypróbowałem drugi wariant, ale wydaje się, że nie działa w 13.10.
user138784

1

Mogę potwierdzić, że to działa!

  1. Po skopiowaniu nowych *jpgplików do /usr/share/backgrounds/folderu (przy użyciu katalogu głównego)
  2. Edytuj 2 *xmlpliki w obszarze/usr/share/gnome-background-properties/

Użyłem gvimedytora dla 2. powyżej.

Wykonaj następujące kroki, używając gvim:

  • gvim /usr/share/gnome-background-properties/*xml

  • Shift+, Gaby przejść do końca pliku

  • Shift+, Oaby wstawić powyżej ostatniego wiersza
  • :r !ls

    /usr/share/backgrounds/*jpg→ aby wstawić całe nowe tło. nazwy plików

  • Teraz przejdź do początku wstawionego tekstu bloku.

  • Użyj tego polecenia w gvim po: (Wymień ^Mz CTRL-M)

    :.,$s;\(.*\);^M\t<wallpaper>^M\t<name>paper10</name>^M\t<filename>&</filename> ^M\t<options>zoom</options>^M\t<pcolor>#000000</pcolor>^M\t<scolor>#000000</scol or>^M\t<shade_type>solid</shade_type>^M\t</wallpaper>^M;cg
    

Automatyczne zwiększanie liczb (papier10), aby nadać tapetom unikalne nazwy

 :let i=1 | g/>paper/s//\='>paper_'.i/ | let i=i+1

Zapisz plik i powtórz dla drugiego pliku XML.

Nowo dodane tła pojawią się teraz w GUI:


Jedynym problemem jest to, że opcje POWIĘKSZENIE, CENTRUM, SKALA itp. nie są dostępne
Kalamalka Kid

0

Musisz dać uprawnienia lightdm do czytania twojego osobistego katalogu:

sudo setfacl -R u:lightdm:rwx $HOME
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.