Terminal çatalları işlendiğinde, geçerli uygulama odağını kaybeder


10

Terminalde (veya iTerm2) bir program çalıştırırken, program işlemi çatalladığında, OS X masaüstü odağı geçerli uygulamadan çatallı sürece geçirir. Bu olduğunda, çatallı işlem adı OS X menü çubuğunda gösterilir.

Bu, tam ekran modu kullanılırken özellikle can sıkıcıdır, çünkü çatallı işlem odaklandığında çalışma alanının değişmesine neden olur.

Bu odak anahtarının olmasını nasıl durdurabilirim? Bu terminal programları, çalışırken diğer uygulamalarda yaptığım işi kesintiye uğratmaktadır.


Terminal'den hangi programları arıyorsunuz?
nohillside

Uzman. Java Unit testlerini çalıştırmak için Maven Surefire eklentisi, her zaman odaktan terminalden uzaklaşan bu ForkedBooter sınıfını kullanır
jdgilday

Sadece Maven değil, bu benim somut örneklerimden biri
jdgilday

Sadece Java uygulamalarında olabilir mi?
nohillside

Belki. Bir karşı örnek
bulursam, yayınlayacağım

Yanıtlar:


5

Benim durumumda, ForkedBooter'ın can sıkıcı pencere odak çalmasına neden olan ve JAVA_TOOL_OPTIONSDeğişken'i ayarlamak .bashrcyardımcı olmadı.

Bu düzeltme hem Hataya Dayanıklı hem de Surefire için geçerlidir (benim durumumda Surefire odak çalmıyordu).

Gözlerinde farklı pom.xmlbir ekleme <argLine>-Djava.awt.headless=true</argLine>iç çizgiyi <configuration>güzelliğinde eklenti hata korumalı için (ve / veya).

Bunun gibi görünecek:

<!-- this is inside your <project><build><plugins> block -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven.surefire.plugin.version}</version>
    <configuration>
      <includes>
        <include>**/unit/**/*Test*.java</include>
      </includes>
      <!-- prevent the annoying ForkedBooter process from stealing window 
        focus on Mac OS -->
      <argLine>-Djava.awt.headless=true</argLine>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>${maven.failsafe.plugin.version}</version>
    <configuration>
      <!-- prevent the annoying ForkedBooter process from stealing window 
        focus on Mac OS -->
      <argLine>-Djava.awt.headless=true</argLine>
      <includes>
        <include>**/integration/**/*Test*</include>
      </includes>
    </configuration>
    <executions>
      <execution>
        <goals>
          <goal>integration-test</goal>
          <goal>verify</goal>
        </goals>
      </execution>
    </executions>
  </plugin>


0

Terminal programınızı arka planda çalıştırabilir misiniz? Bunun masaüstüne de odaklanmasını engelleyeceğine inanıyorum. Arka planda bir işlem çalıştırmak için terminal komutunun sonuna '&' ekleyin.

Terminal komutunuz:

sh Instagram Hesabındaki Resim ve Videoları someprocess.sh

olarak değiştir:

sh Instagram Hesabındaki Resim ve Videoları someprocess.sh &

Terminalde bir arka plan işlemini ön plana getirmek için şu komutu kullanın:

fg

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.