Un peu de bricolage : comment verrouiller son pc avec un interrupteur à clé.
Hé oui, une fois n’est pas coutume, voici un billet après-midi bricolage !
Vous vous ennuyez ce week-end ? Vous n’avez pas d’idée cadeau originale pour votre copain/copine toujours sur son pc ? Vous avez du vieux matériel qui traine et vous voulez prouver aux autres qu’il peut encore servir ?
Montez donc un interrupteur à clé sur votre pc pour verrouiller et déverrouiller l’écran de veille !
Attention ! Si vous faites une erreur de manipulation, ça pourrait conduire à la mort de votre port ! Le risque est très très faible, mais on ne sait jamais. Tant que vous vous ne faite pas autre chose que mettre un fil sur la broche 11 tout devrait aller. De plus, et surtout, ce montage est tout sauf sécurisé, il suffit d’un trombone pour le contourner ! Le but du billet est seulement à caractère informatif/démonstratif/distractif. Si vous vous en servez pour protéger le pc qui fournir l’accès au coffre de la banque où vous travaillez vous ne vous en prendrez qu’à vous-même. Remarquons que dans la plupart des cas, un accès à la machine est déjà problématique question sécurité ;).
C’est donc quelque chose qui ne servira jamais à sécuriser correctement votre PC, bien au contraire ! Faites attention !
Voilà, fin du paragraphe qui fait peur, passons maintenant à l’aspect pratique de la chose. Il vous faut :
- Un PC sous linux. Cela fonctionnera avec la majorité des distributions, j’ai testé avec Archlinux et Ubuntu.
- Un environnement GNOME. Si vous êtes sous KDE et que vous avez quelques notions de programmation/connaissances écran-de-veilleiques, le code source est à la fin du billet, votre adaptation est la bienvenue !
- Un port parallèle. C’est des vieux trucs assez gros pleins de trous, dont on se sert(servait ?) notamment pour les imprimantes. Cf. la photo.
- Un câble d’imprimante, parallèle (un USB ça rentre pas étonnamment). Cf aussi la photo. Les prises n’ont pas trop d’importance, tant qu’une se connecte au port de votre pc et que sur l’autre vous voyez des petits numéros. Cf. Photo.
- Un interrupteur à clé. Ba oui, c’est logique. Vous pouvez en trouver un peut près n’importe où et pour pas cher, google est votre ami. Cf. Photo.
- Une boite en carton. Personnellement j’ai pris une boite de biscuit (mea culpa pour la publicité), l’important c’est que le tout rentre dedans.
- Des fils. Si vous en avez pas, prenez une nappe IDE, coupez les deux bouts et séparez délicatement les fils.
- Une soudeuse OU du scotch. Beaucoup de scotch.
Quand vos deux fils semblent tenir, il s’agit de les relier à la prise de votre câble pour imprimante. Vous devez relier un fil à la masse (le métal qui entoure votre prise (préférable) ou le trou/la broche numéroté 25) et l’autre au trou/la broche n°11. Pour repérer les broches/trous, c’est facile, normalement il y a des petits numéros visibles en lumière rase, il vous suffit après de compter. Si par exemple il y a un 1 en haut à gauche (et généralement c’est le cas), vous prenez la première ligne et vous comptez jusqu’à 11. Ensuite, vous vous arrangez pour coincer le fil et vous scotchez, ou vous soudez. L’important, c’est que ça ne touche pas les autres trous/broches, que ça tienne et que ça fasse contacte (ne lésinez pas sur le scotch).
Ensuite, il vous faut monter le tout dans votre boite pour que ce soit joli, je vous laisse vous débrouiller c’est normalement facile à faire. Essayez juste de ne pas tout arracher :).
Normalement vous devriez arriver à ça :
Ça donne tout de suite confiance pour protéger son pc hein !
Branchez maintenant votre montage. Si ça ne fait pas Poum/de la fumée violette/un kernel panic/léviter votre pc c’est bon, sinon voir plus haut, ce n’est pas de ma faute ;).Il s’agit maintenant de faire quelque chose quand la clé est activée ou pas. J’ai donc vite fait un petit programme en C qui va regarder dans quelle position est la clé et s’il y a eu changement désactiver/activer l’écran de veille.
Pour ‘installer’ le programme, il faut faire comme suit :
- Téléchargez le programme que vous trouverez ici (touche droite/enregistrer sous, wget, etc.). (Vous pouvez aussi le compiler, la source et la commande sont plus bas)
- Ouvrez une console, rendez-vous dans le dossier où vous l’avez téléchargé
- Tapez la commande suivante : sudo chown root screenkey (change l’utilisateur à root)
- Tapez la commande suivante : sudo chmod +x screenkey (permet l’exécution du programme)
- Tapez la commande suivante : sudo chmod u+x screenkey (permet l’exécution du programme avec les droits root (nécessaire pour l’accès au port parallèle !))
- Lancez le programme avec la commande ./screenkey. Si l’écran de veille s’active c’est bon signe, si vous tournez la clé pour le désactiver ou l’activer et qu’il ne se passe rien c’est moins bon signe. (Vous pouvez quand même désactiver l’écran à la main !). Si ça marche, bein voilà !
Vous pouvez lancer la commande au démarrage avec d’autres commandes au démarrage si vous voulez garder le système en place, Système/Préférences/Sessions (sous gnome), et tapez le chemin complet (avec screenkey) vers le fichier !
Voila ! La source du programme est ici ! (Pour le compiler faut les outils (build-essential sous ubuntu), et se servir de la commande gcc -o screenkey screenkey.c -O. C’est fou ce qu’on peut faire quand on s’ennuie hein ?
Comments
Salut, J’ai trouvé ton programme, ce serait nickel pour moi car je cherche un moyen d’avancer dans une playlist avec un simple bouton.Néanmoins, j’ai des petits soucis de compilation:
sudo gcc -o screenkey screenkey.c -O screenkey.c:24:16: erreur: io.h : Aucun fichier ou dossier de ce type screenkey.c: Dans la fonction «main» : screenkey.c:48: attention : incompatible implicit declaration of built-in function «exit»
Et avec : sudo gcc -o screenkey screenkey.c -O -I/usr/include/sys Dans le fichier inclus à partir de /usr/include/sys/unistd.h:1, à partir de /usr/include/sys/unistd.h:1, à partir de /usr/include/sys/unistd.h:1, … à partir de screenkey.c:21: /usr/include/sys/unistd.h:1:20: erreur: #include imbriqué trop profondément screenkey.c: Dans la fonction «main» : screenkey.c:48: attention : incompatible implicit declaration of built-in function «exit»
Petits soucis, donc !
yvecai, 2008-06-29 15:56:23
Il faut du scotch, beaucoup de scotch…. Hmmmmm…. J’ai jamais tenté de boire plein de scotch en travaillant, je vais essayer pour voir si je suis bourré… Je te tiendrai au courant….
DecIRC, 2007-12-09 20:00:55
Pas mal!
Pour rendre ton code porté sous KDE, tu peux utiliser /usr/bin/xscreensaver comme commande externe.
D’autre part, tu pourrais être intéressé par une adresse : Si tu as le bluetooth et un téléphone bluetooth, tu peux t’amuser à faire un truc similaire qui fait que lorsque tu t’éloignes de ton pc, ton écran se verrouille et lorsque tu reviens, il se déverrouille.
http://gentoo-wiki.com/TIP_Bluetooth_Proximity_Monitor
Christophe-Marie Duquesne, 2007-12-09 20:37:27
“Si tu as le bluetooth et un téléphone bluetooth, tu peux t’amuser à faire un truc similaire qui fait que lorsque tu t’éloignes de ton pc, ton écran se verrouille et lorsque tu reviens, il se déverrouille.”
J’y ai pensé (notamenent pour l’authentification), mais ça consomme trop la batterie de mon portable…
The_Glu, 2007-12-09 20:48:32
«Remarquons que dans la plupart des cas, un accès à la machine est déjà problématique question sécurité ;).»
Mouarf, je m’esclaffe.
Ayant travaillé dans une autre vie dans des grosses boites (ministère, automobile, aviation, …) les codes accès étaient tout sauf sécurisés salles de serveurs 0000 ou 1234, …, les postes utilisateurs le log nom + . + prénom de l’utilisateur, le MdP Nom ou Prénom + n° du mois. Le pire ministère des finances (Bercy) post it autour de l’écran ou écrit au crayon à papier toujours autour de l’écran, j’en passe, :-) ;-)
Fulcanelli, 2007-12-10 09:10:07
@Fulcanelli: Tu fais peur là …
Sinon sympa le coup de l’interrupteur :)
Motarion, 2007-12-10 10:29:14
Ups … Problème dans le lien de mon site web, serait il possible de le modifier en http://blog.motarion.net dans mon dernier commentaire ?
Merci :)
Fait.
Motarion, 2007-12-10 10:36:14
J’avoue rester sans voix devant tant d’ingéniosité…
ca marche avec une boite de Mikado ou pas ? ^^
TeeWee, 2007-12-08 22:10:03
À voir /usr/include/sys/unistd.h s’inclu lui même en boucle.. Pourquoi ? Je sais pas, je suis pas expert en C… essaie de voir sur google ;)
The_Glu, 2008-06-29 16:00:23
[…] y a aussi la technique de l’interrupteur à clé dans une boite de biscuit que je vous avais déjà présenté. Malheureusement j’ai plus de port imprimante sur mon pc et c’est aussi sécurisé […]
TheGlu’s Blog » Dévérouiller son pc avec son téléphone portable grâce à un qrcode (sisi), 2008-08-31 15:49:43
En fait, j’ai tout simplement commenté //#include et çà marche.
Donc, j’ai soudé un petit bouton poussoir sur le port //, remplacé la commande d’activation de l’économiseur par “mpc next” pour avancer dans la playlist de mpd, et la commande de désactivation par NULL. Résultat: je peux scroller la playlist de mon PC alors que j’ai perdu la télécommande ! Génial !
Petit raffinement: avec sleep(1), ça ne marche pas, mais sans sleep du tout le petit PIII qui me sert de juke-box chauffe énormément ! Apparemment usleep(100) pour 100ms fonctionne bien: 2% de proc utilisé, et l’anti-rebond pour le bouton-poussoir est efficace.
Merci pour tout, ton programme m’a sauvé la vie !
yvecai, 2008-06-30 21:59:14