Gestion de la Personnalisation du Finder sur macOS
Personnalisez et gérez les préférences du Finder sur vos appareils MacFleet à l'aide d'outils en ligne de commande. Ce tutoriel couvre les options d'affichage du bureau, les paramètres de visibilité des fichiers, la personnalisation de l'interface et la gestion de configuration Finder à l'échelle de l'entreprise.
Comprendre la Personnalisation du Finder macOS
Le Finder est le gestionnaire de fichiers par défaut de macOS, et son comportement peut être largement personnalisé à l'aide de la commande defaults
. Les domaines clés de personnalisation incluent :
- Affichage du Bureau - Contrôler ce qui apparaît sur le bureau
- Visibilité des Fichiers - Afficher/masquer les fichiers et extensions
- Éléments d'Interface - Barres d'état, affichage des chemins et avertissements
- Comportement de Tri - Comment les fichiers et dossiers sont organisés
Gestion de l'Affichage du Bureau
Afficher les Disques Durs sur le Bureau
#!/bin/bash
# Activer l'affichage des disques durs sur le bureau
echo "🖥️ Activation de l'affichage des disques durs sur le bureau..."
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les disques durs apparaîtront maintenant sur le bureau"
else
echo "❌ Échec de la mise à jour du paramètre d'affichage des disques durs"
exit 1
fi
Afficher les Disques Externes sur le Bureau
#!/bin/bash
# Activer l'affichage des disques externes sur le bureau
echo "💾 Activation de l'affichage des disques externes sur le bureau..."
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les disques externes apparaîtront maintenant sur le bureau"
else
echo "❌ Échec de la mise à jour du paramètre d'affichage des disques externes"
exit 1
fi
Afficher les Supports Amovibles sur le Bureau
#!/bin/bash
# Activer l'affichage des supports amovibles sur le bureau
echo "💿 Activation de l'affichage des supports amovibles sur le bureau..."
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les supports amovibles (CD, DVD, iPod) apparaîtront maintenant sur le bureau"
else
echo "❌ Échec de la mise à jour du paramètre d'affichage des supports amovibles"
exit 1
fi
Configuration de la Visibilité des Fichiers
Afficher Toutes les Extensions de Fichiers
#!/bin/bash
# Activer l'affichage de toutes les extensions de fichiers
echo "📄 Activation de l'affichage de toutes les extensions de fichiers..."
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Toutes les extensions de fichiers seront maintenant visibles"
echo "ℹ️ Les fichiers comme 'document.txt' et 'app.app' afficheront leurs extensions"
else
echo "❌ Échec de la mise à jour du paramètre d'affichage des extensions"
exit 1
fi
Afficher les Fichiers Cachés
#!/bin/bash
# Activer l'affichage des fichiers cachés
echo "👁️ Activation de l'affichage des fichiers cachés..."
defaults write com.apple.finder AppleShowAllFiles -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les fichiers cachés seront maintenant visibles dans le Finder"
echo "⚠️ Attention : Les fichiers cachés contiennent des données système - modifiez avec précaution"
else
echo "❌ Échec de la mise à jour du paramètre d'affichage des fichiers cachés"
exit 1
fi
Paramètres d'Amélioration de l'Interface
Activer la Barre d'État
#!/bin/bash
# Activer la barre d'état du Finder
echo "📊 Activation de la barre d'état du Finder..."
defaults write com.apple.finder ShowStatusBar -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Barre d'état activée - affiche le nombre d'éléments et l'espace disponible"
else
echo "❌ Échec de l'activation de la barre d'état"
exit 1
fi
Afficher le Chemin Complet dans la Barre de Titre
#!/bin/bash
# Activer l'affichage du chemin complet dans la barre de titre
echo "🛤️ Activation de l'affichage du chemin complet dans la barre de titre..."
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les chemins complets des fichiers apparaîtront maintenant dans la barre de titre du Finder"
else
echo "❌ Échec de l'activation de l'affichage du chemin dans la barre de titre"
exit 1
fi
Maintenir les Dossiers en Haut lors du Tri
#!/bin/bash
# Activer le tri dossiers-en-premier
echo "📁 Activation du tri dossiers-en-premier..."
defaults write com.apple.finder _FXSortFoldersFirst -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les dossiers apparaîtront maintenant avant les fichiers lors du tri par nom"
else
echo "❌ Échec de la mise à jour de la préférence de tri des dossiers"
exit 1
fi
Paramètres de Sécurité et d'Avertissement
Activer l'Avertissement de Changement d'Extension
#!/bin/bash
# Activer l'avertissement avant modification d'extension de fichier
echo "⚠️ Activation de l'avertissement de changement d'extension de fichier..."
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Une boîte de dialogue d'avertissement apparaîtra avant de changer les extensions de fichiers"
else
echo "❌ Échec de l'activation de l'avertissement de changement d'extension"
exit 1
fi
Activer l'Avertissement de Suppression iCloud Drive
#!/bin/bash
# Activer l'avertissement avant suppression d'éléments d'iCloud Drive
echo "☁️ Activation de l'avertissement de suppression iCloud Drive..."
defaults write com.apple.finder FXEnableRemoveFromICloudDriveWarning -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Une boîte de dialogue d'avertissement apparaîtra avant de supprimer des éléments d'iCloud Drive"
else
echo "❌ Échec de l'activation de l'avertissement de suppression iCloud Drive"
exit 1
fi
Développer les Volets de la Fenêtre d'Informations
#!/bin/bash
# Configurer les volets de la fenêtre d'informations pour être développés par défaut
echo "🔍 Configuration des volets de la fenêtre d'informations..."
defaults write com.apple.finder FXInfoPanesExpanded -dict \
General -bool true \
OpenWith -bool true \
Privileges -bool true
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Les volets Général, Ouvrir avec et Privilèges seront développés par défaut"
else
echo "❌ Échec de la configuration des volets de la fenêtre d'informations"
exit 1
fi
Script de Configuration Finder d'Entreprise
#!/bin/bash
# Outil de Personnalisation Finder MacFleet
# Standardiser les préférences Finder sur les appareils de flotte
# Configuration
LOG_FILE="/var/log/macfleet_finder.log"
BACKUP_DIR="/var/backups/macfleet/finder"
CONFIG_FILE="/etc/macfleet/finder_config.plist"
# Fonction de journalisation
log_action() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
}
# Créer le répertoire de sauvegarde
setup_directories() {
if [[ ! -d "$BACKUP_DIR" ]]; then
mkdir -p "$BACKUP_DIR"
log_action "Répertoire de sauvegarde créé : $BACKUP_DIR"
fi
if [[ ! -d "$(dirname "$CONFIG_FILE")" ]]; then
mkdir -p "$(dirname "$CONFIG_FILE")"
log_action "Répertoire de configuration créé"
fi
}
# Sauvegarder les préférences Finder actuelles
backup_current_settings() {
local backup_file="$BACKUP_DIR/finder_backup_$(date +%Y%m%d_%H%M%S).plist"
echo "📦 Création d'une sauvegarde des paramètres Finder actuels..."
# Exporter les préférences Finder actuelles
defaults export com.apple.finder "$backup_file" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✅ Sauvegarde créée : $backup_file"
log_action "Sauvegarde créée : $backup_file"
else
echo "⚠️ Attention : Impossible de créer la sauvegarde"
log_action "Attention : Échec de la création de sauvegarde"
fi
}
# Appliquer la configuration Finder d'entreprise
apply_finder_configuration() {
echo "🔧 Application de la configuration Finder MacFleet..."
log_action "Début du déploiement de configuration Finder"
# Paramètres d'affichage du bureau
echo "Configuration des options d'affichage du bureau..."
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
# Paramètres de visibilité des fichiers
echo "Configuration des options de visibilité des fichiers..."
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
defaults write com.apple.finder _FXSortFoldersFirst -bool true
# Améliorations de l'interface
echo "Configuration des éléments d'interface..."
defaults write com.apple.finder ShowStatusBar -bool true
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
# Avertissements de sécurité
echo "Configuration des avertissements de sécurité..."
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool true
defaults write com.apple.finder FXEnableRemoveFromICloudDriveWarning -bool true
# Configuration de la fenêtre d'informations
echo "Configuration des volets de la fenêtre d'informations..."
defaults write com.apple.finder FXInfoPanesExpanded -dict \
General -bool true \
OpenWith -bool true \
Privileges -bool true
# Redémarrer le Finder pour appliquer les changements
echo "Redémarrage du Finder pour appliquer les changements..."
killall Finder
if [ $? -eq 0 ]; then
echo "✅ Configuration Finder appliquée avec succès"
log_action "Déploiement de configuration Finder terminé avec succès"
else
echo "❌ Échec du redémarrage du Finder"
log_action "Erreur : Échec du redémarrage du Finder"
return 1
fi
}
# Vérifier le déploiement de configuration
verify_configuration() {
echo "🔍 Vérification de la configuration Finder..."
local verification_passed=true
# Vérifier les paramètres d'affichage du bureau
if [[ "$(defaults read com.apple.finder ShowHardDrivesOnDesktop 2>/dev/null)" == "1" ]]; then
echo "✅ Disques durs sur le bureau : Activé"
else
echo "❌ Disques durs sur le bureau : Échec"
verification_passed=false
fi
if [[ "$(defaults read com.apple.finder ShowExternalHardDrivesOnDesktop 2>/dev/null)" == "1" ]]; then
echo "✅ Disques externes sur le bureau : Activé"
else
echo "❌ Disques externes sur le bureau : Échec"
verification_passed=false
fi
# Vérifier la visibilité des fichiers
if [[ "$(defaults read NSGlobalDomain AppleShowAllExtensions 2>/dev/null)" == "1" ]]; then
echo "✅ Afficher toutes les extensions : Activé"
else
echo "❌ Afficher toutes les extensions : Échec"
verification_passed=false
fi
# Vérifier les éléments d'interface
if [[ "$(defaults read com.apple.finder ShowStatusBar 2>/dev/null)" == "1" ]]; then
echo "✅ Barre d'état : Activée"
else
echo "❌ Barre d'état : Échec"
verification_passed=false
fi
if $verification_passed; then
echo "✅ Toutes les configurations Finder vérifiées avec succès"
log_action "Vérification de configuration réussie"
return 0
else
echo "❌ Certaines configurations ont échoué à la vérification"
log_action "Échec de la vérification de configuration"
return 1
fi
}
# Générer un rapport de configuration
generate_report() {
local report_file="/tmp/finder_config_report_$(date +%Y%m%d_%H%M%S).txt"
{
echo "Rapport de Configuration Finder MacFleet"
echo "Généré : $(date)"
echo "Nom d'hôte : $(hostname)"
echo "Utilisateur : $(whoami)"
echo "======================================"
echo ""
echo "Paramètres d'Affichage du Bureau :"
echo "Disques durs sur le bureau : $(defaults read com.apple.finder ShowHardDrivesOnDesktop 2>/dev/null || echo 'Non défini')"
echo "Disques externes sur le bureau : $(defaults read com.apple.finder ShowExternalHardDrivesOnDesktop 2>/dev/null || echo 'Non défini')"
echo "Supports amovibles sur le bureau : $(defaults read com.apple.finder ShowRemovableMediaOnDesktop 2>/dev/null || echo 'Non défini')"
echo ""
echo "Paramètres de Visibilité des Fichiers :"
echo "Afficher toutes les extensions : $(defaults read NSGlobalDomain AppleShowAllExtensions 2>/dev/null || echo 'Non défini')"
echo "Afficher les fichiers cachés : $(defaults read com.apple.finder AppleShowAllFiles 2>/dev/null || echo 'Non défini')"
echo "Dossiers en premier : $(defaults read com.apple.finder _FXSortFoldersFirst 2>/dev/null || echo 'Non défini')"
echo ""
echo "Paramètres d'Interface :"
echo "Barre d'état : $(defaults read com.apple.finder ShowStatusBar 2>/dev/null || echo 'Non définie')"
echo "Chemin dans le titre : $(defaults read com.apple.finder _FXShowPosixPathInTitle 2>/dev/null || echo 'Non défini')"
echo ""
echo "Paramètres de Sécurité :"
echo "Avertissement changement extension : $(defaults read com.apple.finder FXEnableExtensionChangeWarning 2>/dev/null || echo 'Non défini')"
echo "Avertissement suppression iCloud : $(defaults read com.apple.finder FXEnableRemoveFromICloudDriveWarning 2>/dev/null || echo 'Non défini')"
} > "$report_file"
echo "📊 Rapport de configuration sauvegardé dans : $report_file"
log_action "Rapport de configuration généré : $report_file"
}
# Restaurer à partir d'une sauvegarde
restore_from_backup() {
local backup_file="$1"
if [[ ! -f "$backup_file" ]]; then
echo "❌ Fichier de sauvegarde introuvable : $backup_file"
return 1
fi
echo "🔄 Restauration des paramètres Finder à partir de la sauvegarde..."
# Importer la sauvegarde
defaults import com.apple.finder "$backup_file"
if [ $? -eq 0 ]; then
echo "✅ Paramètres restaurés à partir de la sauvegarde"
killall Finder
log_action "Paramètres restaurés à partir de la sauvegarde : $backup_file"
else
echo "❌ Échec de la restauration à partir de la sauvegarde"
log_action "Erreur : Échec de la restauration à partir de la sauvegarde : $backup_file"
return 1
fi
}
# Réinitialiser aux valeurs par défaut
reset_to_defaults() {
echo "🔄 Réinitialisation du Finder aux paramètres par défaut..."
# Supprimer les paramètres personnalisés
defaults delete com.apple.finder ShowHardDrivesOnDesktop 2>/dev/null
defaults delete com.apple.finder ShowExternalHardDrivesOnDesktop 2>/dev/null
defaults delete com.apple.finder ShowRemovableMediaOnDesktop 2>/dev/null
defaults delete NSGlobalDomain AppleShowAllExtensions 2>/dev/null
defaults delete com.apple.finder AppleShowAllFiles 2>/dev/null
defaults delete com.apple.finder ShowStatusBar 2>/dev/null
defaults delete com.apple.finder _FXShowPosixPathInTitle 2>/dev/null
defaults delete com.apple.finder _FXSortFoldersFirst 2>/dev/null
defaults delete com.apple.finder FXEnableExtensionChangeWarning 2>/dev/null
defaults delete com.apple.finder FXEnableRemoveFromICloudDriveWarning 2>/dev/null
defaults delete com.apple.finder FXInfoPanesExpanded 2>/dev/null
killall Finder
echo "✅ Finder réinitialisé aux paramètres par défaut"
log_action "Finder réinitialisé aux paramètres par défaut"
}
# Fonction d'exécution principale
main() {
local action="${1:-deploy}"
log_action "=== Personnalisation Finder MacFleet Démarrée ==="
setup_directories
case "$action" in
"deploy")
backup_current_settings
apply_finder_configuration
verify_configuration
generate_report
;;
"verify")
verify_configuration
;;
"report")
generate_report
;;
"restore")
if [[ -n "$2" ]]; then
restore_from_backup "$2"
else
echo "❌ Veuillez spécifier le chemin du fichier de sauvegarde"
echo "Utilisation : $0 restore /chemin/vers/sauvegarde.plist"
exit 1
fi
;;
"reset")
backup_current_settings
reset_to_defaults
;;
*)
echo "Utilisation : $0 [deploy|verify|report|restore|reset]"
echo ""
echo "Commandes :"
echo " deploy - Appliquer la configuration Finder MacFleet (par défaut)"
echo " verify - Vérifier la configuration actuelle"
echo " report - Générer un rapport de configuration"
echo " restore - Restaurer à partir d'un fichier de sauvegarde"
echo " reset - Réinitialiser aux paramètres par défaut"
exit 1
;;
esac
log_action "=== Personnalisation Finder MacFleet Terminée ==="
}
# Exécuter la fonction principale
main "$@"
Référence de Configuration
Paramètre | Commande | Description |
---|---|---|
Disques durs sur le bureau | ShowHardDrivesOnDesktop | Afficher les disques internes sur le bureau |
Disques externes sur le bureau | ShowExternalHardDrivesOnDesktop | Afficher les disques externes sur le bureau |
Supports amovibles sur le bureau | ShowRemovableMediaOnDesktop | Afficher CD, DVD, iPod sur le bureau |
Afficher toutes les extensions | AppleShowAllExtensions | Afficher les extensions pour tous les fichiers |
Afficher les fichiers cachés | AppleShowAllFiles | Afficher les fichiers système normalement cachés |
Barre d'état | ShowStatusBar | Afficher le nombre d'éléments et l'espace disque |
Chemin dans le titre | _FXShowPosixPathInTitle | Afficher le chemin complet dans le titre |
Dossiers en premier | _FXSortFoldersFirst | Trier les dossiers avant les fichiers |
Avertissement extension | FXEnableExtensionChangeWarning | Avertir avant changement d'extensions |
Avertissement iCloud | FXEnableRemoveFromICloudDriveWarning | Avertir avant suppression iCloud |
Commandes de Référence Rapide
Activer Tous les Éléments du Bureau
# Afficher tous les éléments du bureau
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
killall Finder
Activer la Visibilité Complète
# Visibilité maximale des fichiers
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
defaults write com.apple.finder AppleShowAllFiles -bool true
defaults write com.apple.finder ShowStatusBar -bool true
killall Finder
Activer Tous les Avertissements de Sécurité
# Activer tous les avertissements de sécurité
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool true
defaults write com.apple.finder FXEnableRemoveFromICloudDriveWarning -bool true
killall Finder
Dépannage
Le Finder ne Redémarre Pas
# Forcer le redémarrage du Finder
sudo pkill -f Finder
sleep 2
open /System/Library/CoreServices/Finder.app
Les Paramètres ne s'Appliquent Pas
# Vider le cache du Finder et redémarrer
sudo rm -rf ~/Library/Caches/com.apple.finder
killall Finder
Vérifier que les Paramètres sont Appliqués
# Vérifier un paramètre spécifique
defaults read com.apple.finder ShowStatusBar
# Lister tous les paramètres du Finder
defaults read com.apple.finder
Considérations de Sécurité
- Les fichiers cachés contiennent des données système - modifiez avec précaution
- Les extensions de fichiers aident à identifier les types de fichiers - considérez les implications de sécurité
- Les éléments du bureau peuvent encombrer l'interface dans les environnements partagés
- Testez les changements sur des appareils individuels avant le déploiement de flotte
- Créez des sauvegardes avant d'appliquer les changements de configuration
Notes Importantes
- Les changements nécessitent un redémarrage du Finder pour prendre effet
- Certains paramètres s'appliquent à l'échelle du système (NSGlobalDomain)
- Les paramètres spécifiques à l'utilisateur n'affectent pas les autres comptes
- Des privilèges administrateur peuvent être requis pour le déploiement à l'échelle du système
- Sauvegardez les paramètres actuels avant d'apporter des modifications pour une restauration facile