Script - Troca de wallpapers de todos usuários via cron

1. Script - Troca de wallpapers de todos usuários via cron

Erik P. Ghijs
Good_speed

(usa Debian)

Enviado em 20/04/2018 - 09:42h

Bom dia, amigos

Estou tentando desenvolver um script onde ele troque o papel de parede de todos usuário que estiver logado, abaixo esta o script inicial;

#!/bin/bash
DIR="/home/.wallpapers
PIC=$(find $DIR -name "*.jpg" -o -name "*.png" -o -name "*.bmp" -o -name "*.jpeg" | shuf -n1)
DISPLAY=:0 GSETTINGS_BACKEND=dconf /usr/bin/gsettings set org.gnome.desktop.background picture-uri "file://$PIC"

TESTES
01. Realizei o primeiro teste, em um terminal utilizando o gerenciado lightdm, apresentou o seguinte erro: (process:7980): dconf-WARNING **: failed to commit changes to dconf: The given address is empty (Este erro provedoralmente esta associado ao parâmetro DISPLAY=:0 GSETTINGS_BACKEND=dconf).

02. O segundo teste executado pelo Putty conectado a maquina teste, o script trocou sem problema.

03. O terceiro teste foi agendado pelo crontab do root, este não funcionou tb.
* * * * * root /home/administrador/gh.sh >> /home/administrador/gh.log

AJUDA
Preciso executar este script pelo crontab, como também preciso que ele troque o papel de parede de todos usuário logado, alguém pode ajudar?

OS: Linux Mint - Cinnamon 18.3

Obrigado,







  


2. Re: Script - Troca de wallpapers de todos usuários via cron

Hector Nagao
heckjp

(usa elementary OS)

Enviado em 20/04/2018 - 16:01h

O problema está na questão que você está tentando trocar o papel de parede do usuário ativo. no caso o root. Você precisa especificar a troca da imagem no cron de cada usuário.


3. Re: Script - Troca de wallpapers de todos usuários via cron

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/04/2018 - 16:44h

Conhece o wallch?

https://www.vivaolinux.com.br/topico/Linux-Tudo/Papel-de-Parede-Lubuntu


4. Re: Script - Troca de wallpapers de todos usuários via cron

Erik P. Ghijs
Good_speed

(usa Debian)

Enviado em 21/04/2018 - 07:52h

heckjp escreveu:

O problema está na questão que você está tentando trocar o papel de parede do usuário ativo. no caso o root. Você precisa especificar a troca da imagem no cron de cada usuário.


Heckjp,

Obrigado, o problema exatamente isso, preciso fazer uma forma que ele funcione em todos usuário que estão logado no sistema, tem alguma ideia?




5. Re: Script - Troca de wallpapers de todos usuários via cron

Erik P. Ghijs
Good_speed

(usa Debian)

Enviado em 21/04/2018 - 07:55h



Amarildo,

Obrigado, conheço o wallch como outros tb, mais procuro um forma de fazer via shell, pois preciso implementar em uma rede, no windows eu poderia fazer via GPO esta mudança entende?, ja no linux tem que ser via script centralizado.






6. Re: Script - Troca de wallpapers de todos usuários via cron

Hector Nagao
heckjp

(usa elementary OS)

Enviado em 21/04/2018 - 10:43h

A única forma que consigo pensar é que você tem que inserir a criação desse arquivo dentro da pasta de todos usuários setando a execução dentro do script


7. Re: Script - Troca de wallpapers de todos usuários via cron

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/04/2018 - 14:44h

Good_speed escreveu:



Amarildo,

Obrigado, conheço o wallch como outros tb, mais procuro um forma de fazer via shell, pois preciso implementar em uma rede, no windows eu poderia fazer via GPO esta mudança entende?, ja no linux tem que ser via script centralizado.





Com o recurso "Live Website" do Wallch bastaria trocar no seu servidor web.


8. Re: Script - Troca de wallpapers de todos usuários via cron

Erik P. Ghijs
Good_speed

(usa Debian)

Enviado em 24/04/2018 - 07:18h

amarildosertorio escreveu:

Good_speed escreveu:



Amarildo,

Obrigado, conheço o wallch como outros tb, mais procuro um forma de fazer via shell, pois preciso implementar em uma rede, no windows eu poderia fazer via GPO esta mudança entende?, ja no linux tem que ser via script centralizado.





Com o recurso "Live Website" do Wallch bastaria trocar no seu servidor web.


Este recurso e bem interessante, pelo que vejo o gerenciamento dele e por interface gráfica, certo?, preciso implementar em 750 desktop, por isso estou desenvolvendo um script, nao tenho tanta experiencia para fazer isso pelo Wallch!!, vc sabe fazer?, ou seja configurar tudo via shell?

Obrigado



9. Re: Script - Troca de wallpapers de todos usuários via cron

Erik P. Ghijs
Good_speed

(usa Debian)

Enviado em 24/04/2018 - 07:25h

heckjp escreveu:

A única forma que consigo pensar é que você tem que inserir a criação desse arquivo dentro da pasta de todos usuários setando a execução dentro do script


heckjp, bom dia

Estou mudando a forma de abordagem, no lugar do usuário root executar a troca de todos usuário, criei um script que faz o agendamento no cron de cada usuario no sistema, mais achei 2 problemas;

