Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/10/2006, à 09:53

neub

[Script] Wallpapers pour dual screen

Salut,

Je suis en train d'effectuer un script pour passer d'un mono screen a un dual-screen de mode automatique .... (voir le post http://forum.ubuntu-fr.org/viewtopic.php?id=68562 pour le dual screen)

Pour l'instant le script ressemble a ca !!!!

Mais j'aimerais l'ameliorer et savoir si je peux recuperer l'adresse de wallpapers actuel,
le changer ... et tous ca en ligne de commande...

Je voulais aussi savoir si je pouvais redemarrer X en ligne de commande sans utiliser ctrl+alt+return

Et enfin si qqun avait une idée pour prendre un fond d'ecran en mode random dans un repertoire

#!/bin/sh

s0_reso=1280x800
s1_reso=1280x1024
s0_wpdir=/media/shared/wallpapers
s0_wppref=autumn_reflection_Widescreen_by_daewoniii.jpg
s1_wpdir=/media/shared/wallpapers/1280x1024
s1_wppref=heavy_rotation_007.jpg
tmp_dir=/tmp/


if [ "$#" = "0" ]; then
        echo ""
        echo "$0 [left|right|top|bottom|normal]"
        echo ""
else

	case $1 in
		left)
			#Make the dual wallpapers
			convert	-resize $s0_reso $s0_wpdir\/$s0_wppref $tmp_dir\wp2.jpg
			convert	-resize $s1_reso $s1_wpdir\/$s1_wppref $tmp_dir\wp1.jpg
			convert +append /tmp/wp1.jpg /tmp/wp2.jpg /tmp/wpdual.jpg
			#Copy the xorg.conf
			sudo cp /etc/X11/xorg.conf.dual-left17 /etc/X11/xorg.conf
		;;
		top)
		;;
		normal)
			cp $tmp_dir\wp2.jpg $tmp_dir\wpdual.jpg
			sudo cp /etc/X11/xorg.conf.default /etc/X11/xorg.conf
		;;
		*)
			echo "Bad commands"
			echo "$0 [left|right|top|bottom|normal]"
			echo ""
	esac
fi

Merci d'avance


www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)

Hors ligne

#2 Le 18/10/2006, à 10:25

loloemr

Re : [Script] Wallpapers pour dual screen

pour changer de maniere aleatoire le fond d'ecran

#!/bin/sh
#-----------------------------------------------------------------------#
#                                                                       #
# Description : Random wallppaper script                                #
# OS          : Linux                                                   #
# Licence     : GPL                                                     #
# Version     : 0.1.0                                                   #
# Author      : <Modéré>         #
# Web site    : Modéré/                  #
#                                                                       #
#-----------------------------------------------------------------------#

# On définit le répertoire contenant les fond d'écran
REP=/usr/share/backgrounds/

# On définit l'utilisateur qui bénéficira du changement de fond d'écran
USER=fourel

# On se positionnne dans ce repertoire
cd $REP

# création d'un fichier temporaire contenant la liste des fonds du repertoire
find . \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) > list.tmp

# création d'un tableau contenant le nom des fonds
tab=list.tmp
image=($(cat $tab))
nb=${#image[*]}

# On choisi aléatoirement un nombre
chosen=$((RANDOM % nb))

# On récupère l'image
file=${image[$chosen]}

# On met en place le chemin complet de l'image
chemin=$PWD/$file

# On modifie la valeur de la clé du fond d'écran dans Gconf
su $USER -c "gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$chemin""

# On éfface le fichier temporaire
rm list.tmp

Dernière modification par Ayral (Le 30/04/2020, à 20:30)


L'open source est garant de notre indépendance technologique, permet de créer des emplois locaux et véhiculent deux idées fondamentales : la transparence de l'information et la supériorité de la collaboration sur la concurrence ... GNU/Linux c'est bon mangez-en !!

Hors ligne

#3 Le 18/10/2006, à 10:39

tshirtman

Re : [Script] Wallpapers pour dual screen

et tu veux redémarrer X ou gdm?
car tu as
/etc/init.d/gdml restart
qui a exactement le même effet que ctrl-alt-backspace, a faire en sudo par contre hmm

Hors ligne

#4 Le 18/10/2006, à 12:11

loloemr

Re : [Script] Wallpapers pour dual screen

/etc/init.d/gdm restart plutot, non ?


L'open source est garant de notre indépendance technologique, permet de créer des emplois locaux et véhiculent deux idées fondamentales : la transparence de l'information et la supériorité de la collaboration sur la concurrence ... GNU/Linux c'est bon mangez-en !!

Hors ligne

#6 Le 18/10/2006, à 13:18

neub

Re : [Script] Wallpapers pour dual screen

nikel ... et ya moyen de redemarrer gdm (ou peut etre X) sans perdre les applications qui sont affiché (genre firefox, xmms, amsn ...)


www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)

