Je vous en partage quelques uns, qui j'espère vous aideront également. Je vous les mets en direct au lieu de mettre un lien, pour éviter de spammer.
----
Ça, c'est un petit script que j'utilise à chaque fois que je réinstalle ArchLinux (oui, ça arrive) ou quand je veux créer un compte user pour ma compagne sur ma machine.
Il permet de créer rapidement un utilisateur sur la machine.
Code : Tout sélectionner
#!/bin/bash
# ajouter_utilisateur.sh
# A lancer en tant que "root"
# On definit les groupes de l'utilisateur
GROUPS_FOR_USER="audio,floppy,optical,storage,video,lp,wheel"
# On cree l'utilisateur
echo -e "\e[1;32mNom de l'utilisateur a ajouter :\e[0m "
read USERNAME
echo -e "\t\t-- Ajout de l'utilisateur \e[1;34m${USERNAME}\e[0m --"
useradd -G users -d /home/${USERNAME} -s /bin/bash -m ${USERNAME}
# On ajoute l'utilisateur aux groupes predefinis
echo -e "Ajout de l'utilisateur \e[1;34m${USERNAME}\e[0m dans les groupes \e[1;32m${GROUPS_FOR_USER}\e[0m :"
usermod -aG ${GROUPS_FOR_USER} ${USERNAME}
# Enfin, on lui demande de creer son mot de passe
echo -e "Veuillez demander a \e[1;34m${USERNAME}\e[0m de taper (creer) maintenant son mot de passe :"
passwd ${USERNAME}
# On remplit le xinitrc de l'utilisateur
echo -e "# Lancer NumLockX
# Note : indispensable pour un TypeMatrix
numlockx on &
# Lancer XFCE
exec ck-launch-session startxfce4
# Lancer LXDE
#exec ck-launch-session startlxde
# Lancer Gnome
#exec ck-launch-session gnome-session" >> /home/"${USERNAME}"/.xinitrc
# On rend a l'utilisateur ses droits sur ce nouveau fichier
chown "${USERNAME}" /home/"${USERNAME}"/.xinitrc
# Generique de fin. On quitte.
echo -e "L'utilisateur \e[1;34m${USERNAME}\e[0m est desormais cree. Enjoy :)"
(J'ai jamais réussi ma foutue clef, dommage)
Code : Tout sélectionner
#!/bin/sh
# ==========================================================
# Name: getisocontent
# Description: Mounting ISO and getting stuff from it
# URL: http://captain.ishido.free.fr/?=scr
#
# Made by Captain Ishido
#
# ==== [ Website ] ====
# http://captain.ishido.free.fr/
#
# ==========================================================
# Monter des iso et copier leur contenu dans un dossier dédié.
# ------------------------------- [ DETECTION DE LA LANGUE : AFFICHAGE DES MESSAGES ] -------------------------------
# ---------------------------------------------------- FR ----------------------------------------------------
case "$LANG" in
fr*) USER_NOT_ALLOWED="Vous n'etes pas autorises a lancer ce script.";
WELCOME_MESSAGE="+-----------------------------------------------+
| Bienvenue dans Get Iso Content |
+-----------------------------------------------+";
USER_DIRECTORY="Repertoire de travail : ";
USER_DIRECTORY_INSIST="Repertoire inexistant. Repertoire de travail : ";
CREATING="Creation de";
COPYING="Copie des fichiers en cours. Veuillez patienter.";
UMOUNTING="Demontage de";
CHANGING_RIGHTS="Changement des droits.";
FINAL_MESSAGE="Travail termine pour";
;;
# ---------------------------------------------------- OTHERS ----------------------------------------------------
*) USER_NOT_ALLOWED="You're not allowed to launch that script.";
WELCOME_MESSAGE="+-----------------------------------------------+
| Welcome in Get Iso Content |
+-----------------------------------------------+";
USER_DIRECTORY="Working directory : ";
USER_DIRECTORY_INSIST="Not found. Working directory : ";
CREATING="Creating";
COPYING="Copying files. Please wait.";
UMOUNTING="Unmounting";
CHANGING_RIGHTS="Changing rights.";
FINAL_MESSAGE="Done for";
;;
esac
# ------------------------------- [ DETECTION DE LA LANGUE : AFFICHAGE DES MESSAGES ] -------------------------------
# --------------------------- [ VERIFICATION DE L'UTILISATEUR ROOT ] ---------------------------
user=$(whoami)
if [ root != $user ]
then
echo -e "\e[1;34m${USER_NOT_ALLOWED}\e[0m"
exit 1
fi
# --------------------------- [ VERIFICATION DE L'UTILISATEUR ROOT ] ---------------------------
# ----------------------------- [ MESSAGE D'ACCUEIL ] -----------------------------
echo -e "\e[1;34m${WELCOME_MESSAGE}\e[0m"
# ----------------------------- [ MESSAGE D'ACCUEIL ] -----------------------------
# On fixe tout de suite le repertoire de montage des isos
MOUNT_ISO_HERE=/media/iso
# On fixe l'extension sur "iso" (plus facile a changer plus tard)
EXT="iso"
# --------------------------------- [ VERIFICATION DU REPERTOIRE ] ---------------------------------
echo -e "\e[1;34m${USER_DIRECTORY}\e[0m"
read DIRECTORY
while [ ! -d "${DIRECTORY}" ]
do
echo -e "\e[1;34m${USER_DIRECTORY_INSIST}\e[0m"
read DIRECTORY
done
cd "${DIRECTORY}"
# --------------------------------- [ VERIFICATION DU REPERTOIRE ] ---------------------------------
# On scanne le repertoire
for ISOFILES in *."${EXT}"
do
# Si /media/iso n'existe pas
# --------------------------------- [ VERIFICATION DU REPERTOIRE ] ---------------------------------
if [ ! -d "${MOUNT_ISO_HERE}" ]
then
mkdir -p "${MOUNT_ISO_HERE}"
fi
# --------------------------------- [ VERIFICATION DU REPERTOIRE ] ---------------------------------
# On mont l'iso en cours
mount -o loop -t iso9660 "${ISOFILES}" "${MOUNT_ISO_HERE}"
# On calcule le nom de du dossier
ISODIRECTORY=$(basename "${ISOFILES}" ."${EXT}")
echo "${CREATING} ${ISODIRECTORY}"
# On le cree
mkdir "${DIRECTORY}"/"${ISODIRECTORY}"
echo "${COPYING}"
# On copie les fichiers de l'iso montee dans le nouveau repertoire
cp -R "${MOUNT_ISO_HERE}"/* "${DIRECTORY}"/"${ISODIRECTORY}"/
# On demonte l'iso
echo "${UMOUNTING} ${ISOFILES}"
umount "${MOUNT_ISO_HERE}"
# On colle des droits a 777 sur le dossier
echo "${CHANGING_RIGHTS}"
chmod -Rf 777 "${DIRECTORY}"/"${ISODIRECTORY}"/
echo -e "\e[1;34m${FINAL_MESSAGE} ${ISOFILES}\e[0m";
done
Je m'en sers assez peu, en fait. Mais il m'a été TRES utile. Seuls 3 "profils" sont présents, mais je l'ai écrit de manière à ce qu'on puisse facilement en ajouter. Ce script n'est donc pas limité à ArchLinux.
Code : Tout sélectionner
#!/bin/bash
# ==========================================================
# Name: autosaver.sh
# Description:
# URL: http://captain.ishido.free.fr/?=scr
#
# Made by Captain Ishido
#
# ===== [ Website ] =====
# http://captain.ishido.free.fr/
#
# ==========================================================
# --- [ DETECTION DE LA LANGUE : AFFICHAGE DES MESSAGES ] ---
# -------------------- FR --------------------
case "$LANG" in
fr*) USER_NOT_ALLOWED="Vous n'etes pas autorises a lancer ce script."
WELCOME_MESSAGE="+-----------------------------------------------+
| |
| Bienvenue dans Auto saver |
| |
+-----------------------------------------------+"
FINAL_MESSAGE="Termine."
;;
# -------------------- OTHERS --------------------
*) USER_NOT_ALLOWED="You're not allowed to launch that script."
WELCOME_MESSAGE="+---------------------------------------+
| |
| Welcome in Auto saver |
| |
+---------------------------------------+"
FINAL_MESSAGE="Done."
;;
esac
# ---------- [ FIN DE L'AFFICHAGE DES MESSAGES ] ----------
# ---------- [ VERIFICATION DE L'UTILISATEUR ROOT : DEBUT ] ----------
user=$(whoami)
if [ root = $user ]
then
echo -e "\e[1;34m${USER_NOT_ALLOWED}\e[0m"
exit 1
fi
# ----------- [ VERIFICATION DE L'UTILISATEUR ROOT : FIN ] -----------
# ------------------- [ DEBUT DU PROGRAMME ] -------------------
# ------------ [ MESSAGE D'ACCUEIL : DEBUT ] ------------
echo -e "\e[1;34m${WELCOME_MESSAGE}\e[0m"
# ------------- [ MESSAGE D'ACCUEIL : FIN ] -------------
ARCHLINUX_PROFILE="$HOME/.xinitrc /etc/alsa.conf /etc/hosts /etc/hosts.allow /etc/hosts.deny /etc/inittab /etc/locale.gen /etc/mkinitcpio.conf /etc/modprobe.d/modprobe.conf /etc/pacman.conf /etc/rc.conf /etc/resolv.conf /etc/hal/fdi/policy/10-keymap.fdi /etc/pacman.d/mirrorlist /etc/ssh/ssh_config /etc/ssh/sshd_config /etc/X11/xorg.conf /etc/fstab"
GENTOO_PROFILE="/etc/hosts /etc/locale.gen /etc/make.conf /etc/rc.conf /etc/resolv.conf /etc/conf.d/clock /etc/conf.d/domainname /etc/conf.d/hostname /etc/conf.d/keymaps /etc/conf.d/net /etc/conf.d/xdm /etc/X11/xorg.conf"
FBSD_PROFILE="/boot/loader.conf /etc/rc.conf /etc/X11/xorg.conf /etc/sysctl.conf /etc/hosts /usr/local/etc/slim.conf /etc/make.conf /etc/profile /etc/login.conf /etc/devfs.rules /usr/local/etc/PolicyKit/PolicyKit.conf /boot/defaults/loader.conf /usr/local/etc/hal/fdi/policy/x11-input.fdi $HOME/.xinitrc $HOME/.profile $HOME/.login_conf $HOME/.conkyrc /etc/rc.d/slim"
for FILES in ${ARCHLINUX_PROFILE}
do
# echo "Fichier sauve !"
# echo "${FILES}"
FILENAME=$(basename ${FILES})
DIRECTORYNAME=$(dirname ${FILES})
echo "Sauvegarde de : " ${FILENAME}
mkdir -p $(pwd)${DIRECTORYNAME}
cp "${FILES}" $(pwd)"${DIRECTORYNAME}"/"${FILENAME}"
done
echo -e "\e[1;34m${FINAL_MESSAGE}\e[0m"
Il me sert actuellement (aaaaaaaaaaaaaaah, Bayonettaaaaaaaaaaaaaaaaaaaaaaaa...)
Code : Tout sélectionner
#!/bin/bash
# ==========================================================
# Name: random_wallpapers.sh
# Description: A mere automated wallpaper changer
# designed for XFCE
# URL: http://captain.ishido.free.fr/?=scr
#
# Made by Captain Ishido
#
# ==== [ Website ] ====
# http://captain.ishido.free.fr/
#
# ==========================================================
# ------------------------------- [ DETECTION DE LA LANGUE : AFFICHAGE DES MESSAGES ] -------------------------------
# ---------------------------------------------------- FR ----------------------------------------------------
case "$LANG" in
fr*) USER_NOT_ALLOWED="Vous n'etes pas autorises a lancer ce script."
WELCOME_MESSAGE="+---------------------------------------+
| Bienvenue dans |
| Random Wallpapers |
+---------------------------------------+"
USER_DIRECTORY="Dossier : "
USER_DIRECTORY_INSIST="Dossier : "
;;
# ---------------------------------------------------- OTHERS ----------------------------------------------------
*) USER_NOT_ALLOWED="You're not allowed to launch that script."
;;
esac
# ------------------------------- [ DETECTION DE LA LANGUE : AFFICHAGE DES MESSAGES ] -------------------------------
# ------------------------------- [ VERIFICATION DE L'UTILISATEUR USER ] -------------------------------
user=$(whoami)
if [ root = $user ]
then
echo -e "\e[1;34m${USER_NOT_ALLOWED}\e[0m"
exit 1
fi
# ------------------------------- [ VERIFICATION DE L'UTILISATEUR USER ] -------------------------------
echo -e "\e[1;32m${WELCOME_MESSAGE}\e[0m"
# --------------------------------- [ VERIFICATION DU REPERTOIRE ] ---------------------------------
echo -e "\e[1;34m${USER_DIRECTORY}\e[0m"
read DIRECTORY
while [ ! -d "${DIRECTORY}" ]
do
echo -e "\e[1;34m${USER_DIRECTORY_INSIST}\e[0m"
read DIRECTORY
done
# --------------------------------- [ VERIFICATION DU REPERTOIRE ] ---------------------------------
# On cree et on ecrase le fichier contenant la liste
echo "# xfce backdrop list" > ${HOME}/.config/xfce4/desktop/backdrop.list
echo "$(find "${DIRECTORY}" -type f)" >> ${HOME}/.config/xfce4/desktop/backdrop.list
# On relance les wallpapers
xfdesktop --reload
# Et on remet ca dans 5 minutes
# http://www.commentcamarche.net/contents/tutlinux/lincron.php3
# On met la valeur de DISPLAY afin que ca marche tout le temps
echo "*/5 * * * * DISPLAY=${DISPLAY} /usr/bin/xfdesktop --reload" > ${HOME}/.wallpapers_cron.txt
crontab ${HOME}/.wallpapers_cron.txt
Enjoy
---
ED!T : Trimage est dégagé puisque depuis, je l'ai remplacé par son équivalent Python.