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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.