This commit is contained in:
kyodev 2017-07-31 23:41:30 +02:00
parent 30a1bc83d0
commit f0e4decd0c
2 changed files with 18 additions and 16 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=1.5.2
version=1.6.0
date="31/07/2017"
projet="simpledebian"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
@ -56,23 +56,21 @@ f__architecture(){
esac
}
# user ayant initié la session graphique, assigne $user_, sortie script sur erreur
# gestion variable environnement pour personnaliser l'user avec: USER_INSTALL=user script
# user ayant initié la session graphique, assigne $user_, testé avec mate, gnome, xfce. manque KDE
# sortie script sur erreur, gestion variable environnement pour personnaliser l'user avec:
# USER_INSTALL=user script
f__user(){
# user_ via variable en environnement
test "$USER_INSTALL" && user_="$USER_INSTALL"
# sudo ou gnome: uid
test "$SUDO_UID" && user_id="$SUDO_UID" || user_id="$(echo "$XAUTHORITY" | grep -Eo '[0-9]+')"
# si user_ vide, extraction classique user dans XAUTHORITY, donc priorité à $USER_INSTALL
test "$user_" || user_="$(echo "$XAUTHORITY" | cut -d "/" -f 3)"
# si user_id, extraction via passwd
test "$user_id" && user_="$(grep "$user_" /etc/passwd | cut -d ":" -f 1 )"
# derniers tests, home existant ou user_ défini
if [ "$user_" ]; then
ls "/home/$user_" &>/dev/null || f__error "répertoire /home/$user_ INEXISTANT"
else
f__error "utilisateur indéterminé" " lancer le script avec:\n\tUSER_INSTALL=user $0"
[ "$USER_INSTALL" ] && user_="$USER_INSTALL" # user_ via variable en environnement
if [ -z "$user_" ]; then # priorité à $USER_INSTALL
[ "$SUDO_UID" ] && user_id="$SUDO_UID" # sudo-gnome
echo "$XAUTHORITY" | grep -Eo '[0-9]+' && user_id="$(echo $XAUTHORITY | grep -Eo '[0-9]+')" || \
user_id="$(echo $XDG_RUNTIME_DIR | grep -Eo '[0-9]+')"
[ "$user_id" ] && user_="$(grep $user_id /etc/passwd | cut -d ":" -f 1 )" || \
user_="$(echo $XAUTHORITY | cut -d "/" -f 3)"
fi
[ "$user_" ] && [ -d "/home/$user_" ] && return 0 || echo " répertoire '/home/$user_' INEXISTANT"
f__error " user indéterminé, lancer le script avec:\n USER_INSTALL=user $0" \
"merci contacter $projet $contact pour corriger ça"
}
# test dépendances (commandes disponibles), $1 liste commandes ou $1...$x, si manquant, sortie avec erreur

View File

@ -4,6 +4,10 @@
## todo
* install: copie du profil du canal inférieur?
## 1.6.0 31/07/2017
fix bug: détection user sous gnome
## 1.5.2 31/07/2017
* revue log upgrade