2 votes

Utilisez Automator pour ouvrir l'application en tant que telle?

Je suis en train de chercher comment lancer une application (dans ce cas Discord) par défaut avec des commandes ajoutées, et pour cela j'ai décidé d'utiliser Automator pour créer une application qui exécute une commande shell. La commande en question est la suivante :

MKL_DEBUG_CPU_TYPE=5 /Applications/Discord.app/Contents/MacOS/Discord

J'ai mis cela sur Automator, dans l'action "Exécuter un script shell", enregistré en tant qu'application, et quand je mets l'application dans le Dock, lorsque je la lance, elle affiche deux icônes. Eh bien, la cause de cela est évidente, elle ne lance pas réellement l'application elle-même avec cette commande, ce qui est dans le dock est simplement une fenêtre de terminal un peu sophistiquée qui lance toujours l'application Discord avec cette commande.

Ma question est : Y a-t-il un moyen de faire en sorte que la commande ne montre pas deux icônes Discord, et que la fenêtre Discord s'ouvre d'elle-même ?

Aussi, en raison des barrières linguistiques et de la mauvaise communication, voici quelques captures d'écran qui illustrent ma question mieux que des mots ne pourraient le faire

L'application Automator, dans le Dock L'application Automator, dans le Dock Après avoir lancé le raccourci Automator, voici ce qui se passe Après avoir lancé le raccourci Automator, voici ce qui se passe C'est ce que je voudrais voir se produire C'est ce que je voudrais voir se produire

Édition : Je ne suis pas sûr que cela ait été clair pour vous, je n'en avais même pas conscience, mais il semble que MKL_DEBUG_CPU_TYPE=5 agisse comme une commande elle-même, qui exécute ensuite l'application mentionnée avec ses propres propriétés, ce n'est pas un paramètre de commande que Discord.app reconnaît

Édition 2 : Juste pour clarifier un peu plus les choses, lorsque je lance l'application Automator, elle ne montre pas le point blanc qui indique que l'application est en cours d'exécution, ni ne montre le nombre de notifications que l'application Discord d'origine affiche, et c'est ce que j'aimerais voir se produire avec l'application Automator, tout en masquant le véritable icône Discord du dock

0 votes

Utilisez une icône différente pour distinguer les deux choses ?

0 votes

@benwiggy C'est une possibilité, et en dernier recours je pourrais le faire, mais je préférerais avoir une seule application Discord qui hérite du logo et qui intègre simplement cette commande, Automator semble être la solution la plus proche que je pourrais obtenir à cela

0 votes

Quel est le but de la commande?

0voto

Tetsujin Points 95239

Doit-il être Automator ?

J'ai une application qui prendra des paramètres supplémentaires au lancement, ce que je fais en enregistrant un Applescript en tant qu'application autonome.

La configuration de base est

do shell script "\"/Applications/NomDeLApplication.app/Contents/MacOS/NomDeLApplication\" -param1 -param2 -param3"
quit

Éditer - Ah, en lisant plus attentivement, non, cela ne cache pas l'icône de mon Applescript pendant son exécution, et il ne se fermera pas tant que l'application lancée ne sera pas d'abord fermée... mais il ne serait pas confondu avec l'application elle-même.
Ce sont des processus parents/enfants donc seront affichés individuellement dans le Dock.

Vous pourriez peut-être le masquer comme cette question - Masquer une application en cours d'exécution depuis le Dock ?
...ce qui rend un peu inutile cette réponse ;-)

0voto

Wowfunhappy Points 6021

Au lieu de lancer l'exécutable de l'Application directement, utilisez la commande open sur le bundle de l'application. Par exemple :

open "/Applications/Discord.app"

0 votes

Salut, j'ai essayé ton conseil, mais ça n'a pas fonctionné, car il s'avère que MKL_DEBUG_CPU_TYPE=5 agit comme une commande codée en dur sur le terminal, un peu comme si tu faisais chmod, nano, tout ça, donc ce n'est pas un paramètre que Discord reconnaît, et faire "open MKL[...]" renvoie simplement une erreur disant "le fichier /users/[username]/MKL[...] n'existe pas"

0 votes

Je ne pense pas comprendre ce que vous faites. open est un programme BSD en ligne de commande comme les autres, y compris chmod, nano, etc. Il se trouve dans /usr/bin/open. Vous devriez pouvoir passer des arguments à l'application ouverte en les ajoutant à la fin, voir man open.

0 votes

Exactement, le point est que d'après mon expérience en jouant avec ce problème, il semble que MKL n'est pas un argument que Discord reconnaît, c'est une sorte de commande principale qui exécute Discord par elle-même. Honnêtement, je n'ai aucune idée de ce que c'est en pratique, mais l'effet est que open ne fonctionne pas bien dans cette situation

