Как переключиться на уже запущенную программу с помощью терминала?
Например:
firefox
открывает новое окно Firefox.
Есть ли команда, которая будет фокусировать уже открытое окно Firefox?
command-line
Kunok
источник
источник
Ответы:
Как один лайнер
Предполагая, что у вас установлен wmctrl (запустите,
sudo apt-get install wmctrl
если нет):Команда:
Поднял бы последнее открытое
gedit
окно. Замените его любым другим приложением.объяснение
получает удовольствие от Gedit
перечисляет все окна и pid, к которому они принадлежат
разделяет идентификатор окна (первая строка в строке)
поэтому находит идентификатор окна последнего созданного окна
gedit
(выводwmctrl -lp
списка окон в хронологическом порядке создания, если приложение имеет несколько окон,tail -1
возвращает последнее).впоследствии поднимает окно своим
window-id
В небольшом сценарии
... для запуска с приложением в качестве аргумента:
switchto.sh
Запустите его как (например)
Альтернативы?
Теоретически команда:
должен делать (вроде) то же самое; в этом случае должно появиться первое найденное окно
gedit
.Это кажется менее надежным, однако. На моей системе (Unity) он вообще ничего не делал.
источник
Если вы запустили Firefox с помощью
firefox &
вы можете использовать,jobs
чтобы увидеть его номер. Чтобы вывести его на передний план, напишите,%n firefox
чтоn
означает его номер. Пример:Также вы можете «убить» программу:
источник