01. Verificar se o agendamento ja foi criado no usuário, caso sim o script vai para próximo usuário...
02. Principal, evitar que os agendamento dos usuário já criado sejam deletados.

#################################### SCRIPT ####################################
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
export PATH

CHECKLIST=$(ls /home|cut -d: -f2);
LISTUSER=/tmp/list_users.txt
echo $CHECKLIST|sed 's/ /\n/g' > $LISTUSER

while read USER
do

cat <<- EOF > cron.jobs
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""

# Agendamento para troca de papel de parade.
*/15 * * * * /home/${USER}/Scripts/wallpapers.sh
EOF

cat cron.jobs|crontab -u $USER -

done < $LISTUSER

rm $LISTUSER
################################################### FIM ####################################################
Obrigado,


10. Re: Script - Troca de wallpapers de todos usuários via cron

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/04/2018 - 17:05h

Good_speed escreveu:

amarildosertorio escreveu:

Good_speed escreveu:



Amarildo,

Obrigado, conheço o wallch como outros tb, mais procuro um forma de fazer via shell, pois preciso implementar em uma rede, no windows eu poderia fazer via GPO esta mudança entende?, ja no linux tem que ser via script centralizado.





Com o recurso "Live Website" do Wallch bastaria trocar no seu servidor web.


Este recurso e bem interessante, pelo que vejo o gerenciamento dele e por interface gráfica, certo?, preciso implementar em 750 desktop, por isso estou desenvolvendo um script, nao tenho tanta experiencia para fazer isso pelo Wallch!!, vc sabe fazer?, ou seja configurar tudo via shell?

Obrigado


Com 750 desktops GNU/Linux eu teria uma solução de gerenciamento de configuração (Puppet, Chef, Ansible...). Em resumo versionaria o arquivo de configuração do Wallch com os argumentos necessários, instalaria o(s) pacote(s), distribuiria o(s) arquivo(s) e checaria via solução de gerenciamento.



11. Re: Script - Troca de wallpapers de todos usuários via cron

Erik P. Ghijs
Good_speed

(usa Debian)

Enviado em 25/04/2018 - 07:16h

amarildosertorio escreveu:

Good_speed escreveu:

amarildosertorio escreveu:

Good_speed escreveu:



Amarildo,

Obrigado, conheço o wallch como outros tb, mais procuro um forma de fazer via shell, pois preciso implementar em uma rede, no windows eu poderia fazer via GPO esta mudança entende?, ja no linux tem que ser via script centralizado.





Com o recurso "Live Website" do Wallch bastaria trocar no seu servidor web.


Este recurso e bem interessante, pelo que vejo o gerenciamento dele e por interface gráfica, certo?, preciso implementar em 750 desktop, por isso estou desenvolvendo um script, nao tenho tanta experiencia para fazer isso pelo Wallch!!, vc sabe fazer?, ou seja configurar tudo via shell?

Obrigado


Com 750 desktops GNU/Linux eu teria uma solução de gerenciamento de configuração (Puppet, Chef, Ansible...). Em resumo versionaria o arquivo de configuração do Wallch com os argumentos necessários, instalaria o(s) pacote(s), distribuiria o(s) arquivo(s) e checaria via solução de gerenciamento.


Amarildo, bom dia

eu já uso o puppet em minha rede, vamos tentar da sua forma, tenho algumas duvidas;

1. qual o nome do arquivo de configuração do wallch?
2. a troca automática seria por cron ou pelo próprio wallch?

Obrigado,



12. Re: Script - Troca de wallpapers de todos usuários via cron

Perfil removido
removido

(usa Nenhuma)

Enviado em 25/04/2018 - 09:47h

Good_speed escreveu:

Amarildo, bom dia

eu já uso o puppet em minha rede, vamos tentar da sua forma, tenho algumas duvidas;

1. qual o nome do arquivo de configuração do wallch?
2. a troca automática seria por cron ou pelo próprio wallch?

Obrigado,


1. qual o nome do arquivo de configuração do wallch?
~/.config/wallch/Settings.conf

2. a troca automática seria por cron ou pelo próprio wallch?
Pelo Wallch. Eu utilizaria o recurso "Live Website" e trocaria quando necessário no servidor web, o que inclusive facilitaria a inserção de informações na tela.

Ex.:

# vim /var/www/html/index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<style type="text/css">
h2 {
position: absolute;
top: 350px;
text-align: center;
width: 100%;
}

h2 span {
color: white;
font: bold 24px/45px Helvetica, Sans-Serif;
letter-spacing: -1px;
background: rgb(0, 0, 0); /* fallback color */
background: rgba(0, 0, 0, 0.7);
padding: 10px;
}
</style>
</head>
<html>
<body>
<div>
<img style="width:100%;" id="image" src="papel_de_parede/pdp01.jpg" />
<h2><span>Aviso de Mundaca: Manutencao no grupo gerador<br/>
Data/hora: 21/01/2017 23h<br/>
Indisponibilidade: Nao ha previsao de indisponibilidade<br/>
Servicos impactados: Nao ha servicos impactados<br/>
Gmud: 001/2017</span></h2>
</div>
</body>
</html>

http://imgur.com/a/pIrmq
http://imgur.com/a/DfdDW




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts