Jak ograniczyć użytkownikom zmianę tapet?


11

Nie chcę, aby użytkownicy zmieniali tapetę systemową. Jak mogę zablokować tapetę?

Aktualizacja

  • Użytkownicy zmieniają tapetę, klikając prawym przyciskiem myszy obraz i wybierając opcję Ustaw jako tapetę. Jak ograniczyć to zachowanie?

  • Czy można usunąć kartę Tła z Preferencji wyglądu? Jeśli tak jak?

wprowadź opis zdjęcia tutaj


OK, więc chcesz, aby mogły otwierać obrazy, ale NIE mogły ustawiać ich jako tapet? Czy potrzebują również dostępu do „Ustawień” ( gnome-control-center)?
ish

@izx Tak, potrzebują dostępu do ustawień, ale nie powinni mieć możliwości ustawienia ich jako tapety.
karthick87

Ubuntu 10.10 i klasyczne środowisko graficzne gnome.
karthick87

@ karthick87 - zakładka w tle jest rysowana przez /usr/share/gnome-control-center/ui/appearance.ui (wyszukaj „tło” w tym pliku) .... Rzuciłem okiem, ale nie jestem pewien jak dotąd, które bity edytować, aby ukryć kartę. Przyjrzę się trochę głębiej, kiedy znajdę trochę czasu. Dzięki.
fossfreedom

@ karthick87 - ok - niezupełnie usunięcie karty - ale zaktualizowałem moją odpowiedź dla tej funkcji karty, aby nic nie robić. Mam nadzieję że to pomoże.
fossfreedom

Odpowiedzi:


5

eog (oko gnoma)

11.04 i poprzednie wersje ubuntu

Kiedy wspomniałeś, że możesz kliknąć obraz prawym przyciskiem myszy i ustawić jako tapetę, ta odpowiedź zakłada, że ​​miałeś na myśli - otwórz obraz JPEG w eog, kliknij prawym przyciskiem myszy i wybierz „Ustaw jako tło pulpitu”.

wprowadź opis zdjęcia tutaj

Dzięki tej odpowiedzi możesz usunąć tę opcję:

wprowadź opis zdjęcia tutaj

Mając to na uwadze, możesz usunąć opcję menu ORAZ opcję prawym przyciskiem myszy, edytując bezpośrednio źródło (jeśli chcesz dystrybuować pakiet) lub modyfikując dane okna GTK na klienta.

rozwiązanie 1 - edytuj dane okna GTK

Najpierw wykonaj kopię zapasową danych okna GTK:

sudo cp /usr/share/eog/eog-ui.xml ~/
gksudo gedit /usr/share/eog/eog-ui.xml

Teraz wyszukaj „tapetę” - usuń każdą linię zawierającą to słowo kluczowe i zapisz.

Aby cofnąć zmiany:

sudo cp ~/eog-ui.xml /usr/share/eog

rozwiązanie 2 - rozpowszechnia pakiet deb

Można to zrobić za pomocą tego przepisu:

apt-get source eog
sudo apt-get build-dep eog
sudo apt-get install devscripts

Jeśli pojawi się monit o skonfigurowanie poczty - wybierz opcję bez konfiguracji

cd eog-2*/data
gedit eog-ui.xml

Teraz wyszukaj „tapetę” - usuń każdą linię zawierającą to słowo kluczowe.

Zapisać.

cd ..
gedit debian/changelog

dodaj +ppakarthickdo pierwszego wiersza, aby odczytał coś w stylu:

eog (2.32.1-0ubuntu2+ppakarthick) natty; urgency=low

debuild -us -uc
cd ..
sudo dpkg -i eog_*.deb

Uwaga - do instalacji jest tylko jeden pakiet deb - 32-bitowy lub 64-bitowy, w zależności od zainstalowanej architektury ubuntu. Produkt drugiego deba to pakiet debugowania i pakiet programistyczny, które można zignorować.

Aby cofnąć zmiany:

sudo apt-get purge eog
sudo apt-get install eog

Spowoduje to usunięcie pełnego pakietu eog. Następnie drugie polecenie zostanie ponownie pobrane z repozytoriów, bieżącego pakietu eog.

