Jump to content

script shell sous menu kde


Recommended Posts

Bonjour,

Je suis sous Mandriva 2006 et KDE.

Après avoir eu bien du mal à configurer la carte wi-fi de mon portable avec acer_acpi et ndiswrapper (merci broadcom :chinois: ), j'aimerais pouvoir activer très simplement le wi-fi sans passer par le terminal, donc je pensais créer deux entrées dans le menu kde avec des liens vers de petits scripts me permettant de lancer et d'arrêter rapidement mon wi-fi.

Après avoir créé deux petits scripts shells parfaitement fonctionnels en ligne de commande, je n'arrive pas à faire un lien correct depuis le menu kde.

Je ne sais déja pas si je dois appeler mes fichiers sans-fil.sh/fin.sh ou sans-fil/fin.

Je vous mets le contenu tout bête des scripts. Je précise que le premier script nécessite un passage en root.

sans-fil :

#! /bin/sh

echo "enabled : 1">/proc/acpi/acer/wireless

cd /etc/init.d/

./network restart

fin :

#! /bin/sh

echo "enabled : 0">/proc/acpi/acer/wireless

J'ai par ailleurs rajouté dans /etc/modprobe.preload acer_acpi qui me permet de lancer le module wi-fi au démarrage ce qui m'évite d'introduire modprobe acer_acpi dans le script "sans-fil".

Je précise encore que le wi-fi est parfaitement fonctionnel et que ça ne sert à rien de passer par Net Applet qui ne connectera pas wlan0 tant que les commandes citées dans sans-fil.sh ne sont pas passées.

Ma question est donc: Si mes scripts sont justes, que dois-je donner comme commande dans l'éditeur de menu KDE pour faire fonctionner ces scripts sachant que dans la case commande j'ai inscrit kdesu /usr/bin/sans-fil.sh (ou fin.sh) qui ne donne aucun résultat?

Link to comment
Share on other sites

Essaye déjà de faire un clic-droit sur ton bureau > nouveau > lien vers une application.

Tu choisis le nom et dans Application > Commande tu met l'adresse de ton script.

