Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: udev правило не запускает скрипт  (Прочитано 5177 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #15 : 21 Августа 2017, 21:56:27 »
проблем с доступностью
Проблема не с доступностью, а для какого пользователя должен выключаться тачпад. Как Вы выполняете скрипт в одиночку в консоли?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #16 : 21 Августа 2017, 22:41:22 »
Простите за топорность а что логировать
man logger
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #17 : 21 Августа 2017, 22:46:23 »
из консоли по вызову .sh срабатывает.
Из консоли или из терминала? От рута? (udev выполняет от рута)

У меня udev запускает нужную граф. программу от юзера через такой скрипт:
#!/bin/bash
export DISPLAY=':0'
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
X11User=$(who | grep -m1 -Po '^\S+(?=\s+:0\s+)')

su $X11User -c "ПРОГРАММА АРГУМЕНТЫ & exit 0"
Попробуй свои аналогично переделать.
« Последнее редактирование: 21 Августа 2017, 23:02:56 от renzrv »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #18 : 21 Августа 2017, 23:29:38 »
renzrv, не бывает /usr/local/sbin, и если прописывать путь, то /usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Nip4Fun

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #19 : 21 Августа 2017, 23:30:01 »
Попробуй свои аналогично переделать.
попробовал,с su просит пароль даже из gnome-termenal

1. Может стоит запускать скрипт от пользователя?(
после этого даже из gnome-termenal не срабатывает.
Как Вы выполняете скрипт в одиночку в консоли?
в gnome-termenal
user:~$ /lib/udev/usb_on.shкакие еще есть предложения?
« Последнее редактирование: 21 Августа 2017, 23:40:47 от Azure »

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #20 : 21 Августа 2017, 23:39:46 »
gnome-termenal не срабатывает.
В смысле?
user:~$ /lib/udev/usb_on.sh
Это и есть от пользователя. Может что-то неправильно делаете?
с su просит пароль даже из gnome-termenal
Из терминала должен, а из скрипта udev — нет
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #21 : 21 Августа 2017, 23:40:44 »
с su просит пароль
sudo вообще-то…
Вы вообще разницу между su и sudo знаете?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #22 : 21 Августа 2017, 23:42:19 »
попробовал,с su просит пароль даже из gnome-termenal
Если выполнять от рута, то ничего не спросит.

не бывает /usr/local/sbin
Бывает

и если прописывать путь, то /usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
У меня echo $PATH такой выводит, и какая разница от перемены мест? И так все работает.

Оффлайн Nip4Fun

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #23 : 21 Августа 2017, 23:52:53 »
'/lib/udev/usb_off.sh'
sudo --user=nip4fun /usr/bin/gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled'/lib/udev/usb_on.sh'
sudo --user=nip4fun /usr/bin/gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled

nip4fun:~$ /lib/udev/usb_off.sh
(process:29766): dconf-CRITICAL **: unable to create file '/home/nip4fun/.cache/dconf/user': Отказано в доступе.  dconf will not work properly.

(process:29766): dconf-CRITICAL **: unable to create file '/home/nip4fun/.cache/dconf/user': Отказано в доступе.  dconf will not work properly.

(process:29766): dconf-CRITICAL **: unable to create file '/home/nip4fun/.cache/dconf/user': Отказано в доступе.  dconf will not work properly.

(process:29766): dconf-WARNING **: failed to commit changes to dconf: Не удалось подключиться к: В соединении отказано
при подключение отключении не какой реакции по прежнему.



Пользователь добавил сообщение 21 Августа 2017, 23:55:02:
sudo вообще-то…
Вы вообще разницу между su и sudo знаете?…
озы зная, читал, но в положение своего малознания использую то что предлагают пологая что человек который предложил знает больше меня, и я пробую как предложили,а не спорю что мне нужно по другому.
« Последнее редактирование: 21 Августа 2017, 23:55:02 от Nip4Fun »

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #24 : 21 Августа 2017, 23:59:08 »
/lib/udev/usb_off.sh
#!/bin/bash
export DISPLAY=':0'
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
X11User=$(who | grep -m1 -Po '^\S+(?=\s+:0\s+)')

su $X11User -c "gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled"

В консоли:
sudo suи потом от рута запускай:
/lib/udev/usb_off.sh

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #25 : 22 Августа 2017, 00:03:37 »
Код: (bash) [Выделить]
sudo --user=nip4fun bash -c '/usr/bin/gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled'
« Последнее редактирование: 22 Августа 2017, 00:08:23 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Nip4Fun

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #26 : 22 Августа 2017, 00:22:26 »
#!/bin/bash
export DISPLAY=':0'
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
X11User=$(who | grep -m1 -Po '^\S+(?=\s+:0\s+)')

su $X11User -c "gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled"

root@Dellhacker:~# /lib/udev/usb_on.sh
root@Dellhacker:~# /lib/udev/usb_off.sh
не какой реакции, от udev тоже
ps/ unix pass установлен.



sudo --user=nip4fun bash -c '/usr/bin/gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled'
root@Dell:~# /lib/udev/usb_on.sh
(process:31757): dconf-CRITICAL **: unable to create file '/home/nip4fun/.cache/dconf/user': Отказано в доступе.  dconf will not work properly.

(process:31757): dconf-CRITICAL **: unable to create file '/home/nip4fun/.cache/dconf/user': Отказано в доступе.  dconf will not work properly.

(process:31757): dconf-CRITICAL **: unable to create file '/home/nip4fun/.cache/dconf/user': Отказано в доступе.  dconf will not work properly.

(process:31757): dconf-WARNING **: failed to commit changes to dconf: Не удалось подключиться к: В соединении отказано

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #27 : 22 Августа 2017, 00:43:12 »
Там же (после sudo su) покажи вывод who
Там где срабатывает
gsettings set org.gnome.desktop.peripherals.touchpad send-events enabledпокажи вывод env

Оффлайн Nip4Fun

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #28 : 22 Августа 2017, 18:44:08 »
Там же (после sudo su) покажи вывод who
root@Dell:/# who
nip4fun  tty7         2017-08-22 14:45 (:0)
nip4fun@Dell:~$ env
XDG_VTNR=7
XDG_SESSION_ID=c4
CLUTTER_IM_MODULE=xim
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/nip4fun
SESSION=ubuntu
GPG_AGENT_INFO=/home/nip4fun/.gnupg/S.gpg-agent:0:1
SHELL=/bin/bash
TERM=xterm-256color
XDG_MENU_PREFIX=gnome-
VTE_VERSION=4205
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
WINDOWID=81788934
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/9092
GNOME_KEYRING_CONTROL=
GTK_MODULES=gail:atk-bridge:unity-gtk-module
USER=nip4fun
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
QT_ACCESSIBILITY=1
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
SESSION_MANAGER=local/Dellhacker:@/tmp/.ICE-unix/9503,unix/Dellhacker:/tmp/.ICE-unix/9503
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg
PATH=/home/nip4fun/bin:/home/nip4fun/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
DESKTOP_SESSION=ubuntu
QT_IM_MODULE=ibus
QT_QPA_PLATFORMTHEME=appmenu-qt5
XDG_SESSION_TYPE=x11
JOB=unity-settings-daemon
PWD=/home/nip4fun
XMODIFIERS=@im=ibus
GNOME_KEYRING_PID=
LANG=ru_RU.UTF-8
GDM_LANG=ru
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
IM_CONFIG_PHASE=1
COMPIZ_CONFIG_PROFILE=ubuntu
GDMSESSION=ubuntu
SESSIONTYPE=gnome-session
GTK2_MODULES=overlay-scrollbar
HOME=/home/nip4fun
XDG_SEAT=seat0
SHLVL=1
LANGUAGE=ru
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
UPSTART_INSTANCE=
UPSTART_EVENTS=xsession started
XDG_SESSION_DESKTOP=ubuntu
LOGNAME=nip4fun
COMPIZ_BIN_PATH=/usr/bin/
QT4_IM_MODULE=xim
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qsDWdxh0SV
LESSOPEN=| /usr/bin/lesspipe %s
INSTANCE=
UPSTART_JOB=unity7
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
XDG_CURRENT_DESKTOP=Unity
GTK_IM_MODULE=ibus
LESSCLOSE=/usr/bin/lesspipe %s %s
XAUTHORITY=/home/nip4fun/.Xauthority
_=/usr/bin/env

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: udev правило не запускает скрипт
« Ответ #29 : 22 Августа 2017, 21:20:46 »
Попробуй такое решение:
В домашней папке создай скрипт mouse_switcher.sh
trap '/usr/bin/gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled' 10
trap '/usr/bin/gsettings set org.gnome.desktop.peripherals.touchpad send-events enabled' 11
while :; do sleep 1; done

В папке /home/USER/.config/autostart для автозапуска скрипта создай файл mouse_switcher.desktop
[Desktop Entry]
Name=Run mouse switcher script
Type=Application
Exec=sh -c 'bash mouse_switcher.sh &'

Проверка работы скрипта в фоне:
lsof /home/USER/mouse_switcher.sh
В правиле udev пропиши команду для включения:
/bin/fuser -k -10 /home/USER/mouse_switcher.shдля отключения:
/bin/fuser -k -11 /home/USER/mouse_switcher.sh
Для проверки создай и запусти скрипт в фоне в одном терминале, а в другом проверь включение/выключение командами fuser.
У меня подобное работает и запускает программы от udev и if-up.d которые другими способами не запускаются.

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.