Открытый уже запускающая программа через терминал

Как я переключаюсь на уже под управлением программу с помощью терминала?

Для examaple:

firefox открывает новое окно Firefox.

Существует ли команда, которая сфокусирует уже открытое окно Firefox?

8
задан 5 July 2016 в 11:01

2 ответа

Как один - лайнер

Принятие Вас имеет установленный wmctrl (выполненный sudo apt-get install wmctrl если не):

Команда:

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

Повысил бы открытое последнее gedit окно. Замените его любым другим приложением.

Объяснение

pgrep gedit

получает pid gedit

wmctrl -lp

списки все окна и pid они принадлежат

awk '{ print $1 }'

отделяет окно - идентификатор (первая строка в строке)

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

поэтому находит идентификатор окна последнего созданного окна gedit (вывод wmctrl -lp перечисляет окна в хронологическом порядке создания, если приложение имеет несколько окон, tail -1 возвращает последний).

wmctrl -ia

впоследствии повышает окно window-id

В маленьком сценарии

... быть выполненным с приложением как аргумент:

#!/bin/bash

wmctrl -ia "$(wmctrl -lp | grep "$(pgrep "$1")" | tail -1 | awk '{ print $1 }')"
  • Сохраните его в пустой файл как switchto.sh
  • Сделайте это исполняемым файлом
  • Выполните его как (например).

    /path/to/switchto.sh firefox
    

Альтернативы?

Теоретически команда:

xdotool search --class gedit windowactivate

должен сделать (отчасти) то же; это должно повысить первое найденное окно gedit в этом случае.
Это кажется менее устойчивым как бы то ни было. В моей системе (Единица) это не сделало ничего вообще.

12
ответ дан 23 November 2019 в 05:32

Если у Вас есть runned использование Firefox firefox & можно использовать jobs видеть его число. Принести его к приоритетной записи %n firefox который n обозначает его число. Пример:

sabrina@ubuntu:~$ jobs
[1]+ Stopped      firefox
sabrina@ubuntu:~$ fg %1

Также можно "закрыть" программу:

sabrina@ubuntu:~$ kill %1
1
ответ дан 23 November 2019 в 05:32

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

Похожие вопросы: