xdotool работает мышкой

xdotool работает мышкой

Сообщение nezabudka » 02 ноя 2016, 19:44

У меня видюха под свободными дровами всегда ложилась ну и естественно
так как в лине ядро монолитное то и стопорило всю систему. Выход был
только один - кнопка резет, а на долгосрочную перспективу трэба установка
nvidia дров. Поставила новую федору и на удивление она под свободными
дровами переcтала уходить в клинч. Попробовала и в дебиан тестинг
не устанавливать закрытые дровишки. Создала раздел на диске,
установила систему и поставила на закачку торренты, что бы было что
посмотреть на работе вечером. Два торрента с сериалами примерно по 50
гигов каждый. Все было готово и исправно работало, я отвлеклась
и оставила комп без присмотра. По возвращении я поняла что проблема со
свободными дровами в дебиан ни куда не делась и мой комп завис наглухо.
Еще со школьной скамьи я уже умела пользоваться кнопкой reset. Не знаю
что за болезнь с моей видео картой но вот если не делать некоторое время
ни каких движений с клавы или мыши то она принепременнейше зависает и
стопорит всю систему так что нет возможности даже переключиться в консоль.
Как назло позвонила мама и срочно "предложила" придти к ней. Жалко было
время. Если уйду, комп зависнит и торренты останутся в первозданном
состоянии. Время же на установку проприетарных дров не было. Вспомнила
о тулзе xdotool и уходя побыстрому набросала в терминале.
Код: выделить все
while :; do xdotool mousemove $((RANDOM % 100)) $((RANDOM % 100)); sleep 1s; done

Запустила, мыша двигалась по небольшому участку в начале окна, но этого было достаточно.
Вернулась домой, система работает, сериалы на половину скачались. Решила
Покавырять свою строчку, что бы мыша хаотично двигалась по всему окну,
а не в квадрате 100 на 100 пикселей. Знаю что есть в шеле две глобальные
переменные $LINES и $COLUMNS определяющие размер терминального окна в
строчках и столбцах и если бы нужно было перемещать курсор, то через них
можно было это сделать проще всего.
Код: выделить все
while :; do tput cup $((RANDOM % COLUMNS)) $((RANDOM % LINES)); sleep 1s; done

Но я не была уверена на сто процентов что двигающий курсор в терминале
обладает теми же лечебными свойствами для драйвера графисекого адаптера.
И так как в иксах система координат несколько иная, линии и колонки
измеряются в пикселях, то пришлось искать другие механизмы определиния
геометрии окна. Какими же способами можно получить нужное без дополнительных
члено движений? Например так как это делается в xdotool что бы узнать позицию курсора.
Код: выделить все
eval $(xdotool getmouselocation --shell); echo $Y $X

Как добыть подобные переменные определяющие геометрию окна, а не курсора?
Что накопала:
Код: выделить все
xdotool getwindowgeometry $(xdotool getwindowfocus)

Выводит кучу ненужного. Потратив немного времени на чтение мануала
я все же нашла заветные переменные выполнив команду
Код: выделить все
eval echo $(xdotool getwindowgeometry --shell $(xdotool getwindowfocus))

Вывод меня очень порадовал, оказывается мои искомые переменные называются
$HEIGHT и $WIDTH. Собираем все в месте
Код: выделить все
while :; do eval $(xdotool getwindowgeometry --shell $(xdotool getwindowfocus)); \
xdotool mousemove $((RANDOM % WIDTH)) $((RANDOM % HEIGHT)); sleep 1s; done

Хоть и не червячок но уже похоже.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 3 месяца 5 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

xdotool работает мышкой

Спонсор

Спонсор
 

Re: xdotool работает мышкой

Сообщение nezabudka » 02 ноя 2016, 23:54

Ой, что то я нагородила. В каждом цикле заново определяю геометрию окна. Вот так правильнее будет
Код: выделить все
eval $(xdotool getwindowgeometry --shell $(xdotool getwindowfocus)); while :; do \
xdotool mousemove $((RANDOM % WIDTH)) $((RANDOM % HEIGHT)); sleep 1s; done
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 3 месяца 5 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

Re: xdotool работает мышкой

Сообщение Oleg65 » 03 ноя 2016, 18:34

Nvidia, как и MS - не спешит к OpenSources - костыли, типа Ваших, Nezabudka, есть место быть, причем - кто какой придумает.... Жаль... Хотя, радуюсь, что на AMD ( и процессор и видюха) - проблем таких нет...
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 851
Стаж: 3 года 6 месяцев 5 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 71 раз.
Поблагодарили: 205 раз.

Re: xdotool работает мышкой

Сообщение nezabudka » 03 ноя 2016, 19:22

Oleg65 Да вот когда покупала видеокарту некому было подсказать что аэмдэшная лучше
под свободные дрова. На форуме не догадалась, а в магазине бесполезно спрашивать было
у 18 летних специалистов. Смех да и только. У нас при входе в компьютерный отдел универмага
стоят шеренгой "менеджеры по продажам", как проститутки на панеле. Выбираешь кто тебе
понравился и проходишь выбирать вещь. Я обычно спрашиваю - "а всех посмотреть можно?" :D
Я уже установила нвидевские дрова с несвободного репозитория.
На дебиановской вики страничке это хорошо задокументированно. Правда для 8
но на мою 9 подошло. Интересно что на 25 федоре и возможно на 24 иксы перестали падать.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 3 месяца 5 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

Re: xdotool работает мышкой

Сообщение Oleg65 » 03 ноя 2016, 20:01

Ага, как у нас - решил поменять провайдера - ну, раз в неделю утром падает... Ну, заключил контракт - приходит молодой специалист... У Вас что? Линукс? Ищем как... Входим в Настройки - говорю: витая пара - ADSL ... Он мне - оптика - Ethernet... Смеюсь - вот провайдер, от которого хотел убежать, втыкаю шнурок - ADSL. Ладно - далее, через планшет устанавливает соединение... Соединение есть. Соединяюсь - работает.... Все классно: и соединение и статик IP, хоть сервер устанавливай!!!!! Далее - фиг соединишься с Ростелеком, ну, не знаю, что ощутил - остался на прежнем провайдере - пусть лучше предсказанно проваливаются, чем не возможность соединиться.
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 851
Стаж: 3 года 6 месяцев 5 дней
Откуда: г.Коломна Моск.обл.
Благодарил (а): 71 раз.
Поблагодарили: 205 раз.

Re: xdotool работает мышкой

Сообщение Olej » 06 ноя 2016, 22:54

nezabudka писал(а):

вот когда покупала видеокарту некому было подсказать что аэмдэшная лучше под свободные дрова.

А это - неправда.
Olej
 
Стаж: 48 лет 6 месяцев 22 дня

Re: xdotool работает мышкой

Сообщение nezabudka » 06 ноя 2016, 23:03

Olej Вполне допускаю. Потому что владельцев amd в разы меньше, а значит количество
проблемм связанных с ними будет так же на порядок меньше.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 3 месяца 5 дней
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.


Вернуться в Командная строка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1