9 votes

Comment désactiver des ports USB individuels par script ?

Je suis à la recherche d'un script qui me permettra de désactiver un port USB spécifique sur mon Mac mini. Cela n'aurait d'utilité que si cela fonctionne en temps réel et ne nécessite pas de redémarrage. J'ai trouvé des script pour diverses distros Linux qui semblaient faire quelque chose de similaire - cependant, la plupart nécessitaient un redémarrage.

J'ai un éclairage d'ambiance derrière mon écran qui est alimenté par USB et qui ne s'éteint pas lorsque le système est en veille. Mon bureau est donc constamment éclairé, ce serait bien si je pouvais écrire un script qui désactiverait ce port USB spécifique.

Comment désactiver des ports USB individuels par script ?

2voto

Elliott Points 269

Avez-vous vu ce fil et le code ici ? Peut-être qu'un shell pourrait être utilisé pour renommer "manuellement" l'ID du périphérique ou le port en quelque chose de bizarre qui ne fonctionnera pas, lors d'un événement spécifique, puis le renommer en ce qu'il est censé être plus tard.

1 votes

Hey j'ai regardé le fil recommandé mais le code spécifié n'est plus disponible sur le site d'apple. Pourrais-tu le coller dans ta réponse si tu en as encore une copie ?

0 votes

J'ai trouvé le cache Google du code et j'ai modifié mon commentaire ci-dessus. J'espère que cela vous aidera - je ne sais pas si cela fonctionne ou non, ce n'était qu'une idée.

0 votes

Merci, je suis juste intéressé parce que je suis en train de parcourir des questions au hasard et après avoir lu la réponse ci-dessous, j'ai eu envie d'essayer votre solution moi-même.

0voto

Corey Edwards Points 917

Malheureusement, ce que vous demandez n'est possible avec aucune API OS X ou aucun hook AppleScript. C'est quelque chose qui est contrôlé par la couche matérielle de l'OS et implique beaucoup plus de travail que cela n'en vaut la peine. Bien que des scripts similaires existent pour Linux, vous devez garder à l'esprit que même si OS X et Linux sont des cousins éloignés, OS X n'a pas été construit pour un contrôle aussi fin de ses composants que Linux. Malheureusement, les seules options dont vous disposez dans ce cas sont de débrancher le périphérique ou de désactiver complètement l'interface USB. Cette dernière option, bien sûr, n'est pas réalisable pour vous, donc malheureusement, il n'y a pas de solution à ce problème. Désolé :(

Bonne chance et bon sommeil !

3 votes

Pouvez-vous citer une raison ou une documentation pour expliquer que "OS X n'a pas été conçu pour un contrôle aussi fin de ses composants que Linux" ? Il est certain que Linux et OSX sont des systèmes d'exploitation de type Unix et qu'ils ont le même contrôle sur les interfaces.

0 votes

Je pense que l'alimentation USB est contrôlée séparément du logiciel. J'ai temporairement supprimé tous les IOUSB*.kext, et alors que le trackpad et le clavier intégrés étaient morts, mon kindle se chargeait toujours. (L'iPhone ne l'a pas fait, mais il s'agit peut-être d'une bizarrerie d'Apple). Au fait, ne supprimez pas tous les fichiers IOUSB*.kext à moins d'avoir une bonne stratégie de récupération (ce macbook particulier a plusieurs partitions de démarrage, il sera donc facile à réparer).

0voto

Jose Chavez Points 645

Une autre façon d'aborder le problème pourrait être d'ajouter un hub USB au système et d'y connecter l'éclairage d'ambiance.

Certains concentrateurs USB permettent d'activer/désactiver des ports individuels à partir d'un logiciel - c'est ce qu'on appelle la "commutation d'alimentation groupée". De cette façon, vous pouvez contrôler l'éclairage à partir d'un script. Vous devrez cependant sélectionner un hub USB supporté.

J'ai utilisé cette méthode pour contrôler la puissance sous Linux - mais la même méthode pourrait aussi être utilisée sous Mac OS X. Le hub USB était très bon marché.

Vous pouvez trouver le code source pour contrôler l'alimentation du hub externe ici :

http://www.advistatech.com/software/hub-ctrl-20060120.c

Je ne sais pas s'il se construit avec libusb sous Mac OS X, mais c'est possible.

0 votes

La "commutation de l'alimentation par port" n'est-elle pas la possibilité de contrôler l'alimentation de chaque port, et la "commutation de l'alimentation groupée" la possibilité d'allumer ou d'éteindre tous les ports à la fois ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X