Abandon le 13-05-20 script de lancement de logiciel au démarrage

Questions concernant les lignes de commandes
Répondre
GISALE
Messages : 82
Enregistré le : ven. 1 févr. 2019 18:57

script de lancement de logiciel au démarrage

Message par GISALE »

Bonjour

Et oui en ce moment je suis dans le script!! :D

Bon voici mon problème, j'ai créé le script suivant, et quand je le lance pour la première fois, tout fonctionne :D oui mais quand je le mets dans applications au démarrage ou que je le lance une seconde fois après avoir fermer lesdites apllications, et bien il bugue, soit il me lance plusieurs fois firefox ou thunderbird, ou il ne me lance pas caja et mintupdate, ou il ne lance rien!

Je voudrais qu'il se lance automatiquement lors du démarrage de Linux après avoir ouvert la session user.

Y aurait il une erreur dans le script ? ou bien dans quel dossier dois je l'installer ?

Code : Tout sélectionner

#! /bin/bash
# Ouverture de Firefox, Thunderbird, Libreoffice Writer et Imagenes dans chacun des différents bureau virtuels
# ouverture de l'explorateur de fichiers caja
wmctrl -s 0
caja &
sleep 1
# ouverture de Firefox
firefox &
sleep 2
# Attente de la fenêtre de firefox 
while ! (wmctrl -l|grep "Lilo")
do
sleep 2
done
# envoie de firefox dans le bureau virtuel 2
wmctrl -r "Lilo" -t 1
# ouverture de Thunderbird
thunderbird &
sleep 2
# Attente de la fenpetre de Thunderbird
while !(wmctrl -l|grep "Courrier ")
do
sleep 5
done
# Envoi de Thunderbird dans le bureau virtuel 3
wmctrl -r "Courrier " -t 2
#ouverture de Libreoffice Writer
libreoffice --writer & 
sleep 2
#attente affichage de la fenêtre de Libreoffice Writer
while !(wmctrl -l|grep "Sans nom 1 ")
do
sleep 5
done
# Envoi de Libreoffice writer dans le bureau 4
wmctrl -r "Sans nom 1" -t 3
# ouverture de Imagenes
env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/imagenes_imagenes.desktop /snap/bin/imagenes &
# Attente de la fenpetre d'Imagenes
while !(wmctrl -l|grep "Imagenes Beta")
do
sleep 5
done
# Envoi imagne dans le bureau 5
wmctrl -r "Imagenes Beta" -t 4

#END
Merci d'avance pour votre aide.
Lenovo IdeaPad Z500
LM 20.3 Una Mate
Processeur : Intel Core i7 3520M 2.9Ghz
RAM : 6Go

tescan
Messages : 388
Enregistré le : dim. 2 juil. 2017 08:53
Localisation : Comminges

Re: script de lancement de logiciel au démarrage

Message par tescan »

Bonjour,
je ne connaissais pas "wmctrl"
Apparemment tous les logiciels n'ont pas le même comportement. P. ex. Gimp ne se laisse pas transférer par "wmctrl -r "GIMP" -t 5"??
Si on le lance dans l'environnement x ça passe.
Voilà un truc à ma sauce, certainement perfectible, qui fonctionne en lançant depuis un terminal ou en double-click sur le fichier. Dans ce dernier cas les logiciels se ferment avec le terminal (sauf libre-office??) d'ou le "read" à la fin.
Ca fonctionne en répétition dans les deux cas. Pas testé dans "Applications au démarrage".

Code : Tout sélectionner

#! /bin/bash
wmctrl -s 0
nemo &

firefox --no-remote &
while ! (wmctrl -l|grep "Firefox")
do
sleep 1
echo "ff"
done
wmctrl -r "Firefox" -t 1

thunderbird &
while !(wmctrl -l|grep "Thunderbird")
do
sleep 1
echo "thdb"
done
wmctrl -r "Thunderbird" -t 2

gedit &
while !(wmctrl -l|grep "gedit")
do
sleep 1
echo "gedit"
done
wmctrl -r "gedit" -t 4

libreoffice --writer &
while !(wmctrl -l|grep "Untitled 1")
do
sleep 1
echo "lo"
done
wmctrl -r "Untitled 1" -t 3

