Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/06/2005, à 16:57

yremy

[peut-être idiot] Où sont les chemins vers les applications ?

Bonjour à tous !
J'adore Ubuntu. J'ai le son (m'enfin... ça demande à être revu) ma souris nous fait une crise d'acnée toute bien paramétrée, mon écran me dévoile des résolutions insoupçonnées, mon Mac me demande même plus de mot de passe pour faire monter des partages depuis Ubuntu (à mon avis, il est amoureux), mes gamins sont catastrophés quand je désinstalle le bureau en bricolant dans scrollkeeper (houla papa il a fait une grosse bêtise), et vivement dans dix ans que je puisse être aussi (b) à l'aise que vous l'êtes maintenant.
(je m'exprime ; je sais ça fait désordre dans un forum, mais que voulez-vous, je suis d'un naturel enthousiaste - et pas vraiment doué pour la synthèse - Soyez indulgents.)

Enfin la question : Tout à fait par hasard, allez savoir pourquoi, je me dis : tiens, j'aimerais bien ouvrir "squiral" dans une fenêtre, plutôt qu'il soit dispatché sur la totalité de mon écran par XScreenSaver. Je regarde la doc, et je vois :

OPTIONS
squiral accepts the following options:
       -window Draw on a newly-created window.  This is the default.
etc.

Bon, c'est cool, au sein de Xscrnsvr, je modifie la commande de squiral -root à
squiral -window : ében ça marche plus, tout comme la prévisualisation, d'ailleurs. Je me dis c'est pas grave, j'efface tous les machins qui se sont rajoutés après "squiral -root" et je tente d'utiliser le terminal. Je tape "squiral -window" et là il me dit (le terminal) :

bash: squiral: command not found

Peu importe, je recherche l'emplacement de l'executable, il est là,  /usr/lib/xscreensaver
Alors, je copie le fichier, je le rapatrie dans /home, et je double-clique dessus, là, c'est parfait, un fenêtre s'ouvre, et j'obtiens le résultat escompté.
Alors, je me dis, tiens, est-ce que ça ferait la même chose avec "pacman" ? (et oui, j'ai installé le jeu, et je vois que XScreenSaver en a un lui aussi, de "pacman"...)
je vais dans le terminal, et je tape "pacman" Miracle ! le jeu apparaît ! tongue
...Mais c'est pas celui là que je voulais (non non non). C'est l'autre. L'autre pacman, pas le premier (bon, j'arrête)
Alors, je re-copie le pacman XScreenSaver, le balance dans /home, double-clique, et vous connaissez la suite, j'imagine : l'économiseur d'écran s'ouvre dans une fenêtre. Y'a pas à dire, Linux, c'est magique.

...Sauf que quand je tape "pacman" dans le terminal maintenant, même au sein de /usr/games, et bien c'est l'économiseur qui s'ouvre. Et que quand je regarde la documentation de l'économiseur dans XScreenSaver, et bien c'est celle du jeu qui apparaît...
et en plus, maintenant, la commande "squiral", ében elle fonctionne, avec le terminal...
(et il n'y a plus d'executables dans mon /home)

...Vous voudriez bien me dire pourquoi ? (je vous promets que j'ai cherché !)
et : comment les fichiers sont-ils indexés - le sont-ils ?
où sont tous les chemins vers les fichiers ? qu'est-ce qui fait que quand on tape une commande depuis n'importe où, elle est comprise par le terminal ?
(bon, j'en garde pour la prochaine fois...) et Mille excuses pour le roman.
Aloha !
Yves

Hors ligne

#2 Le 21/06/2005, à 07:57

arno

Re : [peut-être idiot] Où sont les chemins vers les applications ?

Salut,

Je vais donner une première réponse courte pour que tu puisses creuser un peu dans tous les sens smile

Pour savoir quel binaire tu lances, utilises la commande "which".
Par exemple:

bash-2.03$ which bash
/usr/bin/bash

Ainsi tu auras le chemin complet du binaire lancé.

Comment le système sait-il qu'il doit aller chercher l'exécutable dans /usr/bin ?
Grâce à la variable d'environnement PATH

Pour voir le contenu de ta variable:

bash-2.03$ echo $PATH
/usr/bin:

Cette variable contient la liste des répertoires contenant les exécutables.

Bon, la je suis au boulot et le seul unix que j'ai à porter de main à un PATH assez... minimaliste. Je crois avoir vu, dans les sujets récents, une discussion sur les variables d'environnements...

Si tu bloques sur certaines choses, n'hésites pas à revenir poser des questions !


ibook G3 900Mhz 640Mo
Kubuntu / MacOSX

Hors ligne

#3 Le 21/06/2005, à 08:09

manal

Re : [peut-être idiot] Où sont les chemins vers les applications ?

En complément de arno, tu peux lancer un executable où qu'il soit à condition d'indiquer son chemin. Je m'explique : lorsqe tu tapes directement un nom de programme ("gedit" par exemple),  le bash (c'est à dire l'interpréteur de commande) va voir la variable PATH, comme l'a dit arno, pour savoir s'il se trouve dans l'un des répertoiresindiqués.
Par contre si tu souhaites executer un programme qui se trouve ailleurs (dans ton cas dans : "/usr/lib/xscreensaver/") et bien tu tapes (depuis n'importe quel répertoire :

/usr/lib/xscreensaver/squiral

Tu as indiqué au bash, dans cet exemple, où trouver l'executable.

J'espère être clair et bon courage


Libère ton esprit, et ton cul suivra

Hors ligne

#4 Le 21/06/2005, à 09:14

Tonio

Re : [peut-être idiot] Où sont les chemins vers les applications ?

de plus si tu veux éxécuter un fichier qui se trouve dans le répertoire ou tu es , tu rajoute ./ devant ce qui indique "répertoire courant".

/usr/lib/xscreensaver$ ./squiral

voila:)

SInon va lire : http://wiki.ubuntu-fr.org/traductions/learn_unix_in_10_minutes

Hors ligne

#5 Le 21/06/2005, à 13:49

yremy

Re : [peut-être idiot] Où sont les chemins vers les applications ?

Merci beaucoup, arno, manal, Tonio !

! C'était donc ça ce fameux ./ (je pensais que c'était une histoire de navigation dans les repertoires genre ../bloblo/truc.htm ) que je trouve dans certains fichiers de configuration ! quant au chemin complet, j'avoue que je me sens un peu con sur ce coup là...
Maintenant, concernant les variables d'environnement, j'ai découvert entre autres - mais je suis encore loin d'entrevoir le paysage complet - (merci encore)  :

ENVIRON(7)                 Linux Programmer’s Manual                ENVIRON(7)

NAME
       environ - user environment
.../...
SEE ALSO
       bash(1), csh(1),  login(1),  sh(1),  tcsh(1),  execve(2),  clearenv(3),
       exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(5)

Linux                             2001-12-14                        ENVIRON(7)

...bon, ben on va s'y mettre, hein ?

Le plus impressionnant, c'est de se demander comment intégrer toutes ces informations pour qu'elles deviennent des reflexes un jour...
M'enfin franchement, c'est le pied !

AstaLaVista !
Yves

Hors ligne