Bagaimana cara membatasi pengguna untuk mengubah wallpaper mereka?

11

Saya tidak ingin pengguna saya mengubah wallpaper sistem. Bagaimana cara mengunci wallpaper?

Memperbarui

  • Pengguna mengubah wallpaper dengan mengklik kanan gambar dan memilih set sebagai wallpaper. Bagaimana cara membatasi perilaku ini?

  • Apakah mungkin untuk menghapus Tab Latar Belakang dari Preferensi Penampilan? Jika ya, bagaimana?

masukkan deskripsi gambar di sini

karthick87
sumber
OK, jadi Anda ingin mereka dapat membuka gambar tetapi TIDAK dapat mengaturnya sebagai wallpaper? Juga, apakah mereka memerlukan akses ke "Pengaturan" ( gnome-control-center)?
ish
@izx Ya, mereka membutuhkan akses ke pengaturan tetapi tidak dapat mengaturnya sebagai wallpaper.
karthick87
ubuntu 10.10 dan lingkungan desktop gnome-classic.
karthick87
@ karthick87 - tab latar belakang diambil oleh /usr/share/gnome-control-center/ui/appearance.ui (cari "latar belakang" dalam file itu) .... Saya sudah melihat sekilas, tetapi tidak yakin belum bit mana yang harus diedit untuk menyembunyikan tab. Saya akan melihat sedikit lebih dalam ketika saya menemukan waktu. Terima kasih.
fossfreedom
@ karthick87 - ok - tidak menghapus tab - tapi perbarui jawaban saya untuk fungsi tab ini untuk tidak melakukan apa pun. Semoga ini membantu.
fossfreedom

Jawaban:

5

eog (eye-of-gnome)

11.04 dan versi sebelumnya dari Ubuntu

Ketika Anda menyebutkan bahwa Anda dapat mengklik kanan gambar dan menetapkan sebagai wallpaper, jawaban ini mengasumsikan maksud Anda - buka gambar jpeg ke dalam eog, klik kanan dan pilih "set as desktop background".

masukkan deskripsi gambar di sini

Dengan jawaban ini, Anda dapat menghapus opsi ini:

masukkan deskripsi gambar di sini

Dengan asumsi ini, Anda dapat menghapus opsi menu dan opsi klik kanan dengan mengedit sumber secara langsung (jika Anda ingin mendistribusikan paket) atau pada klien memodifikasi data window GTK.

solusi 1 - edit data jendela GTK

Pertama-tama buat cadangan data jendela GTK:

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

Sekarang cari "wallpaper" - hapus setiap baris yang berisi kata kunci ini dan simpan.

Untuk mengembalikan perubahan:

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

solusi 2 - mendistribusikan paket deb

Ini bisa dilakukan dengan resep ini:

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

Jika diminta untuk mengkonfigurasi email Anda - pilih tidak ada konfigurasi

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

Sekarang cari "wallpaper" - hapus setiap baris yang berisi kata kunci ini.

Menyimpan.

cd ..
gedit debian/changelog

tambahkan +ppakarthickke baris pertama sehingga terbaca seperti:

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

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

Catatan - hanya ada satu paket deb untuk menginstal - baik 32bit atau 64bit tergantung pada arsitektur ubuntu yang telah Anda instal. Hasil deb lainnya adalah paket debug dan paket pengembangan, yang keduanya bisa Anda abaikan.

Untuk mengembalikan perubahan:

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

Ini akan menghapus paket lengkap eog. Kemudian, perintah kedua akan mengunduh ulang dari repositori, paket eog saat ini.

Catatan - mungkin ingin menghapus paket meta ubuntu-desktop. Satu-satunya dampak yang dimilikinya adalah jika Anda bermaksud meningkatkan ke Natty. Jika Anda ingin meningkatkan, cukup instal ubuntu-desktopsebelum peningkatan.

Tab latar belakang Gnome-Control-Center

Data GTK Window untuk tab ini ada di file /usr/share/gnome-control-center/ui/appearance.uitetapi saya belum menemukan tempat yang nyaman di file ini bahwa Anda dapat menyembunyikan tab latar belakang itu sendiri.

masukkan deskripsi gambar di sini

Dengan perubahan kode sumber - Anda bisa mendapatkan tab latar belakang dan tombol-tombolnya untuk tidak menampilkan wallpaper dan tidak melakukan apa-apa saat tombol diklik.

Solusi ini sangat mirip dengan solusi 2 di atas.

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

Jika diminta untuk mengkonfigurasi email Anda - pilih tidak ada konfigurasi

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

Sekarang cari fungsi berikut dan tambahkan return;seperti yang ditunjukkan:

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;

Menyimpan.

cd ../..
gedit debian/changelog

tambahkan +ppakarthickke baris pertama sehingga terbaca seperti:

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

Untuk mengembalikan perubahan:

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

Ini akan menghapus paket gnome-control-center lengkap dan beberapa paket lainnya. Kemudian, perintah kedua akan mengunduh ulang dari repositori, semua paket yang sebelumnya dihapus.

kebebasan fosil
sumber
Kesalahan di debuild -us -ucsini adalah kesalahan pastebin.ubuntu.com/1040147
karthick87
masing-masing dari "dependensi yang tidak terpenuhi" itu seharusnya telah diinstal ketika Anda melakukannya sudo apt-get build-dep gnome-control-center- apa yang terjadi jika Anda menginstal ini secara individu misalnya sudo apt-get install libxss-devdan sudo apt-get install libgnome-menu-devlain - lain dll?
fossfreedom
7

Ada dua cara yang saya tahu:

1. Sebagai root run gconf-editor: gksudo gconf-editor. Di panel sebelah kiri temukan / desktop / gnome / background. Di panel kanan, temukan picture_filename, klik kanan padanya dan pilih Set as Mandatory.

2. Cara lain adalah dengan hanya mencegah pengguna normal dari mengeksekusi wallpaper changer dengan menjalankan (sebagai root):chmod 744 /usr/bin/gnome-appearance-properties

Mark Russell
sumber
gconf-editor adalah yang saya inginkan. Apakah mungkin untuk mengatur opsi itu Set as Mandatorydari terminal? Sehingga saya bisa membuat skrip dan menjalankannya di semua host.
karthick87
Salah satu kemungkinannya adalah pengguna membuka wallpaper dan klik kanan dan mengatur sebagai wallpaper berlaku wallpaper. Adakah cara untuk membatasi ini?
karthick87
7

Versi baris perintah dari jawaban Mark adalah:

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"
8128
sumber
Saya telah melakukan ini, tetapi bagaimana cara mengembalikannya kembali?
karthick87
0

Saya menemukan cara untuk dengan mudah mengatur wallpaper (latar belakang desktop) di setiap login. Buat program login baru di "Aplikasi Startup" dengan perintah berikut.

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

Tentu saja Anda dapat menentukan gambar apa saja hanya dengan mengganti "edubuntu_default.png" dengan gambar Anda.

HarlemSquirrel
sumber