Alors, c'est curieux d'arriver à te connecter avec wpa_supplicant et pas avec wicd ou
Network manager. Quand une carte est bloquée, on peut la « rfkill unblock ».
Si elle est bloquait de manière hard, il faut appuyer sur le bouton adéquat.
Quelques fois c'est un peu alambiqué avant d'y arriver, mais ça devrait fonctionner.
Il y a longtemps que je n'ai pas touché à ces outils car je n'utilise pas d'ordi portable
et pas non plus le wifi. Mais ça avait fonctionné à l'époque où je m'étais servi des outils
wicd et rfkill.
En fait, comme je l'ai écrit plus haut, ces scripts bash je les fait en attendant de résoudre mon problème avec le service systemd rfkill_unblock_all.service qui ne fonctionne pas au boot, mais qui fonctionne pourtant bien si je le relance manuellement. L'utilisateur n'a pas de grande connaissance en ligne de commande, alors je pensais lui faire deux scripts cliquables qui sont exécutés dans le terminal. Je n'ai pas dit que je n'y arrivais pas avec wicd ou network-manager, plutôt que je sais bien utiser wpa_supplicant par habitude vu que j'avais passé la gestion de mon réseau sous systemd avec wpa_supplicant. Tout simplement je vais au plus simple pour moi avec mes connaissance. De plus, fut une époque où network-manager déconnait complètement sur ma machine.]]>
Quant à wicd ou Network manager, tant que la carte wifi est dans l'état bloqué, avec rfkill list, je ne vois pas comment les utiliser. Et comme je connais mieux wpa_supplicant, voilà.]]>
par contre je crois qu'il te faut écraser le fichier a chaque lancement du script sinon les lignes vont se rajouter a la suite et ça ne risque pas de fonctionner
mais si on écrase le fichier il faut le recréer avec toutes les lignes, sûrement avec cat et une redirection
voir dans le wiki
https://debian-facile.org/doc:systeme:c … le-en-root]]>
Dans la partie :
ajouter :
TON_USER ALL = NOPASSWD: /usr/bin/wpa_passphrase
pour voir ]]>
Dans le second, ça m'écrit 'wpa_passphrase $ssid $wpa dans le même fichier.
je comprend pas j'ai repris ton script , c'est toi qui écrit les infos dans le même fichier
avec le double chevrons tu inscris les infos a la suite du fichier , d’où l'option -a de la commande tee]]>
]]>
Peut-on voir la rédaction du service systemd rfkill_unblock_all ?
Bien sûr :
et wpa_supplicant@wlp7s0.service :
]]>
Hello
Essai#! /bin/bash
# this is declare that current user is a sudoer
#sudo tee /etc/sudoers.d/$USER <<END
#END
read -p "Entre le nom de la box : " ssid
read -p "Entre le mot de passe : " wpa
sudo sh -c 'wpa_passphrase $ssid $wpa >>/etc/wpa_supplicant/wpa_supplicant-wlp7s0.conf'
read
ou avec la commande tee (voir man tee)echo 'wpa_passphrase $ssid $wpa' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant-wlp7s0.conf
Ni l'un, ni l'autre ne le fait. Dans le premier cas, que ce soit en lançant le script depuis un terminal ou en cliquant sur le fichier, j'ai en fin de fichier wpa_supplicant_wlp7s0.conf ceci : usage: wpa_passphrase <ssid> [passphrase] car je pense que les variables $ssid et $wpa ne sont pas prises en compte à l'intérieur de sh -c '...'.
Dans le second, ça m'écrit 'wpa_passphrase $ssid $wpa dans le même fichier.]]>
]]>
Si j'exécute le script depuis le terminal via sudo, aucun problème. Mais lorsque je clique sur le script en le faisant exécuter dans un terminal, malgré le sudo en début de ligne, il me répond Permission non accordée pour écrire dans le fichier /etc/wpa_supplicant/wpa_supplicant-wlp7s0.conf
Ce ne sont pas les mêmes permissions.
sudo ./script porte sur bash.
sudo dans ton script porte sur wpa_supplcant.
Pour que ça marche, il faut ajouter wpa_supplicant dans le fichier sudoers, ou bien passer par su -c]]>