YubiKey lock screen: Difference between revisions
From D3xt3r01.tk
Jump to navigationJump to search
m →HOW |
m →HOW |
||
Line 13: | Line 13: | ||
Create a /etc/udev/rules.d/85-screen-lock-toggle.rules | Create a /etc/udev/rules.d/85-screen-lock-toggle.rules | ||
<source lang="bash"> | <source lang="bash"> | ||
ACTION=="remove", ATTRS{serial}==" | KERNEL=="hidraw?" ACTION=="remove", ATTRS{serial}=="0001484196", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010", RUN+="/usr/local/bin/gnome-lock-disable" | ||
ACTION=="add", ATTRS{serial}==" | KERNEL=="hidraw?" ACTION=="add", ATTRS{serial}=="0001484196", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010", RUN+="/usr/local/bin/gnome-lock-enable" | ||
</source> | </source> | ||
Line 27: | Line 27: | ||
~# cat /usr/local/bin/gnome-lock-enable | ~# cat /usr/local/bin/gnome-lock-enable | ||
#!/bin/bash | #!/bin/bash | ||
echo " | echo "$(date) $0" >> /tmp/yubi_lock_log | ||
user=`ps aux | grep gnome-screensaver | head -n 1 | awk '{print $1}'` | user=`ps aux | grep gnome-screensaver | head -n 1 | awk '{print $1}'` | ||
if [ -n $user ]; then | if [ -n $user ]; then | ||
GNOME_SCREENSAVER_PROC=`ps xa | grep gnome-screensaver | head -n 1 | awk '{print $1}'` | GNOME_SCREENSAVER_PROC=`ps xa | grep gnome-screensaver | head -n 1 | awk '{print $1}'` | ||
Line 37: | Line 36: | ||
~# cat /usr/local/bin/gnome-lock-disable | ~# cat /usr/local/bin/gnome-lock-disable | ||
#!/bin/bash | #!/bin/bash | ||
echo " | echo "$(date) $0" >> /tmp/yubi_lock_log | ||
user=`ps aux | grep gnome-screensaver | head -n 1 | awk '{print $1}'` | user=`ps aux | grep gnome-screensaver | head -n 1 | awk '{print $1}'` | ||
if [ -n $user ]; then | if [ -n $user ]; then |
Revision as of 19:26, 23 October 2012
What
I'm trying to make my fedora desktop lock the screen and unlock when it sees my key in.
HOW
Get the serial, idVendor, idProduct of the thing.
udevadm info -a -p $(udevadm info -q path -n /dev/hidraw0)
Create a /etc/udev/rules.d/85-screen-lock-toggle.rules
KERNEL=="hidraw?" ACTION=="remove", ATTRS{serial}=="0001484196", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010", RUN+="/usr/local/bin/gnome-lock-disable"
KERNEL=="hidraw?" ACTION=="add", ATTRS{serial}=="0001484196", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010", RUN+="/usr/local/bin/gnome-lock-enable"
Also you should probably reload the rules:
udevadm control --reload-rules
And you should create the 2 scripts:
~# cat /usr/local/bin/gnome-lock-enable
#!/bin/bash
echo "$(date) $0" >> /tmp/yubi_lock_log
user=`ps aux | grep gnome-screensaver | head -n 1 | awk '{print $1}'`
if [ -n $user ]; then
GNOME_SCREENSAVER_PROC=`ps xa | grep gnome-screensaver | head -n 1 | awk '{print $1}'`
export `grep -z DBUS_SESSION_BUS_ADDRESS /proc/$GNOME_SCREENSAVER_PROC/environ`
su $user -c "gconftool-2 --set "/apps/gnome-screensaver/lock_enabled" --type bool 1"
fi
~# cat /usr/local/bin/gnome-lock-disable
#!/bin/bash
echo "$(date) $0" >> /tmp/yubi_lock_log
user=`ps aux | grep gnome-screensaver | head -n 1 | awk '{print $1}'`
if [ -n $user ]; then
GNOME_SCREENSAVER_PROC=`ps xa | grep gnome-screensaver | head -n 1 | awk '{print $1}'`
export `grep -z DBUS_SESSION_BUS_ADDRESS /proc/$GNOME_SCREENSAVER_PROC/environ`
su $user -c "gconftool-2 --set "/apps/gnome-screensaver/lock_enabled" --type bool 0"
fi