KDialog aus Script per udev Regel

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Tripp
Beiträge: 36
Registriert: 12.08.2013 15:12:50

KDialog aus Script per udev Regel

Beitrag von Tripp » 11.03.2015 16:47:11

Hallo,

ich verwende KDE und habe ein shell script, welches ich per udev regel ausführen lasse. Das script wird beim einstecken/abziehen meines bluetooth empfängers meiner maus ausgeführt.

Code: Alles auswählen

SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ACTION=="add", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/Tripp/.Xauthority", RUN+="/home/Tripp/scripts/extmouse.sh TouchpadOff=1"
SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ACTION=="remove", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/Tripp/.Xauthority", RUN+="/home/Tripp/scripts/extmouse.sh TouchpadOff=0"
Im script selbst möchte ich, je nach aktualparameter, eine message unten rechts als systemnachricht ausgeben lassen.

Code: Alles auswählen

#!/bin/sh

varOFF=$(echo $1|cut -f2 -d=)

if [ "$varOFF" = "1" ]; then
  kdialog --passivepopup "Eine externe Maus wurde angeschlossen, das Touchpad wird deaktiviert!" 2 &
else
  kdialog --passivepopup "Eine externe Maus wurde entfernt, das Touchpad wird aktiviert!" 2 &
fi

/usr/bin/synclient $1
Wenn ich das script bzw. kdialog im terminal ausführe, funktioniert das ganz gut.

Code: Alles auswählen

kdialog --passivepopup "Eine externe Maus wurde angeschlossen, das Touchpad wird deaktiviert!" 2 &
Wenn ich das script jedoch von der udev regel ausführen lasse, erscheint die meldung in der mitte des bildschirms (und nicht als systemnachricht) und auch gleich zweimal.

Weiß jemand woran das liegt?

deberik
Beiträge: 1177
Registriert: 30.09.2009 13:27:23

Re: KDialog aus Script per udev Regel

Beitrag von deberik » 14.03.2015 22:25:14

Tripp hat geschrieben:Wenn ich das script jedoch von der udev regel ausführen lasse, erscheint die meldung in der mitte des bildschirms (und nicht als systemnachricht)
Hey Tripp, diesen Teil konnte ich durch diesen Blog lösen:
We run kdialog through `sudo -u username` because when the script is run with sudo the current user will be root, and using this will cause kdialog to display an ugly notification.
Bei meinem usb-Testgerät taucht die Meldung dann allerdings 5x auf, genauso oft gibt es in dmesg auch Nachrichten mit "usb 1-6:" wegen dem Gerät. Gibt es bei dmesgt von deinem Gerät vielleicht jeweils 2 Nachrichten? Nur mal als Ansatz :)
Debians Paketbeschreibungen übersetzen? Hilf mit!

Antworten