fichiers exécutables unix

Le
Thomas
bonjour :-)


je fais des logiciels avec interface graphique sommaire, qui deviennent
quand ils sont compilés des "fichiers exécutables unix" qui marchent
très bien si on les ouvre avec x11


avant la dernière fois où j'ai réinstallé mon système, quand je
compilais un logiciel, le logiciel avec lequel le finder voulait ouvrir
ce fichier était x11, et c'était très bien :-)

maintenant, plus moyen :-(
dans les infos c'est "aucun", et quand je clique dessus c'est le
terminal (qui ne veut pas ouvrir x11 dans la foulée)


est ce que qqn a une idée de ce qui peut influer là dessus ?

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
NicolasAlex.Michel.remove
Le #22166171
Thomas
bonjour :-)


je fais des logiciels avec interface graphique sommaire, qui deviennent
quand ils sont compilés des "fichiers exécutables unix" qui marchent
très bien si on les ouvre avec x11


avant la dernière fois où j'ai réinstallé mon système, quand je
compilais un logiciel, le logiciel avec lequel le finder voulait ouvrir
ce fichier était x11, et c'était très bien :-)

maintenant, plus moyen :-(
dans les infos c'est "aucun", et quand je clique dessus c'est le
terminal (qui ne veut pas ouvrir x11 dans la foulée)


est ce que qqn a une idée de ce qui peut influer là dessus ?



Au bol, il a les droits d'exécution ton truc ?
Et si tu lui assignes un type "APPL" via SetFile, ça donne quoi ?

Peut-être y a-t-il une option dans le makefile qui spécifie une
dépendance à X11 ?

En fait très franchement j'en sais rien, ça dépasse mes compétances.

--
Nicolas Michel
Patrick Stadelmann
Le #22166571
In article (Nicolas Michel) wrote:

Thomas
> bonjour :-)
>
>
> je fais des logiciels avec interface graphique sommaire, qui deviennent
> quand ils sont compilés des "fichiers exécutables unix" qui marchent
> très bien si on les ouvre avec x11
>
>
> avant la dernière fois où j'ai réinstallé mon système, quand je
> compilais un logiciel, le logiciel avec lequel le finder voulait ouvrir
> ce fichier était x11, et c'était très bien :-)
>
> maintenant, plus moyen :-(
> dans les infos c'est "aucun", et quand je clique dessus c'est le
> terminal (qui ne veut pas ouvrir x11 dans la foulée)
>
>
> est ce que qqn a une idée de ce qui peut influer là dessus ?

Au bol, il a les droits d'exécution ton truc ?
Et si tu lui assignes un type "APPL" via SetFile, ça donne quoi ?

Peut-être y a-t-il une option dans le makefile qui spécifie une
dépendance à X11 ?

En fait très franchement j'en sais rien, ça dépasse mes compétances.



Ici en 10.5.8 si je double clique sur xclock par exemple, ça lance le
Terminal et ça exécute "/usr/X11/bin/xclock; exit" ce qui ouvre X11 et
xclock.

Tu devrais pouvoir demander à ouvrir directement dans X11 en effectuant
l'association dans le Finder, vu qu'un "open -a X11 ..." fonctionne.

Patrick
--
Patrick Stadelmann
Thomas
Le #22207521
In article
Patrick Stadelmann
In article (Nicolas Michel) wrote:

> Thomas >
> > bonjour :-)
> >
> >
> > je fais des logiciels avec interface graphique sommaire, qui deviennent
> > quand ils sont compilés des "fichiers exécutables unix" qui marchent
> > très bien si on les ouvre avec x11
> >
> >
> > avant la dernière fois où j'ai réinstallé mon système, quand je
> > compilais un logiciel, le logiciel avec lequel le finder voulait ouvrir
> > ce fichier était x11, et c'était très bien :-)
> >
> > maintenant, plus moyen :-(
> > dans les infos c'est "aucun", et quand je clique dessus c'est le
> > terminal (qui ne veut pas ouvrir x11 dans la foulée)
> >
> >
> > est ce que qqn a une idée de ce qui peut influer là dessus ?
>
> Au bol, il a les droits d'exécution ton truc ?



oui, ça marche très bien si on fait "ouvrir avec" / "X11"

> Et si tu lui assignes un type "APPL" via SetFile, ça donne quoi ?



pas essayé, parce qu'on doit le refaire après chaque compilation, non ?

>
> Peut-être y a-t-il une option dans le makefile qui spécifie une
> dépendance à X11 ?



ah, tu veux dire que cette option n'aurais pas été mise ?

>
> En fait très franchement j'en sais rien, ça dépasse mes compétances.



ok, tant pis :-)
merci pour ton aide de doutes façons :-)


