naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
tchgefestНе вводите человека в заблуждение.. вы запускаете notify-send от пользователя, а он от рута. Разница есть проверить можно подключившись к себе по ssh: ssh root@127.0.0.1 |
lampslave |
|
Темы:
32
Сообщения:
4801
Участник с: 05 июля 2011
|
По ssh надо DISPLAY и XAUTHORITY ещё. |
tchgefest |
|
Темы:
51
Сообщения:
1505
Участник с: 20 октября 2008
|
naszarА где написано что ему надо от рута.tchgefestНе вводите человека в заблуждение.. вы запускаете notify-send от пользователя, а он от рута. Разница есть проверить можно подключившись к себе по ssh: Ему нужно Нужно что-бы при запуске, а потом каждые 30 минут,
Последний крик моды - эхо 30-летней давности.
|
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
lampslaveНе совсем там этому notify-send еще dbus нада.. у меня почемуто от рута вообще не вышло запустить, только sudo к пользователю помогло. Ой соррюшки... работает... tchgefest gedit /etc/systemd/system/myscript.timerОне таймер от системы запускает, а не от пользователя. С кроном от пользователя бы уже все работало. Но ТС выбрал путь через systemd lampslave, еще раз извиняюсь. Работает так DISPLAY=":0.0" XAUTHORITY="/home/<user>/.Xauthority" notify-send -u low -t 60000 -i /usr/share/icons/Faience/apps/96/gnome-unknown.png "Привет" |
tchgefest |
|
Темы:
51
Сообщения:
1505
Участник с: 20 октября 2008
|
naszar Да что-ж вы так невнимательны?был бы очень благодарен за любое готовое решение, ибо для меня и крон и системд и баш темный лес.Человеку нужно просто сообщение на экране от простого юзера. Ему без разницы как это будет работать,через крон,системд У него даже ссылка в первом посте как он хочет. А вы в дебри уже полезли ssh и т.д. Почитайте первый самый пост.Я думаю ему нужно так А вы что в этом /etc/systemd/system/ каталоге от простого юзера что-то можете делать?
Последний крик моды - эхо 30-летней давности.
|
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
tchgefestНу я хоть ТС'у одоно кривое (поправил, теперь должно работать) решение и два рабочих костыля подсказал... А если по теме: для крона на баше надо посчитать отаток от деления на 60 ибо автору надо каждые полчаса с момента запуска иксов. А если делать через systemd и таймеры от пользователя, то всеравно надо как-то скормить юниту правильные переменные окружения для иксов XAUTHORITY и DISPLAY через значение Environment в .service файле. Кто-нибудь подскажет как это ПРАВИЛЬНО сделать? |
lampslave |
|
Темы:
32
Сообщения:
4801
Участник с: 05 июля 2011
|
tchgefestНе совсем, оно ему нужно по таймеру, а таймер будет изначально работать от рута, причём у рута нету ни DISPLAY, ни всего остального. Так что аналогия с ssh тут вполне адекватна. |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
да, что то notify-send на отрез отказывается работать с системд. но зато нормально отрабатывает wall может пригодится заготовка, работает под пользователем. ~/.config/systemd/user/myscript.service [Unit] Description=MyScript [Service] ExecStart=/usr/bin/wall Привет [Install] WantedBy=default.target [Unit] Description=MyScript [Timer] OnBootSec=1min OnUnitActiveSec=10s [Install] WantedBy=default.target
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
nafanjaОтчасти это объясняется тут. Но я не до конца понял. Получается таймер запущенный от пользователя о иксовой сессии, этого же пользователя ничего не знает. Просто скормить таймеру дисплей не помогает. И даже если скормить сервису пользовательский XAUTHORITY , не работает. Как системный сервис работает, а как пользовательский -нет. Копирую тот-же .service файл в /etc/systemd/system/ под другим именем... sudo systemctl start my_not - работает, а systemctl --user start my_notify.service - нет. Файлы my_not.service и my_notify.service - идентичные, запускают один и тот же скрипт. Из скрипта пишу в лог, скрипты отрабатывают. Мистика. Становится интересно. |
naszar |
|
Темы:
21
Сообщения:
507
Участник с: 24 сентября 2012
|
Мудрый strace показал, что надо правильное значение для $DBUS_SESSION_BUS_ADDRESS. $DISPLAY и $XAUTHORITY - не нужны. Теперь вопрос как это значение в юните правильно выставить. Вот у бусурман решение.. но костыль однако. А вот убунтоводы с размахом порылись в /proc/${PID}/environ пользователя в целях заветного значения.. тож вроде костыль. И тут этот же метод. Еще печалька, что таймер тикает вне зависимости от пользовательской сессии, поэтому если выйти/зайти в DE, значения добытые вышеперечисленными костылями теряют свою актуальность :(... |