Empêcher la détection automatique des périphériques USB et de la carte SD au démarrage de l'EeePC
Empêcher la détection automatique des périphériques USB et de la carte SD au démarrage de l'EeePC
Par Jice
Lorsque vous utilisez une carte SD ou une clef ou un disque dur USB comme second disque dur de l'EeePC, à chaque démarrage une fenêtre s'affiche pour vous demander avec quelle application vous désirez ouvrir le périphérique.
C'est la même fenêtre qui s'affiche lorsque vous insérez à chaud une carte SD ou un périphérique de stockage USB.
Nous allons voir ci-dessous comment supprimer cette fenêtre pendant la phase de démarrage, et la réactiver ensuite (car dans le deuxième cas on préfère voir cette boîte de dialogue).
Le programme qui s'occupe d'afficher cette boîte de dialogue se nomme /usr/bin/xandros_device_detection_dialog. Nous allons le renommer, et créer un nouveau programme du même nom qui ne lancera l'ancien que sous certaines condition (en l'occurence lorsque la machine a été démarrée depuis au moins 30 secondes).
Ouvrez une console (Ctrl+Alt+T) et faites :
> sudo -s # cd /usr/bin # mv xandros_device_detection_dialog xandros_device_detection_dialog.orig # kwrite xandros_device_detection_dialog
Dans la fenêtre de Kwrite, copiez/collez le script suivant :
#!/bin/sh # quitter le programme si la machine est démarrée depuis moins de 30 secondes if [ `cat /proc/uptime | cut -f1 -d.` -lt 30 ] ; then exit ; fi # lancer le programme original en lui passant tous les arguments avec lesquels on a été appelé exec xandros_device_detection_dialog.orig "$@"
Enregistrez, fermez KWrite.
Dans la console, rendez le nouveau script exécutable par la commande :
C'est terminé. Au prochain démarrage vous ne devriez pas avoir la boîte de dialogue. Vous pouvez tester tout de suite que si vous insérez une clef USB par exemple, elle s'affiche encore.
Note : si la boîte de dialogue s'affiche quand même, augmentez le nombre de secondes pendant lesquelles la désactiver (30 ci-dessus). Par exemple en mode avancé, 40 ou 50 peuvent mieux fonctionner.
Note : dans le nouveau script, le code suivant :
sert à prendre le contenu du fichier /proc/uptime, qui contient le nombre de secondes depuis le démarrage sous forme d'un nombre décimal (en fait il y en a deux), et à récupérer sa partie entière. Ensuite, on compare cette valeur à 30 avec l'opérateur -lt ("plus petit que", ou en anglais "less than"). Si la valeur est plus petite que 30 on quitte le script (commande exit), sinon (ligne suivante) on lance le programme original.
Note : je ne sais pas pourquoi, mais chez moi dès que je déplace /usr/bin/xandros_device_detection_dialog vers /usr/bin/xandros_device_detection_dialog.orig, il ne fonctionne plus (en le lançant directement dans un shell on peu voir qu'il fait une erreur de segmentation). Même en lui redonnant son nom original. J'ai donc démarré en mode sans echec afin de supprimer la copie de ce fichier qui se trouvait dans /mnt_user/usr/bin/, et j'ai renommé la copie originale dans /mnt-system/usr/bin/xandros_device_detection_dialog.orig. Attention en faisant ce genre de manipulations directement sur /mnt-system, vous ne pourrez plus revenir en arrière sur cette action par F9 au démarrage, car vous modifiez la configuration d'usine. Faites donc bien attention. (Par contre, vous pourrez toujours revenir à la configuration d'origine avec F9 pour toutes les autres modifications faites de manière normale, que ce soit avant ou après la modification manuelle).
Et pour la désactiver complètement ?
Dans ce cas rien de plus simple. Pas besoin de créer un script, car il suffit de rendre le programme original non exécutable :
Et pour la réactiver :
Source : Forum EeeUser
Dans le forum ils proposent le script suivant :
#!/bin/sh awk '$1 < 30 { exit 1 }' /proc/uptime && xandros_device_detection_dialog.orig "$@" &
Mais je préfère pouvoir lire ce que j'écris, et cela me paraissait compliqué.
Copyright
© 2008 Jean-Christophe Cardot
![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |