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

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

Como dito antes, estamos executando mais de 500 PCs Ubuntu em nossa empresa. Freqüentemente, costumávamos definir os anúncios de nossa empresa como papel de parede na máquina dos clientes. É difícil para nós mudarmos os papéis de parede em todas essas máquinas, uma por uma, e também é difícil para nós executar scripts em todas as máquinas através do SSH para mudar o papel de parede. Existe uma maneira de configurar um servidor como se mudarmos o papel de parede no servidor, isso deve ser efetuado em todas as máquinas dos clientes. Se for possível, economizará nosso tempo e esforço. Alguém pode ajudar? Desde já, obrigado..

Responder1

Configurar umtarefa cronem todas as máquinas que executa um script onde você verifica 1 local específico para novas imagens. Exemplo de script (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 2ª linha precisa ser alterada para o método que você usa para carregar manualmente a imagem nas máquinas. E então configure cronpara executar este script para verificar a cada hora ou uma vez por dia se há novas imagens.

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


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

# m h  dom mon dow   command

(m minutos, h hora, dom dia do mês, mon mês, dow dia da semana) e abaixo dele você pode adicionar ...

0 * * * /path/to/executable

ou

@hourly     /path/to/executable

ter /path/to/executablecorrido de hora em 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 $SHELLe $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 noWiki do Ubuntu.

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

Responder2

Pode valer a penainstale 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 arquivos para todas as máquinas (ou apenas um subconjunto delas), executar scripts nelas e assim por diante.

Responder3

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

No Ubuntu 11.04 e anteriores, este comando devetrabalhar:

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 em qualquer sistema GNOME 3), você deve conseguir fazer issocom:

  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, então execute. sudo dconf update Na primeira vez que você executar isso, será necessário reinicializar para ver o efeito. Atualmente, há umerroonde os usuários ainda verão o seletor de plano de fundo normal; simplesmente não mudará o plano de fundo.

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

Responder4

Siga estas cinco etapas:

  1. Instale a clustersshferramenta em centos/ubuntu para obter a sessão remota de vários sistemasleia mais sobre clusterssh

  2. Crie um arquivo nomeado clusterssh.shno diretório raiz.
    Por exemplo :vim /root/.clusterssh.sh

    #!/bin/bash
    cssh  -l <username> <ip addresses to connnect>
    :wq
    

    Depois de obter o shell de vários hosts Linux.
    Faça login no usuário.

  3. Copie o arquivo de papel de parede usando login root
    . Por exemplo:

    scp [email protected]:/root/Downloads/wallpaper.jpg(Source)  /home (Destination)
    

    Ele solicitará a senha, fornecerá a senha do sistema de origem

  4. Execute este comando para superar o “Erro não é possível exibir”

    $export DISPLAY=:0
    

    ou

    $export DISPLAY=:1.0
    
  5. Execute o comando abaixo a partir do login do usuário no qual precisamos definir o papel de parede

    pcmanfm  --set-wallpaper=”/home/wallaper.jpg”
    

    Caso o usuário não tenha permissão para definir o papel de parede, precisamos dar permissão sudo a esse usuário, utilize o processo abaixo.

    Vá para #nano /etc/sudoerse abaixo da raiz, entre

    Username ALL=/usr/bin/pcmanfm #command location
    

EEstrondo!aqui você obtém o papel de parede em seus vários sistemas de uma só vez.

informação relacionada