Si tu veux lancer le 1er script en root il va te falloir ajouter "kdesu" devant pour avoir une invite qui te demande le mot de passe (ou utiliser sudo, c'est mieux)

Link to comment
Share on other sites

Pour sudo, je n'y arrive pas, apparemment, ce n'est pas le même mot de passe que le mot de passe root et je ne connais pas le mot de passe qu'il me demande.

Donc j'ai modifié le premier script en ajoutant kdesu, ça me demande bien mon mot de passe avec une fenêtre kde. Donc, ça s'est déja un truc de fait.

Par contre, quand je lance les raccourcis bureau, il ne se passe rien du tout, ça ne fonctionne que manuellement dans un terminal.

J'ai pourtant bien essayé de faire ce que tu m'as dit en lui indiquant bien le bon chemin, même si ce n'est pas vraiment un raccourci-bureau qui m'intéresse. Enfin, je suppose que la méthode est la même pour le menu.

Pour information, j'ai l'extension .sh à mes deux fichiers (et même sans extension, le résultat est le même).

J'ai bien fait chmod +x pour les rendre exécutables.

C'est la première fois que j'essaie quelque chose du genre, donc je ne suis pas très doué. Si quelqu'un peut me dépanner, ce serait chouette, merci d'avance.

Link to comment
Share on other sites

Pour sudo, je n'y arrive pas, apparemment, ce n'est pas le même mot de passe que le mot de passe root et je ne connais pas le mot de passe qu'il me demande.

C'est celui de ton utilisateur tout simplement.

Mais tu peux mettre dans le sudoers qu'il ne le demande pas.

Link to comment
Share on other sites

Mais tu peux mettre dans le sudoers qu'il ne le demande pas.

Etant donné que je ne sais même pas ce qu'est le sudoers, je vais m'en tenir à kdesu. :francais:

Pour sudo, avec mon mot de passe utilisateur, je n'obtiens que relais brisé (pipe).

Link to comment
Share on other sites

oula... c'est pas un SAV non plus, il n'y a que des bénévoles ici :ouioui:

en fait c'est dans ton raccourci qu'il faut mettre "kdesu /chemin/vers/le/script" :craint:

Ce n'était pas dit méchamment, je te rassure, c'est juste que je suis frustré que personne ne s'intéresse à mon cas. :ouioui:

Donc, kde menu editor ---> kdesu /usr/bin/sans-fil.sh --> enregistrer.

dans sans-fil.sh:

---------------------------------------------------------------------

#! /bin/sh

echo "enabled : 1">/proc/acpi/acer/wireless

cd /etc/init.d/

./network restart

----------------------------------------------------------------------

Rien, aucune réaction. Même pas la demande de mot de passe (mais elle est peut-être encore en mémoire).

Link to comment
Share on other sites

Encore un qui veut réinventer la roue ?

Et si au lieu de réinventer la roue tu utilisais tout simplement net_applet fourni avec ta distro ?

Syteme > surveillance systeme > net applet

Merci de lire le début et de ne pas répondre de manière hautaine.

Ca n'a rien à voir avec net applet.

Le wi-fi n'est activable qu'en lançant modprobe acer_acpi et ensuite echo "enabled:1">/proc/acpi/acer/wireless.

J'aurai beau aller dans net applet si je ne lance pas ces commandes, cliquer 100X sur connecter wlan0 et rien ne se passera et il ne me détectera aucun réseau.

Or, j'ai intégré modprobe acer_acpi au démarrage (dans rc.local) mais comme je n'ai pas besoin du wi-fi tout le temps, et la connexion ethernet étant parfaitement gérée par netapplet, j'aimerais pouvoir activer et désactiver le wi-fi à ma guise très rapidement et je dois absolument pour cela passer par echo "enabled:1">/proc/acpi/acer/wireless pour l'activer et echo "enabled:0">/proc/acpi/acer/wireless pour le désactiver. Il n'y a pas de pilotes reconnus pour ma carte broadcom et c'est un détournement qui permet de la faire fonctionner. Tape broadcom 43xx dans google et tu comprendras ce que je veux dire.

Donc voilà, seulement je n'arrive pas à appeler les petits scripts que j'ai créé depuis des raccourcis menu ou bureau alors qu'ils marchent très bien en ligne de commande.

Link to comment
Share on other sites

Encore un qui veut réinventer la roue ?

Et si au lieu de réinventer la roue tu utilisais tout simplement net_applet fourni avec ta distro ?

Syteme > surveillance systeme > net applet

Merci de lire le début et de ne pas répondre de manière hautaine.

Ca n'a rien à voir avec net applet.

Le wi-fi n'est activable qu'en lançant modprobe acer_acpi et ensuite echo "enabled:1">/proc/acpi/acer/wireless.

J'aurai beau aller dans net applet si je ne lance pas ces commandes, cliquer 100X sur connecter wlan0 et rien ne se passera et il ne me détectera aucun réseau.

Or, j'ai intégré modprobe acer_acpi au démarrage (dans rc.local) mais comme je n'ai pas besoin du wi-fi tout le temps, et la connexion ethernet étant parfaitement gérée par netapplet, j'aimerais pouvoir activer et désactiver le wi-fi à ma guise très rapidement et je dois absolument pour cela passer par echo "enabled:1">/proc/acpi/acer/wireless pour l'activer et echo "enabled:0">/proc/acpi/acer/wireless pour le désactiver. Il n'y a pas de pilotes reconnus pour ma carte broadcom et c'est un détournement qui permet de la faire fonctionner. Tape broadcom 43xx dans google et tu comprendras ce que je veux dire.

Donc voilà, seulement je n'arrive pas à appeler les petits scripts que j'ai créé depuis des raccourcis menu ou bureau alors qu'ils marchent très bien en ligne de commande.

Alors le modprobe acer_acpi on le met pas dans le rc.local mais dans /etc/modprobe.preload qui est fait pour ça et ensuite net_apllet sait trés bien lancer ndiswrapper et les chipset broadcom marchent trés bien en utilisant les pilotes windows via ndiswrapper.

http://forum.hardware.fr/hardwarefr/OSAlte...jet-44336-1.htm

Il y'a une erreure dans le tuto un simple urpmi ndiswrapper suffit.

Pour sudo sous mandriva c'est pas compliqué en root visudo et ensuite tu ajoutes ton user

# User privilege specification
root	ALL=(ALL) ALL
user   ALL=(ALL) ALL

Où user est le nom de ton compte user.

Link to comment
Share on other sites

Merci plouf pour l'information sur modprobe mais, pour ce qui est de ndiswrapper, il est installé et fonctionnel.

Il faut savoir que je ne me plains pas vraiment, le wi-fi fonctionne tout à fait bien, je cherche simplement à automatiser une procédure contraignante, le but n'est pas de critiquer ma méthode mais de répondre simplement à ma requête qui ne doit pas être compliquée pour les utilisateurs aguerris.

Donc, pour recentrer, je demande la méthode pour lier mes scripts (fichiers .sh) au menu KDE.

Link to comment
Share on other sites

Merci plouf pour l'information sur modprobe mais, pour ce qui est de ndiswrapper, il est installé et fonctionnel.

Il faut savoir que je ne me plains pas vraiment, le wi-fi fonctionne tout à fait bien, je cherche simplement à automatiser une procédure contraignante, le but n'est pas de critiquer ma méthode mais de répondre simplement à ma requête qui ne doit pas être compliquée pour les utilisateurs aguerris.

Donc, pour recentrer, je demande la méthode pour lier mes scripts (fichiers .sh) au menu KDE.

cvs.mandriva.com tu mattes comment on fait une entrée de menu tu peux "packager" ton script c'est à dire en faire un rpm

extrait de http://cvs.mandriva.com/cgi-bin/cvsweb.cgi...x-cvsweb-markup

install -d %buildroot/%{_menudir}
cat <<EOF >%buildroot/%{_menudir}/%{name}
?package(%{name}):command="%{_gamesbindir}/%{name}" \
			  icon=%{name}.png \
			  needs="x11" \
			  section="More Applications/Games/Arcade" \
			  title="Ppracer"\
			  longtitle="%{summary}"
EOF

install -m644 %{SOURCE10} -D %buildroot/%{_miconsdir}/%{name}.png
install -m644 %{SOURCE11} -D %buildroot/%{_iconsdir}/%{name}.png
install -m644 %{SOURCE12} -D %buildroot/%{_liconsdir}/%{name}.png

si tu veux savoir à quoi coresponde les macros

[plouf@lapin ~]$ rpm --eval %_bindir
/usr/bin

Tu peux aussi regarder la doc de freedesktop ou google freedesktop menu-xdg

Link to comment
Share on other sites

ça marche, ton scripte, au moins, ou pas encore ?

Non, je n'ai pas encore vraiment eu de réponse, mais je n'osais pas le dire, pour ne pas encore me faire taper sur les doigts.

Les liens et conseils de plouf sont beaucoup trop compliqués pour moi.

Je ne suis qu'un pauvre petit débutant. :ouioui:

Link to comment
Share on other sites

Dans le raccourci vers ton script as tu cochés la case "Ouvrir dans un terminal" ?

:chinois:

Oui, elle est cochée mais il ne se passe rien, le terminal se referme aussi vite qu'il ne se lance sans que j'aie le temps de voir quoi que ce soit.

J'ai par ailleurs essayer de configurer sudo en tapant visudo en root mais j'obtiens :

[root@"mamachine" /]# visudo

vi: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory

visudo: sudoers file unchanged

Link to comment
Share on other sites

et pourquoi tu n'essayes pas de mettre

gksu "echo enabled : 0 > /proc/acpi/acer/wireless"

directement dans le champ commande de ton menu ?

Parce que personne ne me l'avait conseillé avant toi. :transpi:

Bon, sérieusement, cela ne fonctionne pas pour kde mais bien pour gnome, j'ai la petite LED orange de mon wi-fi qui s'active. Par contre, il faudrait y intégrer le network restart parce que sans ça, il ne trouve pas de réseau.

Autre chose, et je ne sais pas si je dois créer un topic pour ça ou si je peux continuer ici, c'est que j'ai l'icône net applet qui s'est fait la malle sous gnome alors que le programme tourne pourtant bien et que l'icône est bien présent dans KDE, et ça m'empêche de relancer les connexions via net applet pour terminer de lancer mon wi-fi.

Link to comment
Share on other sites

vi: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory
Installe libperl

C'est incroyable, c'est quoi ta distrib ? Tu n'as même pas un vi fonctionnel à la fin de l'install ?!

Sinon tu peux taper la commande suivante

EDITOR=nano visudo

Pour lancer un visudo dans nano (tu peux remplacer nano par autre chose, mais je te déconseille un truc graphique).

Link to comment
Share on other sites

vi: error while loading shared libraries: libperl.so: cannot open shared object file: No such file or directory
Installe libperl

C'est incroyable, c'est quoi ta distrib ? Tu n'as même pas un vi fonctionnel à la fin de l'install ?!

Sinon tu peux taper la commande suivante

EDITOR=nano visudo

Pour lancer un visudo dans nano (tu peux remplacer nano par autre chose, mais je te déconseille un truc graphique).

Je n'ai pas de paquetage appelé libperl ni vi disponible sur les mirroirs cooker. J'ai par contre bien perl installé.

En réalité, je ne suis pas sur l'installation d'origine, j'ai fait énormément de mises à jour et je suis notamment passé à la version cooker (2006.1). Ca y était peut-être d'origine donc.

Pour sudo, j'ai essayé de modifier avec emacs le fichier etc/sudoers mais j'ai peur de faire des bêtises parce que ça ne m'a pas l'air super simple, alors, je n'ai rien modifié pour finir.

Lorinc: Autant gksu fonctionne sous gnome, autant kdesu ne me donne aucune fenêtre de demande de mot de passe (ce qui devrait être le cas) et il ne se passe toujours rien.

Petit rappel: J'aimerais également savoir s'il est possible de récupérer mon icône net_applet (qui tourne malgré l'absence de l'icône) sous gnome, ça me permettrait de terminer de connecter mon wi-fi qui fonctionne bien et en un clic grâce au conseil de lorinc.

Link to comment
Share on other sites

Pour sudo, j'ai essayé de modifier avec emacs le fichier etc/sudoers mais j'ai peur de faire des bêtises parce que ça ne m'a pas l'air super simple, alors, je n'ai rien modifié pour finir.
# /etc/sudoers

#

# This file MUST be edited with the 'visudo' command as root.

#

# See the man page for details on how to write a sudoers file.

Avec nano ? (comme je l'ai suggéré plus haut...)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...