- Modifié
Cela ressemble fort à ce qui a été évoqué il y a quelques temps avec gparted et wayland.
Par exemple si je veux lancer system-config-users à partir du menu cinnamon il me demande le mdp root puis il me vire !
Étant sous cinnamon je n'utilise que x11
Ce qui est encore plus bizarre c'est que j'utilise aussi un portable avec la même version de fedora, les mêmes applis installées et le même niveau de mise à jour sans ce problème.
Je n'y comprends plus rien d'autant que sur l'installation fraiche de f27 ce problème n'existe pas et il apparaît après que j'aie lancé mon script d'installation et de configuration propre à mes besoins.
Pour les curieux, le voici ci-dessous
Par exemple si je veux lancer system-config-users à partir du menu cinnamon il me demande le mdp root puis il me vire !
Étant sous cinnamon je n'utilise que x11
[mfixe@mfixe ~]$ echo $XDG_SESSION_TYPE
x11
[mfixe@mfixe ~]$ su -lc 'nemo'
Mot de passe :
Unable to init server: Impossible de se connecter : Connexion refusée
Could not parse arguments: Impossible d'ouvrir l'affichage :
[mfixe@mfixe ~]$ xhost +local:root
non-network local connections being added to access control list
[mfixe@mfixe ~]$ su -
Mot de passe :
[root@mfixe ~]# export DISPLAY=:0.0
[root@mfixe ~]# nemo
Initializing nemo-image-converter extension
(nemo:1889): GLib-GObject-WARNING **: g_object_weak_unref: couldn't find weak ref 0x7f03c55e36d0(0x564281b69c60)
(nemo:1889): GLib-GObject-WARNING **: g_object_weak_unref: couldn't find weak ref 0x7f03c55e36d0(0x564281b69c60)
^C
[root@mfixe ~]# exit
déconnexion
[mfixe@mfixe ~]$ xhost -
access control enabled, only authorized clients can connect
J'ai remarqué que des paquets tels que vlc et glade par exemple installent du wayland même si à priori on n'en a pas besoin.Ce qui est encore plus bizarre c'est que j'utilise aussi un portable avec la même version de fedora, les mêmes applis installées et le même niveau de mise à jour sans ce problème.
Je n'y comprends plus rien d'autant que sur l'installation fraiche de f27 ce problème n'existe pas et il apparaît après que j'aie lancé mon script d'installation et de configuration propre à mes besoins.
Pour les curieux, le voici ci-dessous
#!/bin/bash
#*******************************************************************************
# en console et super utilisateur
# aller dans $HOME/bin
# ./configFedora
#*******************************************************************************
# Variables utilisées pendant la configuration
IP_Qnap="192.168.1.217"
IP_cfg="$IP_Qnap:/home/qnap/Configurations/fedora"
mnt_cfg="/media/Qnap"
log_user=$(logname)
# Emplacements 'stratégiques'
rules="/etc/udev/rules.d/99-ssd.rules"
fstab="/etc/fstab"
lightdm="/etc/lightdm/lightdm.conf"
sysctl="/etc/sysctl.conf"
sudoers="/etc/sudoers.d/$log_user"
repos="/etc/yum.repos.d"
#------------------------------------------------------------------------------
# fonction démontage de QNAP
#------------------------------------------------------------------------------
function demontage {
umount -l $mnt_cfg
return $?
}
#------------------------------------------------------------------------------
# fonction affichage message
# prend 2 paramètres messages
#------------------------------------------------------------------------------
function message {
[ $# -ne 2 ] && return 1
export MESSAGE='<vbox border-width="20">
<text use-markup="true">
<label>"<b><span size='"'large'"' color='"'red'"'>'$1'</span></b>"</label>
</text>
<text><label>"----O----"</label></text>
<text>
<label>"'"$2"'"</label>
</text>
<text><label>"----O----"</label></text>
<hbox>
<button ok></button>
<button cancel></button>
</hbox>
</vbox>'
I=$IFS; IFS=""
for STATEMENTS in $(gtkdialog --program MESSAGE); do
eval $STATEMENTS
done
IFS=$I
if [[ "$EXIT" != "OK" ]]; then
echo -e "\nFin du programme"
exit 2
fi
}
# Vérifie si loggué en root
if [[ "$(whoami)" != "root" ]]; then
echo "Il faut se logguer en root"
exit 1
fi
# Contrôle présence de QNAP ----------------------------------------------------
echo -e "\nVérification de la présence de QNAP ............\n"
if ( ping -c 1 $IP_Qnap 1>/dev/null ); then
qnap_off=false
qnap=true
qnap_sensitive=true
else
message "Erreur QNAP" "Vérifier que les rpm et autres fichiers
nécessaires sont présents sur
le dossier en cours"
if [[ $? -eq 1 ]]; then
echo "Il manque des paramètres dans la boîte de message"
exit 1
fi
qnap_off=true
qnap=false
qnap_sensitive=false
fi
# récupération de Variables de version ----------------------------------------
eval $(cat /etc/os-release) # récupération paramètres version VERSION_ID=n° version fedora PRETTY_NAME=user complet
domaine=$(cat /etc/hostname) # récupération user du domaine
DOMAINE=${domaine##*.}
IP=`ip addr | grep 'inet 192.'| sed 's/inet \([0-9]\+\(\.[0-9]\+\)\{3\}\).*/\1/'`
# Fichier log ================================================================
f_log=/var/log/${0##*/}$(date +%Y-%m-%d_%H:%M:%S).log # nom fichier log avec nom de l'exécutable
(
# affichage de la date
echo "----------------------------------------"
echo $(date)
echo -e "----------------------------------------\n"
# Installation du dépôt RpmFusion ----------------------------------------------
if [[ ! -e $repos/rpmfusion-free.repo ]]; then
echo "Installation de RPMFusion ..."
dnf -y install --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$VERSION_ID.noarch.rpm
dnf -y install --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$VERSION_ID.noarch.rpm
fi
# Installation gtkdialog
echo "Installation de gtkdialog ..."
[ ! -e /usr/bin/gtkdialog ] && dnf -y install gtkdialog
# menu d'installation ---------------------------------------------------------
export CHOIX='
<window title="Nouvelle installation" icon-name="gtk-dialog-warning" border-width="15">
<vbox width-request="450" border-width="20" spacing="20">
<frame Paramètres généraux>
<text use-markup="true" xalign="0">
<label>"Utilisateur : <span size='"'large'"' color='"'blue'"'>'$log_user'</span>"</label>
</text>
<text use-markup="true" xalign="0">
<label>"Version fedora : <span size='"'large'"' color='"'blue'"'>'$VERSION_ID'</span>"</label>
</text>
<text use-markup="true" xalign="0">
<label>"Adresse IP :<span size='"'large'"' color='"'blue'"'>'$IP'</span>"</label>
</text>
<text use-markup="true" xalign="0">
<label>"Nom de domaine : <span size='"'large'"' color='"'blue'"'>'$DOMAINE'</span>"</label>
</text>
</frame>
<frame Options>
<checkbox active="'$qnap'">
<variable>QNAP</variable>
<sensitive>"'$qnap_sensitive'"</sensitive>
<label>Utilisation permanente du QNAP</label>
</checkbox>
<checkbox>
<variable>AUTO</variable>
<default>"true"</default>
<label>Démarrage automatique</label>
</checkbox>
<checkbox>
<variable>DEVEL</variable>
<default>"false"</default>
<label>Utilitaires de développement</label>
</checkbox>
<checkbox>
<variable>HP</variable>
<default>"true"</default>
<label>Installation imprimante HP</label>
</checkbox>
<checkbox>
<variable>SSD</variable>
<default>"true"</default>
<label>Configuration avec SSD</label>
</checkbox>
<checkbox active="'$qnap_off'">
<variable>qnap_off</variable>
<sensitive>false</sensitive>
<label>Installation sans QNAP</label>
</checkbox>
</frame>
<hbox>
<hbox homogeneous="true">
<button ok></button>
<button cancel></button>
</hbox>
</hbox>
</vbox>
</window>
'
I=$IFS; IFS=""
for STATEMENTS in $(gtkdialog --program CHOIX); do
eval $STATEMENTS
done
IFS=$I
if [[ "$EXIT" != "OK" ]]; then
echo -e "\nSortie du programme au niveau du choix"
exit 1
fi
# Fin du menu des options
# Tentative de montage du qnap sur $mnt_cfg
if [[ "$qnap_off" == "false" ]]; then
[ ! -d $mnt_cfg ] && mkdir $mnt_cfg
mount -t nfs4 $IP_cfg $mnt_cfg
if [[ $? -eq 0 ]]; then
echo "Montage QNAP effectué"
else
message "Montage QNAP erreur : $? " "Service rpcbind peut-être non activé
Tentative d'activation"
restorecon -v /usr/bin/rpcbind
systemctl enable rpcbind
systemctl start rpcbind
mount -t nfs4 $IP_cfg $mnt_cfg
if [[ $? -ne 0 ]]; then
demontage
message "Il subsiste un problème nfs" "Le script va s'arrêter"
exit 1
fi
fi
fi
# récupération des paramètres personnels de configuration si QNAP actif
if [[ "$QNAP" == "true" ]]; then
cp -f $mnt_cfg/environment /etc/environment # récupération des variables qui seront d'environnement
echo "LOG_USER=$log_user" >> /etc/environment # rajout du nom utilisateur
. /etc/environment # inclus variables d'environnement
# Création des dossiers de montage local
[ ! -d /media/Freebox ] && mkdir /media/Freebox
fi
# met le scheduler à [noop] et active trim si disque SSD
if [[ "$SSD" == "true" ]]; then
echo 'ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"' > $rules
# activation TRIM périodique
systemctl enable fstrim.timer
systemctl start fstrim.timer
fi
# Modification de fstab -------------------------------------------------------
# crée une copie de l'original en .old
# remplace les occurences '0(nblancs)1' (ou 2) par '0 0'
# rajoute noatime pour limiter les accès disque
sed -i.old 's/[12] *[12]/0 0/' $fstab
grep "noatime" $fstab
if [ $? -ne 0 ]; then
sed -i 's/defaults/defaults,noatime/' $fstab
fi
# utilisation minimale du swap -----------------------------------------------
grep -q 'vm.swappiness' $sysctl
if [ $? -ne 0 ]; then
echo -e "\nvm.swappiness=0\n" >> $sysctl
fi
# numlockx à ouverture de session----------------------------------------------
dnf -y install numlockx
sed -i.old 's/#greeter-setup-script=/greeter-setup-script=\/usr\/bin\/numlockx on/' $lightdm
# démarrage automatique de session
if [[ "$AUTO" == "true" ]]; then
sed -i 's/#autologin-user=/autologin-user='$log_user'/' $lightdm
sed -i 's/#autologin-user-timeout=0/autologin-user-timeout=0/' $lightdm
fi
# configuration sudoers -----------------------------------------------------
if [[ ! -f "$sudoers" ]]; then
{
echo "## certaines permissions"
echo "Cmnd_Alias MOI = /usr/bin/mount, /usr/bin/umount, /usr/bin/mkdir, /usr/bin/rmdir"
echo -e "$log_user ALL = NOPASSWD: MOI\n"
} > "$sudoers"
chmod 0440 $sudoers
touch $sudoers
fi
# Installation multimedia ----------------------------------------------------
echo "Installation multimedia"
dnf -y install audacity-freeworld audacity-manual
dnf -y install avidemux*
dnf -y install compat-libstdc++-33
dnf -y install easytag
dnf -y install ffmpeg
dnf -y install gstreamer1-plugin-mpg123 mpg123-libs libmpg123
dnf -y install gstreamer{1,}-{plugin-crystalhd,ffmpeg,plugins-{good,bad{,-free,-nonfree,-freeworld,-extras}{,-extras}}} lame-libs --setopt=strict=0
dnf -y install gstreamer1-libav
dnf -y install handbrake*
dnf -y install lame
dnf -y install mediainfo
dnf -y install mp3gain
dnf -y install rhythmbox
dnf -y install vlc
dnf -y install sound-juicer
dnf -y install youtube-dl
# config dépôt remi pour libdvdcss ---------------
dnf -y install http://rpms.remirepo.net/fedora/remi-release-$VERSION_ID.rpm
dnf -y install --enablerepo=remi libdvdcss
# Installation codecs mplayer -------------------------------------------------------
dnf -y --nogpgcheck install $mnt_cfg/mplayer*.rpm
# Installation Adobe reader -------------------------------------------------------
dnf -y --nogpgcheck install $mnt_cfg/AdbeRdr*.rpm
# Installation diverses -------------------------------------------------------
echo "Installations diverses"
dnf -y install alacarte
dnf -y install beesu
dnf -y install cmake
dnf -y install dconf-editor
dnf -y install dnf-plugin-system-upgrade
dnf -y install filezilla
dnf -y install fuse-encfs
dnf -y install gedit gedit-plugins
dnf -y remove xed
dnf -y install gimp
dnf -y install gnome-mines gnome-mahjongg gnome-sudoku aisleriot
dnf -y install gparted
dnf -y install grisbi
dnf -y install hdparm
dnf -y install java-1*openjdk
dnf -y install libreoffice-langpack-fr
dnf -y install lshw
dnf -y install p7zip
dnf -y install pdfmerge
dnf -y install progress
dnf -y install rpmconf
dnf -y install seahorse
dnf -y install sg3_utils
dnf -y install transmission
dnf -y install unrar
dnf -y install xdotool
dnf -y install xsane
dnf -y install --nogpgcheck $mnt_cfg/msttcorefonts*.rpm
# Installation utilitaires de développement -----------------------------------
if [[ "$DEVEL" == "true" ]]; then
dnf -y group install "Bibliothèques de développement" "Outils de développement"
dnf -y install geany geany-devel geany-plugins-addons geany-plugins-common geany-plugins-debugger geany-plugins-geanydoc
dnf -y install gtk+* gtk3-devel glade
fi
demontage # démontage QNAP --------------------------------------------------
# installation imprimantes HP -------------------------------------------------
[ "$HP" == "true" ] && dnf -y install hplip*
# suppression abrt ------------------------------------------------------------
systemctl stop abrtd.service
systemctl disable abrtd.service
dnf -y remove abrt*
# suppression firefox
dnf -y remove firefox*
# installation chrome
cat << EOF > /etc/yum.repos.d/google-chrome.repo
[google-chrome]
name=google-chrome - \$basearch
baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOF
dnf -y install google-chrome-stable
) 2>&1 | tee -a $f_log
# fin de récupération fichier log ============================================
read -p "Rebooter (o/n) : " r
[[ $r == 'o' ]] && reboot
exit 0