Question:
Pourquoi ne puis-je pas utiliser les bundles .app liés symboliquement dans / Applications par défaut dans la boîte de dialogue «Ouvrir avec»?
oyvindio
2011-02-04 16:03:35 UTC
view on stackexchange narkive permalink

J'ai installé emacs avec homebrew, avec l'indicateur --cocoa , ce qui permet à homebrew de créer un bundle .app dans / usr / local / Cellar / emacs / <version> / Emacs.app . J'ai lié symboliquement le bundle .app dans / Applications / , pour le rendre facile à ouvrir. Le problème est que lorsque j'essaie de définir des associations de fichiers pour des fichiers, je ne peux pas définir Emacs.app par défaut (le bouton Ajouter est grisé):

Unable to select open with emacs

Maintenant, je pourrais simplement copier ou déplacer le bundle .app dans / Applications / , mais cela me demanderait de le recopier à chaque fois qu'emacs est mis à jour via homebrew. Y a-t-il un autre moyen de résoudre ce problème?

Cinq réponses:
#1
+6
Jeff Putsch
2012-09-11 08:27:47 UTC
view on stackexchange narkive permalink

Je ne sais pas pourquoi, mais j'ai compris que si je crée le lien symbolique vers le répertoire Contents, alors les associations fonctionnent correctement.

C'est-à-dire que je fais ce qui suit dans une fenêtre de terminal, en utilisant mon dossier Applications personnel comme exemple:

 % mkdir ~ / Applications / Emacs.app% ln -s /usr/local/Cellar/emacs/23.2/Emacs.app/Contents ~ / Applications / Emacs.app  

Quelque chose à propos de l'insertion du lien symbolique dans Emacs.app permet de reconnaître le bundle.

#2
+4
Asmus
2011-02-04 18:22:51 UTC
view on stackexchange narkive permalink

Bizarre. Je viens d'installer emacs via brew et il a automatiquement mis à jour la boîte de dialogue «ouvrir avec» pour inclure Emacs.app; Mais vous devriez pouvoir faire ce qui suit: directement après avoir ouvert la boîte de dialogue «choisir une application», appuyez sur «/» pour obtenir un fenêtre "aller au dossier". Entrez le chemin suivant:

  / usr / local / Cellar / emacs /  

et de là, accédez à Emacs.app (dans la version actuelle, ce devrait être /usr/local/Cellar/emacs/23.2/Emacs.app) et sélectionnez-le comme application par défaut.

========

Pourriez-vous s'il vous plaît exécuter la commande suivante pour voir si Emacs est enregistré dans votre base de données LaunchServices?

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | grep Emacs

Je l'ai déjà suggéré. Mais cela ne fonctionnera plus quand emacs est mis à jour (la version est dans le chemin)
Cela fonctionne-t-il réellement si vous naviguez vers le chemin réel d'emacs? Êtes-vous sûr que seul le lien symbolique / alias ne fonctionne pas?
Oui, vous pouvez essayer ceci par exemple en créant un lien symbolique TextEdit: ln -s /Applications/TextEdit.app /Applications/Test.app - maintenant vous ne pouvez plus le sélectionner dans la boîte de dialogue "Choisir une application". Veuillez voir ma réponse originale ci-dessus pour une autre idée concernant LaunchServices.
Il semble que ce soit: http://pastie.org/pastes/1529411 (la cible du lien, au moins), avec quelques autres bundles Emacs.app que j'ai supprimés à un moment donné. Qu'est-ce que ça veut dire?
Cette commande LaunchServices que vous avez exécutée a montré toutes les variantes d'Emacs que votre Mac a «connues» au fil du temps, même si vous les avez supprimées. Vous pouvez soit reconstruire votre base de données LaunchServices, puis (après avoir ouvert Emacs pour la "première" fois), elle devrait devenir disponible immédiatement dans la boîte de dialogue "ouvrir avec" - mais cela pourrait laisser votre Mac oublier les autres affectations de fichiers personnalisées que vous avez effectuées temps. Ou vous pouvez essayer la première solution que j'ai (et Loïc) suggérée: assigner Emacs depuis / usr / local… dans la boîte de dialogue "ouvrir avec"
#3
+1
Loïc Wolff
2011-02-04 16:10:05 UTC
view on stackexchange narkive permalink

Si ce n'est pas quelque chose que vous faites souvent, vous pouvez naviguer jusqu'à l'endroit où se trouve réellement Emacs.app et l'attribuer à partir de là.

Avez-vous essayé de modifier le menu déroulant "Activer: Applications recommandées"? Je crois qu'il existe une option "Toutes les applications". Peut-être que celui-ci vous permettra de sélectionner votre alias.

Vous avez dit que vous avez créé un lien symbolique sur le .app. Avez-vous utilisé ln -s ? Si c'est le cas, avez-vous essayé d'utiliser un alias à la place?

-
Je ne connais pas très bien l ' homebrew , mais il semble que vous pouvez étendre homebrew avec commandes externes .

Essayez de voir si vous pouvez obtenir le fichier .app mis à jour et cp à / Applications .

Oui, j'ai utilisé `ln -s` de la ligne de commande. J'ai également essayé d'utiliser un alias, mais cela n'a pas fonctionné non plus. La sélection de "Toutes les applications" n'aide pas, car je peux déjà sélectionner Emacs.app, je ne peux pas cliquer sur "Ajouter". Je suppose que je pourrais accéder au "vrai" bundle Emacs.app, mais le fait est que le numéro de version fait partie du chemin, donc il changerait lorsque emacs est mis à jour ...
@oyvindio a ajouté une nouvelle idée
#4
+1
phabulosa
2011-11-21 14:48:54 UTC
view on stackexchange narkive permalink

Ma solution est de créer un lien symbolique de / usr / local / Cellar dans / Applications . Ensuite, vous pouvez trouver l'application emacs.app que vous devez utiliser avec la boîte de dialogue "Ouvrir avec" (dans /Applications/Cellar).

Vous pouvez également utiliser RCDefault (une application gratuite) pour configurer l'association d'extension de fichier.

#5
  0
Nik
2011-12-03 21:35:38 UTC
view on stackexchange narkive permalink

Les chemins d'accès exacts à vos applications ne devraient pas avoir d'importance. Une fois que vous avez ouvert l'application et que vous l'avez fermée une fois, elle devrait l'ajouter à votre base de données LaunchServices.

Essayez de reconstruire votre base de données LaunchServices en entrant la commande de terminal suivante:

  / System /Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/\LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain \ local -domain system -domain user  

Après avoir fait cela, ouvrez MacVim. Il devrait ensuite remplir les options Ouvrir avec ... Notez que MacVim ne s'associe pas automatiquement à de nombreux types de fichiers (contrairement, par exemple, à BBEdit, qui apparaît comme une option par défaut pour presque tous les types de fichiers), seuls les fichiers de type texte, code et html ont tendance à



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...