%20%D0%BF%D0%BE%20%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80%D1%83%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0%2C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%B2%20%D0%BD%D0%B5%D0%BC%20%D0%B7%D0%B0%D0%BF%D1%83%D1%89%D0%B5%D0%BD%3F.png)
gnome-terminal может открывать много окон, а в одном окне может быть несколько вкладок.
Я хочу активировать одно окно gnome-terminal, на одной из вкладок которого запущен bash, поскольку CWD этого bash не позволяет нормально извлечь мой портативный диск.
Я обнаружил, что pid bash — 25938 с помощью lsof.
В моем примере я обнаружил 5 окон, 8 вкладок. Проблема в том, как выяснить, в каком окне 25938, с помощью cmd, конечно.
$ echo $$
24674
$ ps --ppid $(pgrep gnome-terminal)
PID TTY TIME CMD
6080 pts/0 00:00:00 bash
6742 pts/1 00:00:00 bash
20340 pts/5 00:00:00 bash
23354 pts/7 00:00:00 bash
24674 pts/8 00:00:00 bash
25938 pts/9 00:00:00 bash
30028 pts/12 00:00:00 bash
30492 pts/13 00:00:00 bash
$ wmctrl -lp | grep "$(pidof gnome-terminal-server)"
0x02800006 0 6070 bill me@bill: ~/m
0x0281016b 0 6070 bill me@bill: ~/c
0x02824e87 0 6070 bill me@bill: /c
0x02827a5d 0 6070 bill me@bill: ~/b
0x0282bc75 0 6070 bill me@bill: ~/a