Bagaimana cara mengubah wallpaper semua klien?

13

Seperti yang dikatakan sebelumnya kami menjalankan lebih dari 500 ubuntu PC di perusahaan kami. Seringkali kami digunakan untuk mengatur iklan perusahaan kami sebagai wallpaper di mesin klien. Sulit bagi kami untuk mengubah wallpaper di semua mesin ini satu per satu & juga sulit bagi kami untuk mengeksekusi skrip di setiap mesin melalui SSH untuk mengubah wallpaper. Apakah ada cara untuk men-setup server seperti jika kita mengubah wallpaper di server itu harus dilakukan di semua mesin klien. Jika memungkinkan, itu akan menghemat waktu dan tenaga kita. Adakah yang bisa membantu? Terima kasih sebelumnya..

karthick87
sumber
1
Apakah perusahaan Anda memiliki situs lokal yang hanya dilihat oleh karyawan? Jika demikian, bisakah Anda tidak menambahkan skrip ke situs sehingga ketika situs memuatnya, ia juga memuat skrip itu?
freebird
Pertanyaan ini perlu diperbarui untuk alat dconf yang sekarang digunakan Ubuntu untuk latar belakang.
Jjed

Jawaban:

15

Menyiapkan pekerjaan cron di semua mesin yang mengeksekusi skrip tempat Anda memeriksa 1 tempat khusus untuk gambar baru. Contoh skrip (belum diuji) dengan wget dan ftp:

#!/bin/bash
wget -N -r -nH --cut-dirs=2 -t 180 -P /tmp ftp://user:[email protected]/dir/backgroundimage.gif
gconftool-2 --type string --set /desktop/gnome/background/picture_filename /tmp/backgroundimage.gif

Pada dasarnya baris ke-2 perlu diubah ke metode yang Anda gunakan untuk memuat gambar secara manual ke mesin. Dan kemudian mengatur cronuntuk menjalankan skrip ini untuk memeriksa setiap jam atau sekali sehari untuk gambar baru.

Anda bahkan dapat mengaturnya untuk mengambil skrip tempat skrip itu dieksekusi pada mesin klien dan kemudian mengambil gambar dan mengubah latar belakang dengan gconftool-2. Ini akan memungkinkan Anda untuk mengeksekusi lebih dari sekadar mengubah latar belakang.


Anda dapat membuat pekerjaan cron dengan sudo crontab -e. Ini akan menampilkan garis yang mirip dengan ini:

# m h  dom mon dow   command

(m menit, jam, hari dom bulan, mon bulan, hari minggu) dan di bawahnya Anda dapat menambahkan ...

0 * * * /path/to/executable

atau

@hourly     /path/to/executable

telah /path/to/executableberjalan setiap jam pada jam tersebut. Pikiran Anda: skrip yang Anda masukkan di sini tidak memahami variabel path kecuali Anda memasukkannya. Anda dapat menempatkan ini di bagian atas untuk memasukkan $SHELLdan $PATH:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Kalau tidak, Anda perlu memastikan skrip Anda menggunakan nama jalur lengkap untuk menjalankan perintah. Info lebih lanjut tentang cron dapat ditemukan di wiki Ubuntu .

Anda juga dapat menggunakan /etc/cron.hourlydirektori untuk meletakkan skrip di sana yang dijalankan setiap jam. Contoh topik mengenai bagian terakhir: Apa yang salah dengan konfigurasi cron.hourly saya? dan Cron. Anda tidak akan lari .

Rinzwind
sumber
Akan lebih baik jika Anda memperbarui jawaban untuk menambahkan tugas cron yang memeriksa gambar baru setiap 1 jam.
karthick87
4

Mungkin layak untuk menginstal kerangka admin jarak jauh seperti boneka . Biasanya diperlukan beberapa waktu untuk menginstal dan mengonfigurasinya dengan benar untuk jaringan Anda, tetapi begitu ada cukup mudah untuk menyalin file ke semua mesin (atau hanya sebagian dari mereka), jalankan skrip pada mereka dan semacamnya.

Florian Diesch
sumber
Bisakah Anda uraikan jawaban Anda?
karthick87
3

Anda dapat membuat pengaturan wallpaper wajib, artinya pengguna tidak akan dapat menyesuaikan latar belakang mereka.

Di Ubuntu 11.04 dan sebelumnya, perintah ini harus berfungsi :

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

Di Ubuntu 11.10 (atau sistem GNOME 3), Anda harus dapat melakukan ini dengan :

  1. Buat file / etc / dconf / profil / pengguna dengan konten:

    user
    site
    
  2. Buat pengaturan default dengan membuat file /etc/dconf/db/site.d/background dengan konten:

    [org/gnome/desktop/background]
    picture-uri='file:///usr/share/backgrounds/company-wallpaper.jpg'
    
  3. Dan akhirnya membuat default wajib dengan membuat /etc/dconf/db/site.d/locks/background dengan konten:

    /org/gnome/desktop/background/picture-uri
    
  4. pengaturan dconf perlu dikompilasi agar berfungsi jadi jalankan sudo dconf update Saat pertama kali Anda menjalankan ini, Anda harus mem-boot ulang untuk melihat efeknya. Saat ini, ada bug di mana pengguna masih akan melihat pemilih Latar belakang normal; itu tidak akan benar-benar mengubah latar belakang.

Gabungkan solusi ini dengan sesuatu seperti boneka untuk menyebarkan pengaturan ini ke semua komputer di perusahaan Anda!

Jeremy Bicha
sumber
Solusi menarik. Apakah dia tidak bisa hanya meng-host wallpaper di penyimpanan bersama di suatu tempat? Seperti situs web biasa, misalnya? Saya pikir itu akan menjadi solusi yang hampir sempurna dalam kasus ini, karena itu juga akan membuatnya mudah untuk beralih.
Jo-Erlend Schinstad
@ Jo-Erlend situs web normal tidak akan berfungsi karena hanya file: /// URI yang diizinkan. Saya berharap bahwa server jaringan akan baik-baik saja asalkan komputer sudah terhubung.
Jeremy Bicha
1

di sini adalah solusi saya untuk ubuntu 11.10 (atau sistem GNOME 3):

#!/bin/bash
wget -N -r -nH --cut-dirs=2 -t 180 -P /tmp ftp://ozolniekuvsk.lv/public/foni/ozvsk.jpg
gsettings set org.gnome.desktop.background picture-uri "file:///tmp/ozvsk.jpg"

ada dua bagian logis. pertama dapatkan wallpaper, set kedua wallpaper dari lokasi yang diunduh. sederhana!

cyxob
sumber