Пока я запускаю какую-то программу в Терминале (или iTerm2), когда программа разветвляет процесс, рабочий стол OS X переключает фокус с текущего приложения на разветвленный процесс. Когда это происходит, имя разветвленного процесса отображается в строке меню OS X.
Это особенно раздражает при использовании полноэкранного режима, так как вызывает изменение рабочей области, когда разветвленный процесс получает фокус.
Как я могу остановить это переключение фокуса? Эти терминальные программы прерывают работу, которую я выполняю в других приложениях, пока они работают.
macos
mountain-lion
terminal
fullscreen
iterm
jdgilday
источник
источник
Ответы:
В моем случае это был плагин Maven Failsafe, который вызвал раздражающую кражу фокуса окна ForkedBooter, и установка
JAVA_TOOL_OPTIONS
переменной в.bashrc
не помогла.Это исправление относится как к Failsafe, так и к Surefire (хотя в моем случае Surefire не фокусировался).
В вашем
pom.xml
, добавьте<argLine>-Djava.awt.headless=true</argLine>
строку внутри<configuration>
для безотказного (и / или) надежного плагина.Это будет выглядеть так:
источник
Как предположил @patrix, похоже, у меня проблема только с процессами Java.
Этот ответ в StackOverflow, кажется, решает проблему
источник
Можете ли вы запустить свою терминальную программу в фоновом режиме? Я считаю, что это не позволит сосредоточиться на настольном компьютере. Просто добавьте '&' в конец команды терминала, чтобы запустить процесс в фоновом режиме.
Итак, если ваша команда терминала:
измените это на:
Чтобы вывести фоновый процесс на передний план в терминале, используйте команду:
источник