wmctrl -s 5
gimp &
while !(wmctrl -l|grep "GIMP")
do
sleep 1
echo "gimp"
done
#wmctrl -r "GIMP" -t 5

sleep 2
wmctrl -s 0
read
Tu peux virer les "echo", c'est juste pour voir ce qui se passe dans la boucle.
Intel i5-9400F, Nvidia GTX 1660ti, 16Go Ram
Mint 20.3 + Mint 21.1 Cinnamon

soupaloignon
Messages : 15
Enregistré le : jeu. 4 janv. 2018 08:02

Re: script de lancement de logiciel au démarrage

Message par soupaloignon »

J'ai fait ça il y a quelques temps, ça fonctionne. A adapter suivant les besoins en logiciels

Code : Tout sélectionner

#!/bin/bash

#############################################################
#
# soupaloignon
#
# QuickStart
# 2008-11-20
# Version 1
#
# Vous en avez marre au démarrage de votre machine de lancer toujours les mêmes logiciels,
# et d'être obligé de faire 10000 clics pour ça ? (bon, j'exagère un peu pour les 10000 clics ;)
# Mais en même temps vous voulez vous réserver le droit de ne pas les lancer systématiquement ?
# Et bien c'est aussi ce que je me suis dit, et QuickStart est là pour ça ;)
#
# Il se lance automatiquement au démarrage de votre machine en le mettant dans :
# Préférences/Application au demarrage
# Programmes au démarrage (vous entrez le chemin vers l'endroit où vous avez rangé le script)
# A chaque lancement de votre session vous aurez la fenêtre qui vous proposera les programmes
# A vous d'adapter en fonction des logiciels que vous utilisez
#
#############################################################

log1='thunderbird'
log2='firefox'
log5='tellico'
log8='xpad'
log9='adeskbar'


LOGICIELS=$(zenity --list --checklist --width=400 --height=300 \
        --title "Sélectionner les logiciels à lancer" \
        --text="Sélectionner les logiciels à lancer" \
        --column="Lancer ?" --column="Logiciels" \
				FALSE "$log1" \
				FALSE "$log2" \
				FALSE "$log5" \
				TRUE  "$log8" \
				TRUE  "$log9" ); 

        if [ "${PIPESTATUS[0]}" != "0" ]; then
            exit
        fi

  # Lancer Thunderbird
        echo "$LOGICIELS" | grep "$log1" >/dev/null
            if [ "$?" = 0 ] ; then
             $log1&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
fi
            


  # Lancer Firefox
        echo "$LOGICIELS" | grep "$log2" >/dev/null
            if [ "$?" = 0 ] ; then
             $log2&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi

  # Lancer Emesene
        echo "$LOGICIELS" | grep "$log3" >/dev/null
            if [ "$?" = 0 ] ; then
             #/home/soupaloignon/emesene/emesene&
		/home/soupaloignon/emesene/emesene --user=ploumploumtralala31@hotmail.fr&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
  fi          

  # Lancer Amsn
        echo "$LOGICIELS" | grep "$log4" >/dev/null
            if [ "$?" = 0 ] ; then
             $log4&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi

  # Lancer Tellico
        echo "$LOGICIELS" | grep "$log5" >/dev/null
            if [ "$?" = 0 ] ; then
             $log5&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi

  # Lancer Sunbird
        echo "$LOGICIELS" | grep "$log6" >/dev/null
            if [ "$?" = 0 ] ; then
             /home/soupaloignon/01Perso/sunbird/sunbird&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi

  # Lancer Notecase
        echo "$LOGICIELS" | grep "$log7" >/dev/null
            if [ "$?" = 0 ] ; then
             $log7&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi

  # Lancer Xpad
        echo "$LOGICIELS" | grep "$log8" >/dev/null
            if [ "$?" = 0 ] ; then
             $log8&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi


# Lancer adeskbar
        echo "$LOGICIELS" | grep "$log9" >/dev/null
            if [ "$?" = 0 ] ; then
             $log9&
                    if [ "${PIPESTATUS[0]}" != "0" ]; then
                        exit
                    fi
            
fi

Répondre