lyon-script/ubuntu-et-variantes-integrd...

688 lines
29 KiB
Bash

#!/bin/bash
# version 2.3.9
# Testé & validé pour les distributions suivantes :
################################################
# - Ubuntu 14.04 & 16.04 (Unity) & 18.04 (Gnome Shell)
# - Xubuntu 14.04, 16.04 et 18.04 (Xfce)
# - Lubuntu 14.04 & 16.04 (Lxde) et 18.04 (Lxde/LxQt)
# - Ubuntu Mate 16.04 & 18.04 (Mate)
# - Ubuntu Budgie 18.04 (Budgie)
# - Elementary OS 0.4 (Pantheon)
# - Linux Mint 17.X & 18.X (Cinnamon/Mate/Xfce)
###### Intégration pour un Scribe 2.3, 2.4, 2.5 et 2.6 avec les clients basés sur Trusty et Xenial ######
#######################################################
# Rappel des problèmes connus
#######################################################
### Si vous avez un Scribe en version supérieure à 2.3, pour avoir les partages vous avez ceci à faire :
# https://dane.ac-lyon.fr/spip/Client-Linux-activer-les-partages
### Si vous utilisez Oscar pour le déploiement de poste, à partir de la 16.04LTS, ce n'est compatible qu'avec les versions
#récentes d'Oscar mais pas les anciennes versions.
# --------------------------------------------------------------------------------------------------------------------
### Changelog depuis version originale (pour 12.04/14.04 à l'époque) :
# - paquet à installer smbfs remplacé par cifs-utils car il a changé de nom.
# - ajout groupe dialout
# - désinstallation de certains logiciels inutiles suivant les variantes
# - ajout fonction pour programmer l'extinction automatique des postes le soir
# - lecture dvd inclus
# - changement du thème MDM par défaut pour Mint (pour ne pas voir l'userlist)
# - ajout d'une ligne dans sudoers pour régler un problème avec GTK dans certains cas sur la 14.04
# - changement page d'acceuil Firefox
# - utilisation du Skel désormais compatible avec la 16.04
# - ajout variable pour contrôle de la version
# - suppression de la notification de mise à niveau (sinon par exemple en 14.04, s'affiche sur tous les comptes au démarrage)
# - correction pour le montage des partages quand le noyau >= 4.13 dû au changement du protocole par défaut en SMB3
# - modification config GDM pour la version de base en 18.04 avec GnomeShell pour ne pas afficher la liste des utilisateurs
# - Ajout de raccourci pour le bureau + dossier de l'utilisateur pour les partages Perso, Documents et l'ensemble des partages.
# - Suppression icone Amazon pour Ubuntu 18.04/GS
# - Ajout de l'utilitaire "net-tools" pour la commande ifconfig
# - Ajout de Vim car logiciel utile de base (en alternative à nano)
# - Changement de commande d'installation : apt-get => apt
# - Applet réseau finalement non-supprimé
# - Possibilité d'enchainer automatiquement avec le script de post-install une fois le script terminé (via 1 paramètre de commande)
# - Suppression de l'écran de démarrage d'Ubuntu avec Gnome de la 18.04
# --------------------------------------------------------------------------------------------------------------------
## Liste des contributeurs au script :
# Christophe Deze - Rectorat de Nantes
# Cédric Frayssinet - Mission Tice Ac-lyon
# Xavier Garel - Mission Tice Ac-lyon
# Simon Bernard - Technicien Ac-Lyon
# Olivier Calpetard - Académie de la Réunion
# Proxy system
###########################################################################
#Paramétrage par défaut
#Changez les valeurs, ainsi, il suffira de taper 'entrée' à chaque question
###########################################################################
scribe_def_ip="192.168.220.10"
proxy_def_ip="172.16.0.252"
proxy_def_port="3128"
proxy_gnome_noproxy="[ 'localhost', '127.0.0.0/8', '172.16.0.0/16', '192.168.0.0/16', '*.crdp-lyon.fr', '*.crdplyon.lan' ]"
proxy_env_noproxy="localhost,127.0.0.1,192.168.0.0/16,172.16.0.0/16,.crdp-lyon.fr,.crdplyon.lan"
pagedemarragepardefaut="https://lite.qwant.com"
#############################################
# Run using sudo, of course.
#############################################
if [ "$UID" -ne "0" ]
then
echo "Il faut etre root pour executer ce script. ==> sudo "
exit
fi
# Pour identifier le numéro de la version (14.04, 16.04...)
. /etc/lsb-release
# Affectation à la variable "version" suivant la variante utilisé
if [ "$DISTRIB_RELEASE" = "14.04" ] || [ "$DISTRIB_RELEASE" = "17" ] || [ "$DISTRIB_RELEASE" = "17.3" ] ; then
version=trusty # Ubuntu 14.04 / Linux Mint 17/17.3
fi
if [ "$DISTRIB_RELEASE" = "16.04" ] || [ "$DISTRIB_RELEASE" = "18" ] || [ "$DISTRIB_RELEASE" = "18.3" ] || [ "$(echo "$DISTRIB_RELEASE" | cut -c -3)" = "0.4" ] ; then
version=xenial # Ubuntu 16.04 / Linux Mint 18/18.3 / Elementary OS 0.4.x
fi
if [ "$DISTRIB_RELEASE" = "18.04" ] || [ "$DISTRIB_RELEASE" = "19" ] || [ "$DISTRIB_RELEASE" = "5.0" ] ; then
version=bionic # Ubuntu 18.04 / Mint 19 / Elementary OS 5.0
fi
if [ "$DISTRIB_RELEASE" = "20.04" ] || [ "$DISTRIB_RELEASE" = "20" ] ; then
version=focal # Ubuntu 20.04 / Mint 20
fi
########################################################################
# Vérification de version
########################################################################
if [ "$version" != "trusty" ] && [ "$version" != "xenial" ] && [ "$version" != "bionic" ] && [ "$version" != "focal" ] ; then
echo "Désolé, vous n'êtes pas sur une version compatible !"
exit
fi
##############################################################################
### Questionnaire : IP du scribe, proxy firefox, port proxy, exception proxy #
##############################################################################
read -p "Donnez l'ip du serveur Scribe ? [$scribe_def_ip] " ip_scribe
if [ "$ip_scribe" = "" ] ; then
ip_scribe=$scribe_def_ip
fi
echo "Adresse du serveur Scribe = $ip_scribe"
#####################################
# Existe-t-il un proxy à paramétrer ?
#####################################
read -p "Faut-il enregistrer l'utilisation d'un proxy ? [O/n] " rep_proxy
if [ "$rep_proxy" = "O" ] || [ "$rep_proxy" = "o" ] || [ "$rep_proxy" = "" ] ; then
read -p "Donnez l'adresse ip du proxy ? [$proxy_def_ip] " ip_proxy
if [ "$ip_proxy" = "" ] ; then
ip_proxy=$proxy_def_ip
fi
read -p "Donnez le n° port du proxy ? [$proxy_def_port] " port_proxy
if [ "$port_proxy" = "" ] ; then
port_proxy=$proxy_def_port
fi
else
ip_proxy=""
port_proxy=""
fi
###################################################
# cron d'extinction automatique à lancer ?
###################################################
echo "Pour terminer, voulez-vous activer l'extinction automatique des postes le soir ?"
echo "0 = non, pas d'extinction automatique le soir"
echo "1 = oui, extinction a 19H00"
echo "2 = oui, extinction a 20H00"
echo "3 = oui, extinction a 22H00"
read -p "Répondre par le chiffre correspondant (0,1,2,3) : " rep_proghalt
if [ "$rep_proghalt" = "1" ] ; then
echo "0 19 * * * root /sbin/shutdown -h now" > /etc/cron.d/prog_extinction
else if [ "$rep_proghalt" = "2" ] ; then
echo "0 20 * * * root /sbin/shutdown -h now" > /etc/cron.d/prog_extinction
else if [ "$rep_proghalt" = "3" ] ; then
echo "0 22 * * * root /sbin/shutdown -h now" > /etc/cron.d/prog_extinction
fi
fi
fi
##############################################################################
### Utilisation du Script Esubuntu ? désactivation pour ubuntu 20.04
##############################################################################
if [ "$DISTRIB_RELEASE" = "20.04" ] || [ "$DISTRIB_RELEASE" = "20" ] ;
then
esubuntu = "N"
else
read -p "Voulez-vous activer le script Esubuntu (cf doc avant : https://frama.link/esub) ? Attention non portée pour ubuntu 20.04 [o/N] :" esubuntu
fi
########################################################################
#rendre debconf silencieux
########################################################################
export DEBIAN_FRONTEND="noninteractive"
export DEBIAN_PRIORITY="critical"
########################################################################
#suppression de l'applet switch-user pour ne pas voir les derniers connectés # Uniquement pour Ubuntu / Unity
#paramétrage d'un laucher unity par défaut : nautilus, firefox, libreoffice, calculatrice, éditeur de texte et capture d'écran
########################################################################
if [ "$(which unity)" = "/usr/bin/unity" ] ; then # si Ubuntu/Unity alors :
echo "[com.canonical.indicator.session]
user-show-menu=false
[org.gnome.desktop.lockdown]
disable-user-switching=true
disable-lock-screen=true
[com.canonical.Unity.Launcher]
favorites=[ 'nautilus-home.desktop', 'firefox.desktop','libreoffice-startcenter.desktop', 'gcalctool.desktop','gedit.desktop','gnome-screenshot.desktop' ]
" > /usr/share/glib-2.0/schemas/my-defaults.gschema.override
fi
#######################################################
#Paramétrage des paramètres Proxy pour tout le système
#######################################################
if [[ "$ip_proxy" != "" ]] && [[ $port_proxy != "" ]] ; then
echo "Paramétrage du proxy $ip_proxy:$port_proxy"
#Paramétrage des paramètres Proxy pour Gnome
#######################################################
echo "[org.gnome.system.proxy]
mode='manual'
use-same-proxy=true
ignore-hosts=$proxy_gnome_noproxy
[org.gnome.system.proxy.http]
host='$ip_proxy'
port=$port_proxy
[org.gnome.system.proxy.https]
host='$ip_proxy'
port=$port_proxy
" >> /usr/share/glib-2.0/schemas/my-defaults.gschema.override
glib-compile-schemas /usr/share/glib-2.0/schemas
#Paramétrage du Proxy pour le système
######################################################################
echo "http_proxy=http://$ip_proxy:$port_proxy/
https_proxy=http://$ip_proxy:$port_proxy/
ftp_proxy=http://$ip_proxy:$port_proxy/
no_proxy=\"$proxy_env_noproxy\"" >> /etc/environment
#Paramétrage du Proxy pour apt
######################################################################
echo "Acquire::http::proxy \"http://$ip_proxy:$port_proxy/\";
Acquire::ftp::proxy \"ftp://$ip_proxy:$port_proxy/\";
Acquire::https::proxy \"https://$ip_proxy:$port_proxy/\";" > /etc/apt/apt.conf.d/20proxy
#Permettre d'utiliser la commande add-apt-repository derrière un Proxy
######################################################################
echo "Defaults env_keep = https_proxy" >> /etc/sudoers
fi
# Modification pour ne pas avoir de problème lors du rafraichissement des dépots avec un proxy
# cette ligne peut être commentée/ignorée si vous n'utilisez pas de proxy ou avec la 14.04.
echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf
echo "Acquire::http::Pipeline-Depth 0;" >> /etc/apt/apt.conf
# Vérification que le système est bien à jour
apt update ; apt full-upgrade -y
# Ajout de Net-tools pour ifconfig en 18.04 et futures versions
apt install -y net-tools
####################################################
# Téléchargement + Mise en place de Esubuntu (si activé)
####################################################
if [ "$esubuntu" = "O" ] || [ "$esubuntu" = "o" ] ; then
# Téléchargement des paquets
#wget --no-check-certificate https://codeload.github.com/dane-lyon/Esubuntu/zip/master #(pose problème lors des tests)
## Précision : en raison des problèmes que pose l'https pour le téléchargement dans les établissements, l'archive est ré-hebergé sur un ftp free :
wget http://nux87.free.fr/pour_script_integrdom/Esubuntu-master.zip
# Déplacement/extraction de l'archive + lancement par la suite
unzip Esubuntu-master.zip ; rm -r Esubuntu-master.zip ; chmod -R +x Esubuntu-master
./Esubuntu-master/install_esubuntu.sh
# Mise en place des wallpapers pour les élèves, profs, admin
wget http://nux87.free.fr/esu_ubuntu/wallpaper.zip
#Lien alternatif : https://github.com/dane-lyon/fichier-de-config/raw/master/wallpaper.zip
unzip wallpaper.zip ; rm -r wallpaper.zip
mv wallpaper /usr/share/
fi
########################################################################
#Mettre la station à l'heure à partir du serveur Scribe
########################################################################
apt install -y ntpdate ;
ntpdate $ip_scribe
########################################################################
#installation des paquets nécessaires
#numlockx pour le verrouillage du pavé numérique
#unattended-upgrades pour forcer les mises à jour de sécurité à se faire
########################################################################
apt install -y ldap-auth-client libpam-mount cifs-utils nscd numlockx unattended-upgrades
########################################################################
# activation auto des mises à jour de sécurité
########################################################################
echo "APT::Periodic::Update-Package-Lists \"1\";
APT::Periodic::Unattended-Upgrade \"1\";" > /etc/apt/apt.conf.d/20auto-upgrades
########################################################################
# Configuration du fichier pour le LDAP /etc/ldap.conf
########################################################################
echo "
# /etc/ldap.conf
host $ip_scribe
base o=gouv, c=fr
nss_override_attribute_value shadowMax 9999
" > /etc/ldap.conf
########################################################################
# activation des groupes des users du ldap
########################################################################
echo "Name: activate /etc/security/group.conf
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
required pam_group.so use_first_pass" > /usr/share/pam-configs/my_groups
########################################################################
#auth ldap avec changement de fichier sur les version 20.04 et 20(Mint) => /etc/nsswitch.conf
########################################################################
if [ "$DISTRIB_RELEASE" = "20.04" ] || [ "$DISTRIB_RELEASE" = "20" ] ; then
echo "# pre_auth-client-config # passwd: compat systemd
passwd: files ldap
# pre_auth-client-config # group: compat systemd
group: files ldap
# pre_auth-client-config # shadow: compat
shadow: files ldap
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
# pre_auth-client-config # netgroup: nis
netgroup: nis
" > /etc/nsswitch.conf
else
echo "[open_ldap]
nss_passwd=passwd: files ldap
nss_group=group: files ldap
nss_shadow=shadow: files ldap
nss_netgroup=netgroup: nis
" > /etc/auth-client-config/profile.d/open_ldap
fi
########################################################################
#application de la conf nsswitch
########################################################################
auth-client-config -t nss -p open_ldap
########################################################################
#modules PAM mkhomdir pour pam-auth-update
########################################################################
echo "Name: Make Home directory
Default: yes
Priority: 128
Session-Type: Additional
Session:
optional pam_mkhomedir.so silent" > /usr/share/pam-configs/mkhomedir
grep "auth required pam_group.so use_first_pass" /etc/pam.d/common-auth >/dev/null
if [ $? == 0 ]
then
echo "/etc/pam.d/common-auth Ok"
else
echo "auth required pam_group.so use_first_pass" >> /etc/pam.d/common-auth
fi
########################################################################
# mise en place de la conf pam.d
########################################################################
pam-auth-update consolekit ldap libpam-mount unix mkhomedir my_groups --force
########################################################################
# mise en place des groupes pour les users ldap dans /etc/security/group.conf
########################################################################
grep "*;*;*;Al0000-2400;floppy,audio,cdrom,video,plugdev,scanner,dialout" /etc/security/group.conf >/dev/null;
if [ $? != 0 ] ; then
echo "*;*;*;Al0000-2400;floppy,audio,cdrom,video,plugdev,scanner,dialout" >> /etc/security/group.conf
else echo "group.conf ok"
fi
########################################################################
#on remet debconf dans sa conf initiale
########################################################################
export DEBIAN_FRONTEND="dialog"
export DEBIAN_PRIORITY="high"
########################################################################
#paramétrage du script de démontage du netlogon pour lightdm
########################################################################
if [ "$(which lightdm)" = "/usr/sbin/lightdm" ] ; then #Si lightDM présent
touch /etc/lightdm/logonscript.sh
grep "if mount | grep -q \"/tmp/netlogon\" ; then umount /tmp/netlogon ;fi" /etc/lightdm/logonscript.sh >/dev/null
if [ $? == 0 ] ; then
echo "Présession Ok"
else
echo "if mount | grep -q \"/tmp/netlogon\" ; then umount /tmp/netlogon ;fi" >> /etc/lightdm/logonscript.sh
fi
chmod +x /etc/lightdm/logonscript.sh
touch /etc/lightdm/logoffscript.sh
echo "sleep 2 \
umount -f /tmp/netlogon \
umount -f \$HOME
" > /etc/lightdm/logoffscript.sh
chmod +x /etc/lightdm/logoffscript.sh
########################################################################
#paramétrage du lightdm.conf
#activation du pavé numérique par greeter-setup-script=/usr/bin/numlockx on
########################################################################
echo "[SeatDefaults]
allow-guest=false
greeter-show-manual-login=true
greeter-hide-users=true
session-setup-script=/etc/lightdm/logonscript.sh
session-cleanup-script=/etc/lightdm/logoffscript.sh
greeter-setup-script=/usr/bin/numlockx on" > /usr/share/lightdm/lightdm.conf.d/50-no-guest.conf
fi
# echo "GVFS_DISABLE_FUSE=1" >> /etc/environment
# Modification ancien gestionnaire de session MDM
if [ "$(which mdm)" = "/usr/sbin/mdm" ] ; then # si MDM est installé (ancienne version de Mint <17.2)
cp /etc/mdm/mdm.conf /etc/mdm/mdm_old.conf #backup du fichier de config de mdm
wget --no-check-certificate https://raw.githubusercontent.com/dane-lyon/fichier-de-config/master/mdm.conf ; mv -f mdm.conf /etc/mdm/ ;
fi
# Si Ubuntu Mate
if [ "$(which caja)" = "/usr/bin/caja" ] ; then
apt purge -y hexchat transmission-gtk ubuntu-mate-welcome cheese pidgin rhythmbox
snap remove ubuntu-mate-welcome
fi
# Si Lubuntu (lxde)
if [ "$(which pcmanfm)" = "/usr/bin/pcmanfm" ] ; then
apt purge -y abiword gnumeric pidgin transmission-gtk sylpheed audacious guvcview ;
fi
########################################################################
# Spécifique Gnome Shell
########################################################################
if [ "$(which gnome-shell)" = "/usr/bin/gnome-shell" ] ; then # si GS installé
# Désactiver userlist pour GDM
echo "user-db:user
system-db:gdm
file-db:/usr/share/gdm/greeter-dconf-defaults" > /etc/dconf/profile/gdm
mkdir /etc/dconf/db/gdm.d
echo "[org/gnome/login-screen]
# Do not show the user list
disable-user-list=true" > /etc/dconf/db/gdm.d/00-login-screen
#prise en compte du changement
dconf update
# Suppression icone Amazon
apt purge -y ubuntu-web-launchers
apt purge -y gnome-initial-setup
# Remplacement des snaps par défauts par la version apt (plus rapide)
snap remove gnome-calculator gnome-characters gnome-logs gnome-system-monitor
apt install gnome-calculator gnome-characters gnome-logs gnome-system-monitor -y
apt install hxtools
fi
########################################################################
#Paramétrage pour remplir pam_mount.conf
########################################################################
eclairng="<volume user=\"*\" fstype=\"cifs\" server=\"$ip_scribe\" path=\"eclairng\" mountpoint=\"/media/Serveur_Scribe\" />"
grep "/media/Serveur_Scribe" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then
sed -i "/<\!-- Volume definitions -->/a\ $eclairng" /etc/security/pam_mount.conf.xml
else
echo "eclairng déjà présent"
fi
homes="<volume user=\"*\" fstype=\"cifs\" server=\"$ip_scribe\" path=\"perso\" mountpoint=\"~/Documents\" />"
grep "mountpoint=\"~\"" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then sed -i "/<\!-- Volume definitions -->/a\ $homes" /etc/security/pam_mount.conf.xml
else
echo "homes déjà présent"
fi
groupes="<volume user=\"*\" fstype=\"cifs\" server=\"$ip_scribe\" path=\"groupes\" mountpoint=\"~/Groupes\" />"
grep "mountpoint=\"~\"" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then
sed -i "/<\!-- Volume definitions -->/a\ $groupes" /etc/security/pam_mount.conf.xml
else
echo "groupes déjà présent"
fi
commun="<volume user=\"*\" fstype=\"cifs\" server=\"$ip_scribe\" path=\"commun\" mountpoint=\"~/commun\" />"
grep "mountpoint=\"~\"" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then
sed -i "/<\!-- Volume definitions -->/a\ $commun" /etc/security/pam_mount.conf.xml
else
echo "commun déjà présent"
fi
professeurs="<volume user=\"*\" fstype=\"cifs\" server=\"$ip_scribe\" path=\"professeurs\" mountpoint=\"~/professeurs\" />"
grep "mountpoint=\"~\"" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then
sed -i "/<\!-- Volume definitions -->/a\ $professeurs" /etc/security/pam_mount.conf.xml
else
echo "professeurs déjà présent"
fi
netlogon="<volume user=\"*\" fstype=\"cifs\" server=\"$ip_scribe\" path=\"netlogon\" mountpoint=\"/tmp/netlogon\" sgrp=\"DomainUsers\" />"
grep "/tmp/netlogon" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then
sed -i "/<\!-- Volume definitions -->/a\ $netlogon" /etc/security/pam_mount.conf.xml
else
echo "netlogon déjà présent"
fi
grep "<cifsmount>mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"noexec,nosetuids,mapchars,cifsacl,serverino,nobrl,iocharset=utf8,user=%(USER),uid=%(USERUID)%(before=\\",\\" OPTIONS)\"</cifsmount>" /etc/security/pam_mount.conf.xml >/dev/null
if [ $? != 0 ]
then
sed -i "/<\!-- pam_mount parameters: Volume-related -->/a\ <cifsmount>mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o \"noexec,nosetuids,mapchars,cifsacl,serverino,nobrl,iocharset=utf8,user=%(USER),uid=%(USERUID)%(before=\\",\\" OPTIONS),vers=1.0\"</cifsmount>" /etc/security/pam_mount.conf.xml
else
echo "mount.cifs déjà présent"
fi
########################################################################
#/etc/profile
########################################################################
echo "
export LC_ALL=fr_FR.utf8
export LANG=fr_FR.utf8
export LANGUAGE=fr_FR.utf8
" >> /etc/profile
########################################################################
#ne pas créer les dossiers par défaut dans home
########################################################################
sed -i "s/enabled=True/enabled=False/g" /etc/xdg/user-dirs.conf
########################################################################
# les profs peuvent sudo
########################################################################
grep "%professeurs ALL=(ALL) ALL" /etc/sudoers > /dev/null
if [ $?!=0 ]
then
sed -i "/%admin ALL=(ALL) ALL/a\%professeurs ALL=(ALL) ALL" /etc/sudoers
sed -i "/%admin ALL=(ALL) ALL/a\%DomainAdmins ALL=(ALL) ALL" /etc/sudoers
else
echo "prof déjà dans sudo"
fi
# Suppression de paquet inutile sous Ubuntu/Unity
apt purge -y aisleriot gnome-mahjongg ;
# Pour être sûr que les paquets suivant (parfois présent) ne sont pas installés :
apt purge -y pidgin transmission-gtk gnome-mines gnome-sudoku blueman abiword gnumeric thunderbird ;
apt purge -y mintwelcome ;
########################################################################
#suppression de l'envoi des rapport d'erreurs
########################################################################
echo "enabled=0" > /etc/default/apport
########################################################################
#suppression de l'applet network-manager
########################################################################
#mv /etc/xdg/autostart/nm-applet.desktop /etc/xdg/autostart/nm-applet.old
########################################################################
#suppression du menu messages
########################################################################
apt purge -y indicator-messages
# Changement page d'accueil firefox
echo "user_pref(\"browser.startup.homepage\", \"$pagedemarragepardefaut\");" >> /usr/lib/firefox/defaults/pref/channel-prefs.js
if [ "$DISTRIB_RELEASE" = "20.04" ] || [ "$DISTRIB_RELEASE" = "20" ] ; then
if [ "$DISTRIB_RELEASE" = "20" ] ; then
echo "user_pref(\"browser.startup.homepage\", \"$pagedemarragepardefaut\");" >> /etc/firefox/syspref.js
echo "lockPref(\"browser.startup.homepage\", \"$pagedemarragepardefaut\" );" >> /etc/firefox/syspref.js
echo "user_pref(\"browser.startup.homepage\", \"$pagedemarragepardefaut\");" >> /usr/lib/firefox/defaults/pref/all-user.js
echo "lockPref(\"browser.startup.homepage\", \"$pagedemarragepardefaut\" );" >> /usr/lib/firefox/defaults/pref/all-user.js
sed -i 's/^browser\.startup\.homepage=.*$/browser.startup.homepage="http:\/\/lite.qwant.com"/' /usr/share/ubuntu-system-adjustments/firefox/distribution.ini
fi
######################################################################################################################
# Ci-dessus pour Mint n'ayant pas une version de firefox > 77
# Ubuntu emplacement choisi par les distribution pour forcer les page
# /usr/lib/firefox/defaults/pref/vendor.js
# /usr/lib/chromium-browser/master_preferences && sudo rm /usr/lib/firefox/ubuntumate.cfg
# /usr/lib/firefox/defaults/pref/all-ubuntumate.js
# CI DESSOUS utilisation de https://github.com/mozilla/policy-templates/blob/master/README.md#homepage compatible firefox V 80 +
# écriture dans les deux emplacements possible pour plus de sécurité
# la première page sous Mate reste une page de première connexion, un fois fermé le fonctionnement attendu est efficient
######################################################################################################################
mkdir /etc/firefox/policies
echo "{
\"policies\": {
\"Homepage\": {
\"URL\": \"$pagedemarragepardefaut\",
\"Locked\": true,
\"StartPage\": \"homepage\"
},
\"OverrideFirstRunPage\": \"\"
}
}" >> /etc/firefox/policies/policies.json
#cp /etc/firefox/policies.json /usr/lib/firefox/distribution/policies.json
fi
# Logiciels utiles
apt install -y vim htop
# Lecture DVD sur Ubuntu 16.04 et supérieur ## répondre oui aux question posés...
#apt install -y libdvd-pkg ; dpkg-reconfigure libdvd-pkg
# Lecture DVD sur Ubuntu 14.04
if [ "$version" = "trusty" ] ; then
apt install -y libdvdread4 && bash /usr/share/doc/libdvdread4/install-css.sh
fi
# Résolution problème dans certains cas uniquement pour Trusty (exemple pour lancer gedit directement avec : sudo gedit)
if [ "$version" = "trusty" ] ; then
echo 'Defaults env_keep += "DISPLAY XAUTHORITY"' >> /etc/sudoers
fi
# Spécifique base 16.04 ou 18.04 : pour le fonctionnement du dossier /etc/skel
if [ "$version" = "xenial" ] || [ "$version" = "bionic" ] ; then
sed -i "30i\session optional pam_mkhomedir.so" /etc/pam.d/common-session
fi
# Spécifique base 20.04 ou 20 : pour le fonctionnement du dossier skel, ajouter dans /etc/skel ce qui doit être appliqué aux profil
if [ "$DISTRIB_RELEASE" = "20.04" ] || [ "$DISTRIB_RELEASE" = "20" ] ; then
sed -i "30i\session optional pam_umask=0022 skel=/etc/skel" /etc/pam.d/common-session
sed -i "30i\session optional pam_mkhomedir.so" /etc/pam.d/common-session
fi
if [ "$version" = "bionic" ] ; then
# Création de raccourci sur le bureau + dans dossier utilisateur (pour la 18.04 uniquement) pour l'accès aux partages (commun+perso+lespartages)
wget http://nux87.free.fr/pour_script_integrdom/skel.tar.gz
tar -xzf skel.tar.gz -C /etc/
rm -f skel.tar.gz
fi
# Suppression de notification de mise à niveau
sed -r -i 's/Prompt=lts/Prompt=never/g' /etc/update-manager/release-upgrades
# Enchainer sur un script de Postinstallation sur demande (facultatif)
if [ "$1" = "pi" ] ; then # Pour 14.04/16.04/18.04
wget --no-check-certificate https://raw.githubusercontent.com/dane-lyon/clients-linux-scribe/master/ubuntu-et-variantes-postinstall.sh
chmod +x ubuntu-et-variantes-postinstall.sh ; ./ubuntu-et-variantes-postinstall.sh ; rm -f ubuntu*.sh ;
fi
if [ "$1" = "extra" ] ; then # Pour 18.04 uniquement
wget --no-check-certificate https://raw.githubusercontent.com/simbd/Scripts_Ubuntu/master/Ubuntu18.04_Bionic_Postinstall.sh
chmod +x Ubuntu18.04_Bionic_Postinstall.sh ; ./Ubuntu18.04_Bionic_Postinstall.sh ; rm -f Ubuntu*.sh ;
fi
########################################################################
#nettoyage station avant clonage
########################################################################
apt-get -y autoremove --purge ; apt-get -y clean ; clear
########################################################################
#FIN
########################################################################
echo "C'est fini ! Un reboot est nécessaire..."
read -p "Voulez-vous redémarrer immédiatement ? [O/n] " rep_reboot
if [ "$rep_reboot" = "O" ] || [ "$rep_reboot" = "o" ] || [ "$rep_reboot" = "" ] ; then
reboot
fi
© 2020 GitHub, Inc.
Terms
Privacy
Security
Status
Help
Contact GitHub
Pricing
API
Training
Blog
About