Ici en 10.5.8 si je double clique sur xclock par exemple, ça lance le
Terminal et ça exécute "/usr/X11/bin/xclock; exit" ce qui ouvre X11 et
xclock.



moi ça ouvre le Terminal aussi, mais ça fait une erreur si X11 n'est pas
ouvert d'avance
(ça marche si X11 est ouvert d'avance)

mais tant qu'à faire, autant ne pas passer par le Terminal


Tu devrais pouvoir demander à ouvrir directement dans X11 en effectuant
l'association dans le Finder, vu qu'un "open -a X11 ..." fonctionne.



il ne veut pas, je pense parce qu'il n'y a pas d'extension

il veut bien mais uniquement pour ce fichier, pas pour tout ceux du même
type, du coup on doit le refaire après chaque compilation


mais je viens de trouver comment mettre une extension aux exécutables
produits :-)
c'est laquelle, pour X11 ? :-)

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
NicolasAlex.Michel.remove
Le #22210101
Thomas
In article
Patrick Stadelmann
> In article > (Nicolas Michel) wrote:

> > Et si tu lui assignes un type "APPL" via SetFile, ça donne quoi ?

pas essayé, parce qu'on doit le refaire après chaque compilation, non ?



Tu mélange le diagnostique et le remède.
Ce test ne visait pas à résoudre ton problème mais à le comprendre.

Mais finalement il semblque que c'est pas la peine d'essayer, aaemsccl :

Je cite :
"The big change in Snow Leopard is that Launch Services no longer
references file creator metadata at all in its application binding
policy. There remains no way to assign or retrieve the bundle identifier
of the application that created a file, and launch services no longer
looks at the classic Mac OS creator code."

C'est beau, le progrès.

> > Peut-être y a-t-il une option dans le makefile qui spécifie une
> > dépendance à X11 ?

ah, tu veux dire que cette option n'aurais pas été mise ?



C'était une pure supposision, je ne sais pas comment tout ça fonctionne

il ne veut pas, je pense parce qu'il n'y a pas d'extension



J'ai un peu regadé la chose, c'est intéressant.

Je croyais que le type d'un fichier était définit en 3 points :
- Le type et creator
- L'extention du fichier
- une analyse du contennu tel que le fait la commande "file"
(cf man file)

Mais il semble que depuis Tiger, Apple a introduit le UTI pour
identifier un fichier. Honêtement, j'ai pas tout compris.

<http://developer.apple.com/mac/library/documentation/FileManagement/Con
ceptual/understanding_utis/understand_utis_intro/understand_utis_intro.h
tml>

A lire aussi :
<http://developer.apple.com/mac/library/documentation/Carbon/Conceptual/
LaunchServicesConcepts/LSCIntro/LSCIntro.html>

Test aussi les commandes file et mdls

il veut bien mais uniquement pour ce fichier, pas pour tout ceux du même
type, du coup on doit le refaire après chaque compilation


mais je viens de trouver comment mettre une extension aux exécutables
produits :-)
c'est laquelle, pour X11 ? :-)



ça j'ai pas trouvé
Habituellement les exécutables unix n'ont pas d'extention.

Merci de nous expliquer si tu trouves quelque chose :)

--
Nicolas Michel
Patrick Stadelmann
Le #22210201
In article (Nicolas Michel) wrote:

Mais finalement il semblque que c'est pas la peine d'essayer, aaemsccl :

Je cite :
"The big change in Snow Leopard is that Launch Services no longer
references file creator metadata at all in its application binding
policy. There remains no way to assign or retrieve the bundle identifier
of the application that created a file, and launch services no longer
looks at the classic Mac OS creator code."



C'est un changement voulu, qui change simplement le comportement par
défaut. Avant, un document s'ouvrait par défaut dans l'application qui
l'a créé, sauf si l'utilisateur en a décidé autrement. Le résultat est
qu'on ne sait pas à priori si un .jpg va lancer Aperçu ou Photoshop.

