টার্মিনাল কাঁটাচামচ প্রক্রিয়া করার সময়, বর্তমান অ্যাপ্লিকেশন ফোকাস হারায়


10

আমি টার্মিনালে কিছু প্রোগ্রাম চালিয়ে যাচ্ছি (বা আইটার্ম 2), যখন প্রোগ্রামটি প্রক্রিয়াটি কাঁটাচ্ছে, ওএস এক্স ডেস্কটপ বর্তমান অ্যাপ্লিকেশন থেকে ফোরক প্রক্রিয়াতে ফোকাস স্যুইচ করে। যখন এটি হয়, কাঁটাযুক্ত প্রক্রিয়া নামটি ওএস এক্স মেনু বারে দেখায়।

পূর্ণ পর্দা মোড ব্যবহার করার সময় এটি বিশেষত বিরক্তিকর কারণ এটি কাঁটাচামচ প্রক্রিয়াটি ফোকাস পাওয়ার পরে কর্মক্ষেত্রটি পরিবর্তনের কারণ হয়।

আমি কীভাবে এই ফোকাস স্যুইচটি ঘটতে বাধা দিতে পারি? এই টার্মিনাল প্রোগ্রামগুলি চালানোর সময় আমি অন্যান্য অ্যাপ্লিকেশনগুলিতে করছি এমন কাজকে বাধাগ্রস্ত করছে।


টার্মিনাল থেকে আপনি কোন প্রোগ্রামগুলি কল করছেন?
nohillside

ম্যাভেন। জাভা ইউনিট পরীক্ষা চালানোর জন্য মাভেন শিয়ারফায়ার প্লাগইন এই ফোরকড বুটার ক্লাসটি ব্যবহার করে যা সর্বদা টার্মিনাল থেকে দূরে থাকে
jdgilday

এটি কেবল
মাভেনই

এটি কি কেবল জাভা অ্যাপ্লিকেশনগুলির সাথেই ঘটতে পারে?
nohillside

সম্ভবত। যদি আমার কোনও পাল্টা উদাহরণ পাওয়া যায় তবে আমি পোস্ট করব
jdgilday

উত্তর:


5

আমার ক্ষেত্রে এটি ম্যাভেন ফেইলসেফ প্লাগইন ছিল যা ফোর্কবুটারের বিরক্তিকর উইন্ডো ফোকাস চুরি করেছিল, এবং JAVA_TOOL_OPTIONSভেরিয়েবলটি সেট করে .bashrcনি।

এই ফিক্সটি ফেল্সেফ এবং সুর্যফায়ার উভয়ের ক্ষেত্রেই প্রযোজ্য (যদিও আমার ক্ষেত্রে, শিয়ারফায়ার ফোকাস চুরি করছে না)।

আপনার মধ্যে pom.xml, ব্যর্থ সাফ (এবং / অথবা) নিশ্চিতফায়ার প্লাগইনের জন্য একটি <argLine>-Djava.awt.headless=true</argLine>লাইন যুক্ত করুন <configuration>

এটি দেখতে এটির মতো হবে:

<!-- 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

আপনি কি পটভূমিতে আপনার টার্মিনাল প্রোগ্রাম চালাতে পারেন? আমি বিশ্বাস করি এটি ডেস্কটপেও ফোকাসে আসা থেকে বিরত রাখবে। পটভূমিতে একটি প্রক্রিয়া চালানোর জন্য টার্মিনাল কমান্ডের শেষে '&' যুক্ত করুন।

সুতরাং যদি আপনার টার্মিনাল কমান্ডটি ছিল:

sh someprocess.sh

এটিকে পরিবর্তন করুন:

sh someprocess.sh &

টার্মিনালে একটি পটভূমি প্রক্রিয়াটি অগ্রভাগে আনতে কমান্ডটি ব্যবহার করুন:

FG

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.