LINUX.ORG.RU
ФорумTalks

Как в bash получить список заголовков открытых окон?


0

0
Хочу, чтобы каждые 15 минут, при наличии некоторых характерных заголовков, типа «Последние сообщения» или «Последние 50 комментариев пользователя KRoN73», выдавался zenity --warning --text "Хватит страдать хернёй" :)
★★★★★
apt-get install wmctrl

wmctrl - control an EWMH/NetWM compatible X Window Manager
sdio ★★★★★
()
Ответ на: комментарий от kmeaw
>xwininfo -root -tree

Ага, то, что надо :)

KRoN73 ★★★★★
() автор топика
while /bin/true
do
	sleep 600
	netstat | grep -q 'linux\.org\.ru'
	if $?
	then
		zenity --warning --text "Хватит страдать хернёй"
	fi
done

:)
gaa ★★
()
Ответ на: комментарий от gaa
while /bin/true
do
	sleep 600
	netstat | grep -q 'linux\.org\.ru' && zenity --warning --text "Хватит страдать хернёй"

done


только как-то криво работает
lazyklimm ★★★★★
()
Ответ на: комментарий от INFOMAN
>на быстром инете шанс срабатывания невелик.

На 7.5Мегабитах почти нулевой. Коннекты к lor обнаружены не были :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от Adjkru
>while :

Етить. А я всю жизнь while[1] пишу :D

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от INFOMAN
и даже с полными путями на всякий случай можно
INFOMAN ★★★★★
()
Ответ на: комментарий от Adjkru
May 30 16:54:01 [cron] (balancer) CMD (/home/balancer/bin/check-hernya.sh) May 30 16:54:01 [cron] (balancer) MAIL (mailed 1085 bytes of output but got status 0x0001_) May 30 16:55:01 [cron] (root) CMD (/usr/local/bin/cron/1m) May 30 16:55:01 [cron] (balancer) CMD (/home/balancer/bin/check-hernya.sh) May 30 16:55:01 [cron] (balancer) MAIL (mailed 1085 bytes of output but got status 0x0001_)

Осталось найти, куда он mailed эти bytes :) У меня на десктопе никакой почтовой системы не развёрнуто, .mail* в домашних каталогах отсутствует, /var/spool/mail/ пуст... :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73
Вау!

May 30 16:58:02 [sSMTP] Unable to locate mail
May 30 16:58:02 [sSMTP] Cannot open mail:25

:)

Куда б теперь это засунуть...
KRoN73 ★★★★★
() автор топика
netstat -antc | grep '217.76.32.61:80'
sdio ★★★★★
()
Ответ на: комментарий от KRoN73
>zenity почему-то не вызывается из cron'а :-/ DISPLAY=:0 не помогает

в самом zenity есть опция --display, вот ее и надо использовать

o2inhal
()
Ответ на: комментарий от KRoN73
>Куда б теперь это засунуть...

Если cron при выполнении задания ничего не увидел в STDOUT и STDERR почту он не шлет.

Можно этого избежать если в crontab'e строчку с заданием закончить &>/dev/null, но переменной SHELL в crontab'e желательно присвоить значение bash, во избежание неожиданностей.

o2inhal
()
Ларчик просто открывался :)

xwininfo: unable to open display ''

Записал:

#!/bin/bash

export DISPLAY=:0

if [[ `xwininfo -root -tree|grep -P '"Последние сообщения"|"Последние 50 комментариев|"Форумы Balancer'|wc -l` > 0 ]]; then zenity --warning --text "Давай, работай!!!" fi

Теперь в логе пусто, но всё равно ничего не выводится :) (вариант /usr/bin/zenity и -display :0 пробовал).

При запуске вручную всё срабатывает. Даже когда запускается по ssh с другой машины.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от alex_custov
>списки доступа, или ты думал к иксам может кто угодно коннектиться ? :)

Ну... Не знаю, пока таких проблем не было :D

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от Zubok
А ты думаешь, откуда мне эта мысль в голову пришла? Именно оттуда :D Правда, я башорг читаю в гуглеридере :)
KRoN73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.