Maintenant, par défaut, c'est toujours la même application qui est
lancée, sauf si l'utilisateur a décidé que tel fichier doit s'ouvrir
avec une autre application. Finalement, c'est un progrès.

J'ai un peu regadé la chose, c'est intéressant.

Je croyais que le type d'un fichier était définit en 3 points :
- Le type et creator
- L'extention du fichier
- une analyse du contennu tel que le fait la commande "file"
(cf man file)



Je ne crois pas que les LaunchServices aient jamais utilisé la 3e
méthode.

Mais il semble que depuis Tiger, Apple a introduit le UTI pour
identifier un fichier. Honêtement, j'ai pas tout compris.



Ca ne change pas grand chose, le système se base toujours sur
l'extensions ou le type HFS pour attribuer un UTI à un fichier. Ce qui a
changé dans SL, c'est que le créateur HFS est maintenant ignoré alors
qu'il était prioritaire avant.

Pour en revenir au problème de Thomas, sous Mac OSX 10.5.8 si je compile
un "hello world" X11 avec :

gcc -L/usr/X11R6/lib -lX11 -o hello hello.c

le binaire ouvre X11 automatiquement, soit directement si lancé via
./hello dans le Terminal, ou via une fenêtre Terminal si ouvert dans le
Finder ou via la commande "open". Donc en principe, il n'y a rien à
faire de spécial.

Patrick
--
Patrick Stadelmann
Thomas
Le #22211071
In article
Thomas
In article
Patrick Stadelmann
> Ici en 10.5.8



je précise que je suis tjr en 10.4.11

> si je double clique sur xclock par exemple, ça lance le
> Terminal et ça exécute "/usr/X11/bin/xclock; exit" ce qui ouvre X11 et
> xclock.

moi ça ouvre le Terminal aussi, mais ça fait une erreur si X11 n'est pas
ouvert d'avance
(ça marche si X11 est ouvert d'avance)

mais tant qu'à faire, autant ne pas passer par le Terminal



petite erreur :
ce que j'ai dit c'est pour les prgms que je compile

mais /usr/X11R6/bin/xclock ça s'ouvre directement avec X11, sans passer
par le terminal,
comme mes prgms avant ma dernière réinstallation

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
NicolasAlex.Michel.remove
Le #22211061
Patrick Stadelmann
Finalement, c'est un progrès.



Ne serais-ce pas une question de point de vue ?

Je ne crois pas que les LaunchServices aient jamais utilisé la 3e
méthode.



Il me semble avoir lu une explication d'Eric à ce sujet il y a quelques
années. Mais retrouver l'info me semble difficile, "file" n'étant pas un
critère de recherche très performant.

Que faisait mac os x quand il n'y avait ni extension ni type/creator ?
N'y avait-il pas un "magic" ou un truc de ce genre ?

> Mais il semble que depuis Tiger, Apple a introduit le UTI pour
> identifier un fichier. Honêtement, j'ai pas tout compris.

Ca ne change pas grand chose, le système se base toujours sur
l'extensions ou le type HFS pour attribuer un UTI à un fichier. Ce qui a
changé dans SL, c'est que le créateur HFS est maintenant ignoré alors
qu'il était prioritaire avant.



Ce n'est pas ça qui me dérange.
Je n'aime pas l'obscurantisme.

La façon dont un fichier est perçu est tout de même une chose assez
basique. J'ai passé la matinée à lire des articles à ce sujet, je ne
sais toujours pas où sont stockées ces informations, ni comment.

la man page de mds fait 11 lignes pour te dire, en gros
"touches pas à ça petit con"

Il est vrais que jusqu'à aujourd'huis j'ai pas eu beaucoup de problèmes
avec ça, donc à prioris c'est pas gênant, mais sur le principe j'aime
avoir accès à ce qui se passe sur mon ordinateur. Le fait de rendre les
choses encore plus complexe pour revenir à ce qu'on faisait sur DOS il y
a 30 ans me laisse perplexe.

Pour en revenir au problème de Thomas, sous Mac OSX 10.5.8 si je compile
un "hello world" X11 avec :

gcc -L/usr/X11R6/lib -lX11 -o hello hello.c



Donc c'est une "linker option" de gcc qui fait le lien avec X11, c'est
ça ?



--
Nicolas Michel
Thomas
Le #22211151
In article (Nicolas Michel) wrote:

Thomas
> In article
> > Patrick Stadelmann >
> > In article > > (Nicolas Michel) wrote:

> > > Et si tu lui assignes un type "APPL" via SetFile, ça donne quoi ?
>
> pas essayé, parce qu'on doit le refaire après chaque compilation, non ?

Tu mélange le diagnostique et le remède.
Ce test ne visait pas à résoudre ton problème mais à le comprendre.



ah désolé,
ça me fait une application classic, qui "ne veut pas s'ouvrir sur ce
système"
GetFile n'existe pas, donc je ne sais pas comment connaître le type des
autres fichiers

>
>
> mais je viens de trouver comment mettre une extension aux exécutables
> produits :-)
> c'est laquelle, pour X11 ? :-)

