Как закрыть только одно окно приложения?

Я знаю, что если я получу sid через:

ps -ax | grep firefox

и использовать:

kill -9 "sid"

Я закрою все окна программы.

Как закрыть только одно окно приложения, запущенного через терминал?

1 ответ

Решение

Вероятно, самый простой вариант использует wmctrl -c, Возможно, вам придется сначала установить его:

~$ sudo apt-get install wmctrl

затем, чтобы закрыть окно с именем "example" (независимо от того, к какому приложению оно относится), используйте команду:

~$ wmctrl -c "example"

Больше вариантов

Тем не менее, есть много других вариантов, чтобы закрыть конкретное окно, в зависимости от вашего "угла падения".

Несколько примеров:

  1. Чтобы закрыть определенное окно, нажав на него:

    ~$ wmctrl -c :SELECT:
    [then click on the window to be closed]
    
  2. Чтобы закрыть конкретное окно по его числовому идентификатору:

    ~$ wmctrl -ic <numeric_id>
    
  3. Чтобы закрыть активное окно:

    ~$ wmctrl -c :ACTIVE:
    
  4. Чтобы использовать pid для получения списка окон, принадлежащих конкретному приложению (например, gedit):

    ~$ pidof gedit
    22576
    
    ~$ wmctrl -l -p | grep 22576
    0x04600085  0 22576  jacob-System-Product-Name get.sh (~/Bureaublad) - gedit
    0x0461aee4  0 22576  jacob-System-Product-Name verhaal (~/Bureaublad) - gedit
    0x0461b0a1  0 22576  jacob-System-Product-Name *Niet-opgeslagen document 1 - gedit
    

    затем закройте конкретное окно get.sh либо:

    wmctrl -c get.sh
    

    или же:

    wmctrl -ic 0x04600085
    
  5. Если вы знаете только часть названия окна, например, есть окно; monkey eats banana.txtвы знаете, это имеет banana во имя

    • сначала выведите окно вперед:

      wmctrl -a banana
      
    • затем решите, хотите ли вы закрыть окно (например, как активное окно)

Вариантов много, см. также man wmctrl. человек wmctrl

Другие вопросы по тегам