Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Répondre

Pacman zenity

#1Messageil y a 8 ans

Coucou tout le monde, j'ai 2-3 amis qui on souvent des problème de mise a jour (verrouillage pacman ) et qui pence a m'en parler 1 fois tous les 36 du mois bref

j'ai fait un script en zenity mais j'ai des petit souci je n'arrive pas a mettre de variable (en gros quoi que l'on fasse oui ou non il se passe toujours l'action oui )
et si j'utilise l'option then le script s’arrête

#!/bin/bash

## supprssion db.lck
zenity --password | sudo -S rm /var/lib/pacman/db.lck

##nettoyage cache pacman
zenity --question \
--text="Voulez-vous supprimer les fichiers inutile de pacman ?"

echo =$?=
   sudo paccache -rk2

##Mise a jour des signature
zenity --info \
  --text="Pacman-tux va mettre à jour les signatures"

echo =$?=
    sudo pacman-key --refresh-keys | zenity --progress --title="Mise à jour des signatures" --auto-close --text="Veuillez patienter ..." --pulsate

#mise a jour des Serveur
zenity --info \
  --text="Pacman-tux va mettre a jour les serveur"

echo =$?=
    sudo pacman-mirrors -g -c France,Germany,Netherlands,United_Kingdom | zenity --progress --title="Mise à jour des serveurs" --auto-close --text="Veuillez patienter ..." --pulsate

#mise a jour system avec pacman

zenity --info \
  --text="Pacman-tux va mettre à jour Manjaro"

echo =$?=
    sudo pacman -Syyu  --noconfirm | zenity --progress --title="Mise à jour de Manjaro" --auto-close --text="Veuillez patienter ..." --pulsate

#COnfirmation

zenity --info \
  --text="Pacman-tux a fini la mise à jour"

done
exit

##fin##



Merci de votre aide
Dernière modification par tuxil y a 8 ans, modifié au total 1 fois.

Pacman zenity

#2Messageil y a 8 ans

Je pense que le "problème" est assez complexe car même un

sudo rm /var/lib/pacman/db.lck
n'a pas suffit la dernière fois.
Je dois même parfois me rendre en root dans le dossier puis le virer ensuite.

su -
cd /var/lib/pacman/
ls
local/  sync/ db.lck
rm db.lck

Ce qui me gène dans ton idée, c'est d'utiliser une interface graphique fusse t-elle élémentaire comme zenity pour exécuter des commandes qui ne passent qu'en root...

Pacman zenity

#3Messageil y a 8 ans

ben sinon j'ai la version beta lol

#!/bin/bash

   VERT="\\033[1;32m"
      echo -e "$VERT"Ce programme va nettoyer et mettre a jour manjaro, il se fermera automatiquement
      echo -e "$VERT"Taper O à chaque question se terminant par O/N
      echo -e "$VERT"Merci de taper votre mot de passe.
   sudo rm /var/lib/pacman/db.lck
   sudo pacman -Sc
   sudo pacman-key --refresh-keys
   sudo pacman-mirrors -g -c France,Germany,Netherlands,United_Kingdom
   yaourt -Syua
done
exit=0

Pacman zenity

#4Messageil y a 8 ans

Vous avez aussi dans le .bashrc l'alias qui va bien :

alias fixit='sudo rm -f /var/lib/pacman/db.lck && sudo pacman-mirrors -g && sudo pacman -Syyuu && sudo pacman -Suu'

Pacman zenity

#5Messageil y a 8 ans

:salut: tux

tu ne gères pas bien les retours (en bash ok c'est "0" ) et il faut faire une condition (un IF ):
pour t’entraîner en ligne de commande:

zenity --question --text="Voulez-vous non/oui ?"; echo "$?"

ce qui peut donner par exemple dans un code :

fichier='/var/lib/pacman/db.lck'
if [ -f "$fichier" ]; then
   # le fichier existe donc nous sommes bloqué :(
   zenity --question --text="Débloquer pacman ... non/oui ?";
   if [ "$?" == "0" ]; then
       sudo rm "$fichier"
       [ "$?" != "0" ] && zenity --error  "ERREUR !"
   fi
fi

zenity --question --text="Continuer ?" --ok-label "oui" --cancel-label "Annuler";
[ "$?" != "0" ] &&  exit 0
echo "on continue ..."   

zenity --question --text="vider le cache ... non/oui ?" --ok-label "oui" --cancel-label "non";
if [ "$?" == "0" ]; then
       sudo pacman -Sc
       [ "$?" != "0" ] && zenity --error  "ERREUR !"
fi

Répondre