ça j'ai pas trouvé
Habituellement les exécutables unix n'ont pas d'extention.

Merci de nous expliquer si tu trouves quelque chose :)



je sais qu'on peut mettre l'extension ".command" à un script, par
exemple, si on veut être sur que ça s'ouvre avec le Terminal

il y a probablement la même chose pour X11 :-)
(j'ai essayé ".x11", c'est pas ça)

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Jacques Perrocheau
Le #22211521
In article
Thomas
[snip]
ça me fait une application classic, qui "ne veut pas s'ouvrir sur ce
système".
GetFile n'existe pas, donc je ne sais pas comment connaître le type des
autres fichiers.



GetFileInfo pas GetFile

--
Jacques PERROCHEAU
CNRS UMR 6226
Université de Rennes 1, Campus de Beaulieu, 35042 RENNES Cedex, France
Patrick Stadelmann
Le #22211701
In article (Nicolas Michel) wrote:

Patrick Stadelmann
> Finalement, c'est un progrès.

Ne serais-ce pas une question de point de vue ?



Peut-être. Mais l'argument du fichier .jpg que tu reçois et qui ignore
ton choix par défaut et lance Photoshop au lien d'Aperçu, est
convaincant je trouve. La philosophie "par défaut avec l'application par
défaut" est quand même plus logique. Mais j'avoue qu'au début je pensais
comme toi que c'était plutôt une régression.

Que faisait mac os x quand il n'y avait ni extension ni type/creator ?
N'y avait-il pas un "magic" ou un truc de ce genre ?



Je ne crois pas. Si en 10.5.8 tu fais par exemple "cp -X test.jpg test",
"test" sera un fichier "plain text" pour le Finder. Si tu "chmod +x" ca
devient un exécutable Unix.

La façon dont un fichier est perçu est tout de même une chose assez
basique. J'ai passé la matinée à lire des articles à ce sujet, je ne
sais toujours pas où sont stockées ces informations, ni comment.



Le choix par défaut, dans la base des LaunchServices. Les choix
particuliers, dans la ressource 'usro' ID 0 qui contient le chemin vers
l'application choisie. Ca, ça pourrait clairement être amélioré.

A noter que la principale fonctionnalité perdue (un document enregistré
au un créateur s'ouvre dans l'application qui l'a créé) peut être
totalement récupérée si les applications sont prévues pour. En effet, le
changement d'association au cas par cas (que l'on fait à la main dans la
fenêtre d'infos du Finder) peut être effectuée par une application via
un AppleEvent.

Il est vrais que jusqu'à aujourd'huis j'ai pas eu beaucoup de problèmes
avec ça, donc à prioris c'est pas gênant, mais sur le principe j'aime
avoir accès à ce qui se passe sur mon ordinateur. Le fait de rendre les
choses encore plus complexe pour revenir à ce qu'on faisait sur DOS il y
a 30 ans me laisse perplexe.

Donc c'est une "linker option" de gcc qui fait le lien avec X11, c'est
ça ?



Oui, X11 doit être explicitement spécifiée, gcc ne l'inclut pas par
défaut. Bon, en fait c'est bêtement quand l'application initialise
l'environnement X que X11 est lancé automatiquement, rien de bien
sorcier là dedans !

Patrick
--
Patrick Stadelmann
Publicité
Poster une réponse
Anonyme