Hors ligne

#7 Le 18/10/2006, à 15:54

tshirtman

Re : [Script] Wallpapers pour dual screen

redémarrer X ou gdm sans tuer tes process graphiques? non...
je pense qu'il faut plutot trouver la commande de mise a jour du wall....

ah tu veux quand même redémarrer X pour ton bi-écran? là je vois pas...

Dernière modification par tshirtman (Le 18/10/2006, à 15:56)

Hors ligne

#8 Le 18/10/2006, à 16:23

loloemr

Re : [Script] Wallpapers pour dual screen

Si tu veux tu peux tester ta config xorg.conf en passant en mode console Ctrl+Alt+F1 et en  tapant X :1 afin de lancer un autre serveur et verifier que tout se passe bien. En cas de soucis, il faut alors regarder dans le fichier de log

/var/log/Xorg.1.log


L'open source est garant de notre indépendance technologique, permet de créer des emplois locaux et véhiculent deux idées fondamentales : la transparence de l'information et la supériorité de la collaboration sur la concurrence ... GNU/Linux c'est bon mangez-en !!

Hors ligne

#9 Le 18/10/2006, à 20:13

neub

Re : [Script] Wallpapers pour dual screen

bon c'est pas grave pour le redemarrage des applications mais j'ai qd meme un probleme avec le /etc/init.d/gdm restart

J'ai essayé avec sudo ca marche pas mieux ..

Si jamais voici une version quasi final du script:

#!/bin/sh

############################################
####### PARAMETERS --------------------
############################################

#Resolution screen 0 (normal) & 1 (added)
s0_reso=1280x800
s1_reso=1280x1024

#Tag to know if we use the actual wallpapers of normal mode for screen0
s0_actual=false

#Directory of various wallpapers for screen0 
s0_wpdir=/media/shared/wallpapers
#Specified wallpapers (if empty the script selects one randomly) for screen0
s0_wppref=autumn_reflection_Widescreen_by_daewoniii.jpg

#Directory of various wallpapers for screen1 
s1_wpdir=/media/shared/wallpapers/1280x1024
#Specified wallpapers (if empty the script selects one randomly) for screen1
s1_wppref=


############################################
####### FUNCTIONS TOOLS --------------------
############################################

LoadNormalBG(){
	if [ "$s0_actual" = "true" ]; then
		LoadActualBG;
		wp_path=$wp_actual
	else
		if [ "$s0_wppref" = "" ]; then
			wp_dir=$s0_wpdir
			LoadRandomBG;
		else 
			wp_path="$s0_wpdir/$s0_wppref"
		fi
	fi
	#Resize to specified resolution
	convert -resize $s1_reso $wp_path $tmp_dir/wp_normal.jpg

}


#Load the wallpapers for the second screen in the tmp_dir in the file wp_second.jpg
LoadSecondBG(){
	if [ "$s1_wppref" = "" ]; then
		#Load random wallpapers
		wp_dir=$s1_wpdir
		LoadRandomBG;
	else 
		#Load a preselected wallpapers 
		wp_path="$s1_wpdir/$s1_wppref"

	fi
	#Resize to specified resolution
	convert -resize $s1_reso $wp_path $tmp_dir/wp_second.jpg
}

