Como mudar papéis de parede de todos os clientes?

13

Como dito antes, estamos executando mais de 500 PCs do Ubuntu em nossa empresa. Freqüentemente costumávamos definir os anúncios da empresa como papel de parede na máquina do cliente. É difícil para nós mudarmos papéis de parede em todas essas máquinas uma por uma & amp; Também é difícil para nós executar o script em cada máquina através do SSH para mudar o papel de parede. Existe uma maneira de configurar um servidor como se mudar o papel de parede no servidor que deve ser efetuado em todos os clientes da máquina. Se for possível, economizará tempo e esforço. Alguém pode ajudar? Obrigado antecipadamente ..

    
por karthick87 07.07.2011 / 08:34

4 respostas

15

Configure um cron job em todas as máquinas que executam um script onde você verifica 1 local específico para novas imagens. Script de amostra (não testado) com wget e 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

Basicamente, a segunda linha precisa ser alterada para o método usado para carregar manualmente a imagem nas máquinas. Em seguida, configure cron para executar este script para verificar a cada hora ou uma vez por dia para novas imagens.

Você pode até configurá-lo para buscar um script onde esse script é executado na máquina do cliente e, em seguida, busca as imagens e altera o fundo com gconftool-2. Isso permitiria que você executasse mais do que alterar um plano de fundo.

Você pode criar uma tarefa cron com sudo crontab -e . Isso mostrará uma linha semelhante a esta:

# m h  dom mon dow   command

(m minutos, hora h, dom dia do mês, mês mes, dow dia da semana) e por baixo você poderia adicionar ...

0 * * * /path/to/executable

ou

@hourly     /path/to/executable

para que /path/to/executable seja executado a cada hora na hora. Lembre-se: um script que você coloca aqui não entende a variável path, a menos que você a inclua. Você pode colocar isso no topo para incluir $SHELL e $PATH :

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

Caso contrário, você precisa ter certeza de que seu script usa nomes de caminho completos para executar comandos. Mais informações sobre o cron podem ser encontradas no wiki do Ubuntu .

Você também pode usar o diretório /etc/cron.hourly para colocar um script lá que seja executado a cada hora. Exemplos de tópicos referentes à última parte: O que há de errado com minha configuração cron.hourly? e Cron.hourly não será executado .

    
por Rinzwind 07.07.2011 / 10:18
4

Pode valer a pena instalar uma estrutura de administração remota como o fantoche . Geralmente, leva algum tempo para instalá-lo e configurá-lo corretamente para sua rede, mas, uma vez lá, é muito fácil copiar os arquivos para todas as máquinas (ou apenas um subconjunto deles), executar scripts neles e assim por diante.

    
por Florian Diesch 07.07.2011 / 10:30
3

Você pode tornar a configuração de papel de parede obrigatória, o que significa que os usuários não poderão personalizar seu plano de fundo.

No Ubuntu 11.04 e versões anteriores, esse comando deve funcionar :

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"

No Ubuntu 11.10 (ou qualquer sistema GNOME 3), você deve ser capaz de fazer isso com :

  1. Crie um arquivo / etc / dconf / profile / user com o conteúdo:

    user
    site
    
  2. Faça uma configuração padrão criando um arquivo /etc/dconf/db/site.d/background com o conteúdo:

    [org/gnome/desktop/background]
    picture-uri='file:///usr/share/backgrounds/company-wallpaper.jpg'
    
  3. E finalmente torne o padrão obrigatório criando /etc/dconf/db/site.d/locks/background com o conteúdo:

    /org/gnome/desktop/background/picture-uri
    
  4. As configurações do dconf precisam ser compiladas para funcionar, portanto, execute sudo dconf update A primeira vez que você executar isso, você precisará reiniciar para ver o efeito. Atualmente, há um bug onde os usuários ainda verão o seletor de segundo plano normal; simplesmente não mudará o fundo.

Combine essa solução com algo como fantoche para propagar essa configuração para todos os computadores da sua empresa!

    
por Jeremy Bicha 12.09.2011 / 04:52
1

aqui está a minha solução para o Ubuntu 11.10 (ou qualquer sistema 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"

existem duas partes lógicas. primeiro obter papel de parede, papel de parede segundo set do local baixado. simples!

    
por cyxob 05.04.2012 / 09:58