Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[S][udev-regel] Wird ausgeführt, bewirkt unter X aber nichts
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Sun Apr 15, 2012 8:31 am    Post subject: [S][udev-regel] Wird ausgeführt, bewirkt unter X aber nichts Reply with quote

Hallo,

ich habe eine Bluetooth Maus gekauft, bei der die Buttons umbenannt werden müssen:
xinput set-button-map "Bluetooth Laser Travel Mouse" 1 2 3 4 5 8 9 6 7

Das funktioniert unter dem User "tobi" sehr gut, da der in X angemeldet ist.

Die Udev-Regel führt folgendes Programm aus:
Code:
$cat /usr/local/bin/logitech-mouse
#!/bin/bash

su tobi -c "DISPLAY=:0 xinput set-button-map 'Bluetooth Laser Travel Mouse' 1 2 3 4 5 8 9 6 7"

id  > /tmp/test


Interessant ist nun, dass dies als User root geht.
Wenn udev das automatisch macht, passiert nichts.

ID bei udev: uid=0(root) gid=0(root) groups=0(root)
ID als root: uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video),104(svnusers)

Und nun bin ich überfragt. Warum gehts nicht? Wo ist mein Denkfehler?

Danke
Tobi
_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke


Last edited by Finswimmer on Wed Apr 18, 2012 6:54 am; edited 1 time in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6281

PostPosted: Sun Apr 15, 2012 10:40 am    Post subject: Reply with quote

export XAUTHORITY=~toby/.Xauthority
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Sun Apr 15, 2012 10:58 am    Post subject: Reply with quote

Muss ich das in das Skript schreiben? Oder einmalig als User tobi machen?

Unabhängig davon funktioniert das Remappen aber, wenn ich es als User root ausführe. Also direkt ohne udev.
_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6281

PostPosted: Sun Apr 15, 2012 8:13 pm    Post subject: Reply with quote

Finswimmer wrote:
Muss ich das in das Skript schreiben?

Ja.
Quote:
Unabhängig davon funktioniert das Remappen aber, wenn ich es als User root ausführe.

Was heißt "als User root"? - Es kommt auf die Environment-Variablen an. Vermutlich ist bei Dir noch HOME=~tobi.
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Mon Apr 16, 2012 5:42 am    Post subject: Reply with quote

Hm.
Mit udev geht es nicht.
Wenn ich mich frisch auf VT1 als root einlogge und das Skript starte, dann geht es: Die Button werden geändert.

Code:
#!/bin/bash

export XAUTHORITY=/home/tobi/.Xauthority

DISPLAY=:0 xinput set-button-map 'Bluetooth Laser Travel Mouse' 1 2 3 4 5 8 9 6 7


Danke!
_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6281

PostPosted: Mon Apr 16, 2012 2:50 pm    Post subject: Reply with quote

Finswimmer wrote:
Hm.
Mit udev geht es nicht.
Wenn ich mich frisch auf VT1 als root einlogge und das Skript starte, dann geht es: Die Button werden geändert.

Das klingt danach, dass Du pam benutzt: Das hat auch irgendeinen Mechanismus, der die .Xauthority ggf. weiterleitet, und dieser Mechanismus ist vermutlich bei udev nicht aktiv. Da ich pam nicht benutze, kann ich dazu nichts sagen.
Back to top
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1938

PostPosted: Mon Apr 16, 2012 4:12 pm    Post subject: Reply with quote

Das muss doch auch direkt über die /etc/xorg.conf (oder /etc/xorg.conf.d) gehen, also irgendwie so:

Code:
Section "InputClass"
  Identifier "Bluetooth Laser Travel Mice"
  MatchProduct "Bluetooth Laser Travel Mouse"
  MatchDriver "evdev"
  Option "ButtonMapping" "1 2 3 4 5 8 9 6 7"
EndSection


Ungetestet, aber vielleicht auch eine Idee, bei der man sich das su-Gefrickel spart.
_________________
Unix philosophy: "Do one thing and do it well."
systemd: "Do everything and do it wrong."
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Wed Apr 18, 2012 6:54 am    Post subject: Reply with quote

Wow.
Danke, mrsteven!

Ich wollte es deswegen per Udev machen, da ich dachte, dass ich diesen Befehl jedesmal ausführen muss, wenn ich die Maus unter einem laufendem X verbinde.
Es geht aber auch so.

Vielen Dank!
_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum