Size: a a a

2019 November 30

MZ

Maxim Zhdanov in NNLUG
Comedy Wildlife Photography 2019
источник

MZ

Maxim Zhdanov in NNLUG
источник

MZ

Maxim Zhdanov in NNLUG
источник

MZ

Maxim Zhdanov in NNLUG
источник

MZ

Maxim Zhdanov in NNLUG
источник

MZ

Maxim Zhdanov in NNLUG
источник
2019 December 01

AP

Artyom Poptsov in NNLUG
Вчера долго бился над занятной проблемой: пытался наладить блокировку заставки на AltLinux в Mate через вызов метода Inhibit в D-Bus.  Консольная команда выгляит так:
$ dbus org.mate.ScreenSaver /org/mate/ScreenSaver org.mate.ScreenSaver.Inhibit "$$" "None"

Команда выполнялась, возвращая так называемую cookie, однако заставка продолжала включаться через настроенный промежуток времени.  Вызов другого метода, GetInhibitors, показывал, что никаких приостановк заставки не было зарегистрировано.

При этом, вызов того же метода Inhibit в графическом qdbusviewer успешно блокировал заставку и по вызову метода GetInhibitors можно было видеть блокировки.

Проблема оказалась в том, что отмена блокировки в Mate ScreenSaver выполнялась либо через вызов метода UnInhibit, либо по завершению блокирующего приложения.  Т.е. когда qdbus вызывал метод Inhibit, он после этого сразу же завершался, и ScreenSaver автоматически удалял блокировку себя.

Эта информация была найдена после полутора часов проб и ошибок: https://github.com/mate-desktop/mate-screensaver/blob/master/doc/dbus-interface.xml#L91
источник

AP

Artyom Poptsov in NNLUG
источник

А

Алексей П in NNLUG
Artyom Poptsov
Вчера долго бился над занятной проблемой: пытался наладить блокировку заставки на AltLinux в Mate через вызов метода Inhibit в D-Bus.  Консольная команда выгляит так:
$ dbus org.mate.ScreenSaver /org/mate/ScreenSaver org.mate.ScreenSaver.Inhibit "$$" "None"

Команда выполнялась, возвращая так называемую cookie, однако заставка продолжала включаться через настроенный промежуток времени.  Вызов другого метода, GetInhibitors, показывал, что никаких приостановк заставки не было зарегистрировано.

При этом, вызов того же метода Inhibit в графическом qdbusviewer успешно блокировал заставку и по вызову метода GetInhibitors можно было видеть блокировки.

Проблема оказалась в том, что отмена блокировки в Mate ScreenSaver выполнялась либо через вызов метода UnInhibit, либо по завершению блокирующего приложения.  Т.е. когда qdbus вызывал метод Inhibit, он после этого сразу же завершался, и ScreenSaver автоматически удалял блокировку себя.

Эта информация была найдена после полутора часов проб и ошибок: https://github.com/mate-desktop/mate-screensaver/blob/master/doc/dbus-interface.xml#L91
"либо по завершению блокирующего приложения"👍👏👏👏
источник

А

Алексей П in NNLUG
дык и как было в итоге реализовано? Консольная команда и вечаня пауза потом?
источник

AP

Artyom Poptsov in NNLUG
Алексей П
дык и как было в итоге реализовано? Консольная команда и вечаня пауза потом?
Это не помогло.
источник

i

ivdok in NNLUG
А разве в реестре гнума нету опции отключить скринсейвер?
источник

AP

Artyom Poptsov in NNLUG
ivdok
А разве в реестре гнума нету опции отключить скринсейвер?
Это нужно было сделать временно.
источник

А

Алексей П in NNLUG
ivdok
А разве в реестре гнума нету опции отключить скринсейвер?
Тоже вспомнил про реестр, где я обычно переименовываю имена запускаемых модулей чтобы они не запускались :)
источник

i

ivdok in NNLUG
Artyom Poptsov
Это нужно было сделать временно.
Так может просто дёргать скриптом реестр на включение/выключение? Отрабатывает почти мгновенно вроде
источник

AP

Artyom Poptsov in NNLUG
Нужно было именно через D-Bus, как пример использования этой шины для автоматизации задач. ;-)  Вообще в интернетах встречал именно предложения делать так, как я пробовал -- вызывая методы Inhibit / UnInhibit консольной утилитой (dbus-send, qdbus, gdbus).  И затем жалобы, что это не работает.  Как оказалось, что могло работать программно (например, через Python) в длительно работающем приложении, не будет работать в единичном консольном вызове.

И да, если добавить sleep 1 после вызова qdbus в скрипте, то это не поможет, т.к. команда отправки сообщения уже завершится.

Можно использовать метод SimulateUserActivity, но его нужно вызывать периодически, чтобы отсрочить запуск заставки, как я понял.

В общем, вопрос уже решён тем, что взят другой пример использования D-Bus.
источник
2019 December 02

i

ivdok in NNLUG
Возможно вопрос немного не в кассу, но никто не разворачивал у себя на работе cBackup? Оно не может распарсить собственный конфиг на ubuntu/debian, а играть версиями центоси/джавы очень неохота.
источник
2019 December 03

A

Alex_5252 in NNLUG
@ivdok а почему например не rancid?
источник

S

Sergey in NNLUG
Не по-хипстерски это передовые скрипты использовать
источник

i

ivdok in NNLUG
Alex_5252
@ivdok а почему например не rancid?
А чем мне поможет панк-рок банда?
источник