0voto

awy Points 500

Cette réponse ne fonctionne que si vous utilisez bash.

Étant donné que vous avez Terminal ouvert, comme nous le voyons dans la capture d'écran, le meilleur moyen est d'utiliser un alias. C'est la meilleure façon de le faire avec le moins de friction. Moi-même, j'ai ces alias :

entrer la description de l'image ici

  • Exécutez

    open ~/.bash_profile

    Ou utilisez cette réponse pour utiliser l'interface graphique : https://apple.stackexchange.com/a/371665/313842

  • Ajoutez une ligne parmi les autres alias :

    alias discordapp="MKL_DEBUG_CPU_TYPE=5 /Applications/Discord.app/Contents/MacOS/Discord"
  • Ensuite, exécutez l'une des commandes suivantes :

    source ~/.bash_profile
    . ~/.bash_profile

Le meilleur, c'est que vous bénéficiez également de l'autocomplétion. Tapez quelques lettres initiales de l'alias et appuyez sur la touche tabulation.

Vous pouvez également ajouter plus d'arguments à la commande. Par exemple, j'exécute ceci :

octaveg --force-gui

octaveg tel que défini ci-dessus.

0 votes

Hé, j'ai essayé votre suggestion, et cela semble avoir du sens, cependant lorsque je l'ai appliquée, j'ai exécuté "open ~/.bash_profile" et cela a généré une erreur en disant que cela n'existait pas, donc j'ai ajouté la ligne avec nano, et tout allait bien. J'ai essayé de faire ~/.bash_profile, et comme prévu cela n'a pas fonctionné car ce n'était pas exécutable, je l'ai modifié avec chmod, je l'ai exécuté avec sudo, et rien ne s'est passé. Ensuite, j'ai essayé de chercher discordapp sur spotlight, et j'ai également essayé simplement de faire discordapp dans le terminal, et les deux n'ont pas fonctionné, spotlight ne l'a pas trouvé et le terminal a dit que la commande n'était pas trouvée.

0 votes

@FranckTheMiner 1 Il y a plusieurs problèmes avec ce que vous avez fait. Si vous êtes sur Catalina, cela ne fonctionnera tout simplement pas car c'est pour bash et Catalina utilise zsh. Pouvez-vous vérifier à nouveau la date de création de .bash_profile dans /Users// en utilisant apple.stackexchange.com/a/371665/313842 cette réponse ? 2 vous n'êtes pas censé utiliser sudo pour tout ce que vous ne connaissez pas. 3 "ça n'a pas fonctionné car ce n'était pas exécutable avez-vous vu le .. ? "point" était la commande et ~/.bash_profile était l'argument. 4 Voir la réponse mise à jour.

0 votes

Désolé pour le retard de réponse, j'ai un peu oublié cela, mais je suis extrêmement confus car non seulement .bash_profile n'existait pas dans ce répertoire avant que je l'ajoute, mais je pense aussi que vos commandes pourraient être obsolètes, car lorsque je fais open ~/.bash_profile ça ne retourne rien, et il y a aussi tout le problème que zsh est défini par défaut au lieu de bash, et je n'arrive même pas à faire fonctionner bash quand j'essaie. De plus, j'ai utilisé sudo pour ce que j'ai fait car je sais qu'en théorie cela rafraîchit seulement la liste des alias de bash, donc il n'y a pas grand-chose qui pourrait mal se passer là...

0voto

FranckTheMiner Points 43

D'accord j'ai trouvé une solution de contournement et ça fait exactement ce que je voulais. Fondamentalement, vous allez dans le répertoire /Content/MacOS de l'application, trouvez l'exécutable principal (dans mon cas c'est Discord), renommez-le en quelque chose d'autre, comme Disicord ou ce que vous voulez. Ensuite, tapez sudo nano dans le même répertoire, et écrivez "MKL_DEBUG_CPU_TYPE=5 [CheminVersExecutable]/[NomExecutableActuelRenommé]", et voilà, vous lancez l'application avec ce mode et vous héritez à la fois de l'icône et des notifications

CEPENDANT, ATTENTION !!!! Cela semble poser une menace de sécurité quelque peu pertinente, car toutes les autorisations accordées par l'application sont attribuées à sh, et cela ne semble pas être une bonne idée, alors faites attention si vous faites cela

0 votes

"Cela semble poser une menace de sécurité plutôt pertinente, car toutes les autorisations soumises par l'application sont attribuées à sh Oh allez Apple, cela n'a aucun sens! La modification décrite dans cette réponse est une chose parfaitement normale pour un paquet d'application. Cette philosophie de greffer de nouveaux systèmes d'autorisations non-UNIX sur le dessus de UNIX standard est cassée."

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X