[РЕШЕНО] Авторасположение экранов при подключении внешнего монитора

export DISPLAY=:0
export XDG_RUNTIME_DIR=/run/user/1000
этого должно хватать, чтобы он работал.
однако не работает, лень разбираться...

вот так будет работать:
su user -c "notify-send test"
Ошибки в тексте-неповторимый стиль автора©
И ещё вопрос возник. С точки зрения безопасности скрипты в пользовательской директории наверное не очень хорошо хранить?
Речь только о тех которые запускаются системой, в нашем случае правилом.
dima81
не приводит к появления уведомления, если прописан в скрипте.
Что используется в качестве демона нотификации?

dima81
С точки зрения безопасности скрипты в пользовательской директории наверное не очень хорошо хранить?
Валите это в /usr/local/bin/
Что используется в качестве демона нотификации?
Если я правильно понимаю, то xfce4-notifyd, но в списке сервисов его нет (нет такого юнита)
Вызов через notify-send, в терминале набираю все нормально отображается. Если запускаю скрипт от пользователя, то тоже отображается.
Если запуск скрипта выполняется через сервис, то не показывает уведомление.
dima81
Если запуск скрипта выполняется через сервис, то не показывает уведомление.
Дык, от рута и не будет работать.
https://archlinux.org.ru/forum/topic/18913/?page=3#post-211492
В тело скрипта, который запускается сервисом:
indeviral
su user -c "notify-send test"
user - ваш пользователь, естественно.
Благодарю! Да, так работает.
Может быть кто подскажет, возможно ли что бы правило
$ cat /etc/udev/rules.d/30-ctrl_monitor.rules
KERNEL=="card0", ACTION=="change", RUN+="/usr/bin/systemctl start ctrlmon"

запускало сервис от пользователя.

А сам файл сервиса можно расположить по адресу
~/.config/systemd/user/

а не в
/etc/systemd/system/ctrlmon.service

Собственно вопрос возник почему:
- расположение скрипта в /home/USER/script.sh при запуске его через системный сервис опасно. Изменив скрипт можно чего ни будь нехорошее сделать например $rm -rf {foo}/{bar}
- расположив скрипт в /usr/local/bin/script.sh отредактировать его конечно невозможно от пользователя, но это же и создаёт некое неудобство для его изменения пользователем
- расположив сервис по пути ~/.config/systemd/user/ можно смело запускать скрипт из /home/USER/script.sh, если в нем будет что то, что требует повышенных привилегий, то просто не сработает.
Если написать
KERNEL=="card0", ACTION=="change", RUN+="/usr/bin/systemctl start /home/USER/.config/systemd/user/ctrlmon"
то не срабатывает.
systemctl --user start юнит
Секция [Install] должна содержать:
WantedBy=default.target
https://wiki.archlinux.org/index.php/Systemd/User
Только не знаю будет ли запускаться из правила удава - рут все же...
ну как бы udev то .service не запускает, а запускает их systemd... так для уточнения

dima81
запускало сервис от пользователя.
достаточно прописать в .service, для запуска вложенного скрипта от имени пользователя.
[Service]
User=dima

p.s. если этого недостаточно, вот:
ProtectSystem=
NoNewPrivileges=
ProtectKernelTunables=
ProtectControlGroups=
Ошибки в тексте-неповторимый стиль автора©
 
Зарегистрироваться или войдите чтобы оставить сообщение.