22 votes

Ouvrir une application en arrière-plan depuis le terminal

J'essaie d'ouvrir une application en arrière-plan à partir du Terminal en utilisant la fonction -g ou --background comme suit

open -g -a Franz

Malheureusement, l'application ne s'ouvre pas en arrière-plan. J'ai également essayé le j qui est censé cacher l'application, selon l'aide :

Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b <bundle identifier>] [-a <application>] [filenames] [--args arguments]
Help: Open opens files from a shell.
      By default, opens each file using the default application for that file.  
      If the file is in the form of a URL, the file will be opened as a URL.
Options: 
      -a                Opens with the specified application.
      -b                Opens with the specified application bundle identifier.
      -e                Opens with TextEdit.
      -t                Opens with default text editor.
      -f                Reads input from standard input and opens with TextEdit.
      -F  --fresh       Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
      -R, --reveal      Selects in the Finder instead of opening.
      -W, --wait-apps   Blocks until the used applications are closed (even if they were already running).
          --args        All remaining arguments are passed in argv to the application's main() function instead of opened.
      -n, --new         Open a new instance of the application even if one is already running.
      -j, --hide        Launches the app hidden.
      -g, --background  Does not bring the application to the foreground.
      -h, --header      Searches header file locations for headers matching the given filenames, and opens them.

L'application s'ouvre au premier plan comme si j'avais simplement appelé

open -a Franz

Une idée de la raison pour laquelle cela ne fonctionne pas et une alternative ?

0 votes

Je l'ai testé avec plusieurs applications sous MacOS 10.12.5 et cela fonctionne bien. Le problème est peut-être lié à l'application Franz.

1 votes

J'ai le même problème, où certaines applications ne respectent pas les drapeaux. Je peux ouvrir Messages en arrière-plan, mais en essayant d'ouvrir Books avec les mêmes drapeaux l'ouvre au premier plan. C'est ennuyeux que les applications d'Apple ne fonctionnent pas avec ça

1 votes

Pour les futurs lecteurs : les rapports contradictoires dans cette Q&R sont probablement dus à l'application ouverte. Par exemple, Google Chrome refuse de respecter l'une des deux applications suivantes -g ou -j (ou -gj d'ailleurs), mais Firefox et Safari fonctionnent parfaitement avec seulement -g .

17voto

Galuoises Points 314

Si vous appelez la commande open avec --hide, cela fonctionne (au moins dans Sierra MacOS). Par exemple

open -a /Applications/Skype.app --hide 

Aussi, le drapeau j aide un peu

open -gj -a /Applications/Skype.app

4 votes

Malheureusement, il semble que cette réponse ne fonctionne pas pour les versions plus récentes de MacOS, car Catalina

0 votes

Le deuxième a fonctionné sur la Catalina

0 votes

open -gj -a "Name of Application" fonctionne parfaitement

9voto

Sparkida Points 121

Au moment de la rédaction de cet article (10.14.3 Mojave), la réponse correcte est la suivante :

open -a /Applications/Skype.app -gj

Si vous le faites

man open

vous pouvez voir que

-g Ne pas faire passer l'application au premier plan.

-j Lance l'application cachée.

0 votes

Merci. Je ne suis pas encore sur Mojave, mais je le garderai en tête pour la mise à niveau.

0 votes

Ne fonctionne pas pour moi (10.14.6 Mojave)

0 votes

Cela ne répond pas vraiment à la question : ils essaient d'ouvrir l'application en arrière-plan, pas de manière cachée.

0voto

Scott Wilson Points 11

Vous devez spécifier le J avant le a

exemple : ouvrir -ja /Applications/Calendar.app

1 votes

L'OP indique très clairement que le drapeau -j ne fonctionne pas .

0 votes

C'est vrai, essentiellement il ne fonctionne qu'en combinaison avec la -g (--background) and -j (--hide) Flag

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