Uwaga - może chcieć usunąć pakiet meta ubuntu-desktop. Jedyny wpływ na to ma to, jeśli zamierzasz uaktualnić do Natty. Jeśli chcesz zaktualizować, po prostu zainstaluj ubuntu-desktopprzed aktualizacją.

Karta tła Gnome-Control-Center

Dane okna GTK dla tej karty znajdują się w pliku, /usr/share/gnome-control-center/ui/appearance.uiale nie znalazłem dogodnego miejsca w tym pliku, w którym można ukryć samą kartę w tle.

wprowadź opis zdjęcia tutaj

Ze zmianą kodu źródłowego - możesz sprawić, że karta w tle i jej przyciski nie wyświetlają tapety i nie robią nic po kliknięciu przycisków.

To rozwiązanie jest bardzo podobne do rozwiązania 2 powyżej.

apt-get source gnome-control-center
sudo apt-get build-dep gnome-control-center
sudo apt-get install devscripts

Jeśli pojawi się monit o skonfigurowanie poczty - wybierz opcję bez konfiguracji

cd gnome*/capplets/appearance
gedit appearance-desktop.c

Teraz poszukaj następującej funkcji i dodaj return;jak pokazano:

void
desktop_init (AppearanceData *data,
          const gchar **uris)
{
  GtkWidget *add_button, *w;
  GtkCellRenderer *cr;
  char *url;

  data->wp_update_gconf = TRUE;

  data->wp_uris = NULL;

  return;

Zapisać.

cd ../..
gedit debian/changelog

dodaj +ppakarthickdo pierwszego wiersza, aby odczytał coś w stylu:

gnome-control-center (1:2.30.1-0ubuntu2+ppakarthick) lucid-proposed; urgency=low

debuild -us -uc
cd ..
sudo dpkg -i capplets*.deb
sudo dpkg -i libgnome-window-settings1*.deb
sudo dpkg -i gnome-control-center_*.deb

Aby cofnąć zmiany:

sudo apt-get purge gnome-control-center libgnome-window-settings1 capplets-data
sudo apt-get install ubuntu_desktop

Spowoduje to usunięcie całego pakietu centrum sterowania gnome i kilku innych pakietów. Następnie drugie polecenie zostanie ponownie pobrane z repozytoriów, wszystkie wcześniej usunięte pakiety.


Błąd debuild -us -uctutaj to błąd pastebin.ubuntu.com/1040147
karthick87

każdy z tych „niespełnione zależności” powinny zostać zainstalowane jeśli tak sudo apt-get build-dep gnome-control-center- co się dzieje, jeśli zainstalować je indywidualnie np sudo apt-get install libxss-devi sudo apt-get install libgnome-menu-devitp itd?
fossfreedom

7

Istnieją dwa sposoby, które znam:

1. jako root run GConf-editor: gksudo gconf-editor. W lewym okienku znajdź / desktop / gnome / background. W prawym panelu znajdź picture_filename, kliknij go prawym przyciskiem myszy i wybierz Set as Mandatory.

2. Innym sposobem jest po prostu zapobieganie uruchamianiu zmieniacza tapet przez zwykłych użytkowników, uruchamiając (jako root):chmod 744 /usr/bin/gnome-appearance-properties


gconf-editor jest tym, czego chcę. Czy można ustawić tę opcję Set as Mandatoryz terminala? Tak, że mogę zrobić skrypt i wykonać go na wszystkich hostach.
karthick87

Jedną z możliwości jest to, że użytkownik otworzy tapetę i kliknie prawym przyciskiem myszy i ustawi, gdy tapeta zastosuje tapetę. Jakiś sposób to ograniczyć?
karthick87

7

Wersja odpowiedzi Marka w wierszu poleceń wyglądałaby następująco:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /desktop/gnome/background/picture_filename "/usr/share/backgrounds/Tri_Narwhal_by_momez.jpg"

Zrobiłem to, ale jak to cofnąć?
karthick87

0

Znalazłem sposób na łatwe ustawienie tapety (tła pulpitu) przy każdym logowaniu. Utwórz nowy program logowania w „Aplikacjach startowych” za pomocą następującego polecenia.

gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/edubuntu_default.png"

Oczywiście możesz określić dowolny obraz, po prostu zastępując plik „edubuntu_default.png” swoim obrazem.

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.