터미널에서 새 Firefox 창을 닫으려면 어떻게합니까?


10

우분투 14.04에서 여러 개의 Firefox 인스턴스가 실행 중입니다. 터미널에서 가장 최근에 열린 창 / 인스턴스를 어떻게 닫을 수 있습니까?

관련 질문에 대한 답변에 정의 된 cfct 별칭을 사용해 보았지만 작동하지 않았습니다.


@chaos OP는 탭이 아닌 창을 의미한다고 가정합니다.
Jacob Vlijm

@JacobVlijm은 대답도 창을 닫고 유일한 해결책 인 것 같습니다. 파이어 폭스는 하나의 프로세스 만 실행하기 때문에 열려있는 창 수는 무차별 적이므로 해당 솔루션을 이중화해야합니다. killall firefoxSIGTERM전체 프로세스뿐만 아니라 윈도우가.
혼돈

@chaos 나는 동의하지 않는다. 아주 잘, 나는 집에 있지 않다. 나는 나의 휴식 시간에 답을 낼 수있을만큼 빠르다 :)
Jacob Vlijm

1
@chaos 중복은 질문 이 답이 아닌 동일 할 때를위한 것입니다. 일부 중복은 피할 수 없습니다.
Seth

cfct 란 무엇입니까? 검색은 주로이 질문을 반환합니다.
TRiG

답변:


13

id마지막 창 을 찾아서 작성하고 Firefox닫으 려면 명령을 작성 wmctrl하려면 다음을 설치 해야 합니다.

sudo apt-get install wmctrl

명령

그런 다음 명령을 사용하십시오.

wmctrl -ic "$(wmctrl -l | grep 'Mozilla Firefox' | tail -1 | awk '{ print $1 }')"


설명:

wmctrl -l

모든 창을 나열하지만 명령의 중요한 특성은 창 을 작성된 순서대로 나열한다는 것 입니다 .

따라서:

wmctrl -l | grep 'Mozilla Firefox' | tail -1 | awk '{ print $1 }'

의지:

  • 모든 창을 나열하십시오.

    wmctrl -l
    
  • 이름에 'Mozilla Firefox'가있는 항목 (줄)을 찾으십시오.

    grep 'Mozilla Firefox'
    
  • 마지막 것 (마지막으로 생성 된 것)을 찾으십시오.

    tail -1
    
  • 줄에서 첫 번째 문자열을 추출하십시오 (창 -id).

    awk '{ print $1 }'
    

명령 :

wmctrl -ic

그런 다음 가장 최근의 Firefox 창을 id (gracefuly)로 죽입니다.

또는 더 안정적인

물론 거의 모든 경우에 작동 위의 명령은,이 동안 이름 충돌의 작은 기회가, 예를 들어, 경우 다른 창에서 창 이름에 "모질라 파이어 폭스"로 존재하지만,하지 Firefox(여전히 가능성이 있지만,을).

무엇 "방수"작동해야하는 창 목록에서 창 (사용을 식별하는 것이다 wmctrl -lp의해) PIDfirefox대신 창 이름의 문자열 :

wmctrl -ic "$(wmctrl -lp | grep "$(pgrep firefox)" | tail -1 | awk '{ print $1 }')"

보시다시피이 명령에서

wmctrl -l | grep 'Mozilla Firefox'

'Mozilla Firefox'를 포함하는 라인을 생성하면 다음과 같이 대체됩니다.

wmctrl -lp | grep "$(pgrep firefox)"

(출력 파이어 폭스 등의 PID를 포함하는 라인의 제조 pgrep firefox)


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.