LoadActualBG() {
	wp_actual=`gconftool-2 --get /desktop/gnome/background/picture_filename`
	if [ "$wp_actual" = "$tmp_dir/wp_dual.jpg" ]; then
		wp_actual=$tmp_dir/wp_normal.jpg 
	fi

}

LoadRandomBG() {
	cd $wp_dir

	# création d'un fichier temporaire contenant la liste des fonds du repertoire
	find . \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) > $tmp_dir/list.tmp

	# création d'un tableau contenant le nom des fonds
	tab=$tmp_dir/list.tmp
	image=($(cat $tab))
	nb=${#image[*]}

	# On choisi aléatoirement un nombre
	chosen=$((RANDOM % nb))

	# On récupère l'image
	file=${image[$chosen]}

	# On met en place le chemin complet de l'image
	wp_path=$PWD/$file

	rm $tmp_dir/list.tmp
}

CheckDualConfDir() {
	tmp_dir=/home/$USER/.dualconf
	#Check if the directory exist 
	ls $tmp_dir &> /dev/null
	#if there is an erreur 
	if [ $? != "0" ]; then
		mkdir $tmp_dir
	fi
}

CheckImageMagick() {
	which convert &>/dev/null
	if [ $? != "0" ]; then
		echo -e "ImageMagick -- NOT INSTALLED";
		echo -e "You need to install ImageMagick package before this script will function correctly.";
		echo -e "To install it you can run this command : sudo apt-get install imagemagick";
		exit 0
	fi
}

CheckUser() {
	if [ $USER = "root" ]; then
		echo "You run the script as root user, You must set the normal user password"
		su $SUDO_USER
	fi
}

RestartGDM() {
	sudo /etc/init.d/gdm restart
}





############################################
####### MAIN FUNCTION ---------------------
############################################

CheckUser;
CheckDualConfDir;
CheckImageMagick;

if [ "$#" = "0" ]; then
        echo ""
        echo "$0 [left|right|top|bottom|normal]"
        echo ""
else

	if [ "$1" = "normal" ]; then
			CheckUser;  
			gconftool-2 --type string --set /desktop/gnome/background/picture_filename $tmp_dir/wp_normal.jpg
			sudo cp $tmp_dir/xorg.conf.default /etc/X11/xorg.conf
	else
		#Get the normal background image
		LoadNormalBG;
		#Get the second background image
		LoadSecondBG;


		case $1 in
			left)
				#Make the dual wallpapers
				convert +append $tmp_dir/wp_second.jpg $tmp_dir/wp_normal.jpg $tmp_dir/wp_dual.jpg
				#Copy the xorg.conf
				sudo cp $tmp_dir/xorg.conf.dual-left17 /etc/X11/xorg.conf
			;;
			top)
				#Make the dual wallpapers
				convert -append $tmp_dir/wp_second.jpg $tmp_dir/wp_normal.jpg $tmp_dir/wp_dual.jpg
				#Copy the xorg.conf
				sudo cp $tmp_dir/xorg.conf.dual-top17 /etc/X11/xorg.conf

			;;
			*)
				echo "Bad commands"
				echo "$0 [left|right|top|bottom|normal]"
				echo ""
		esac
		CheckUser; 
		gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$tmp_dir/wp_normal.jpg"
		gconftool-2 --type string --set /desktop/gnome/background/picture_filename "$tmp_dir/wp_dual.jpg"
	fi
	RestartGDM;
fi

www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)

Hors ligne

#10 Le 21/10/2006, à 20:24

neub

Re : [Script] Wallpapers pour dual screen

Bon il y a un pote qui est venu m'aider et on a essayé :
sudo init 3 && sudo init 5

mais ca donne toujours rien !!!
Pas moyen de faire qqc pour restarter X ou le gdm en fait faire la meme chose que le ctr+alt+back


www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)

Hors ligne