如何使用 iPhone 和 USB 基座锁定/解锁屏幕?

Rom*_*man 7 10.04 iphone usb

我的 iPhone 通过 Dock 通过 USB 连接到我的 Ubuntu 桌面。如何配置它,以便在我对接手机时屏幕解锁,而在取出手机时将其锁定?

Rom*_*man 6

在这里找到了Evan Boldt 提供的关于如何执行此操作的优秀脚本。谢谢埃文!

首先使用lsusb找出您的设备的 id

在你的主目录下创建一个脚本(让我们在这个例子中使用/home/me/iPhoneLock.sh),看起来像这样:

#!/bin/bash

#Replace with the ID of your USB device
id="ID ffff:1234 Apple, Inc. iPhone 3G"
serial="12345"

#runs every 2 seconds
for ((i=0; i<=30; i++))
do
if [ -z "`lsusb -v 2> /dev/null | grep "$serial"`" ]
then

    echo "Device is NOT plugged in"

    if [ -n "`DISPLAY=:0 gnome-screensaver-command --query | grep "is active"`" ]
    then
    if [ -e /tmp/autoUnlock.lock ]
    then
    #stop locking the screen
    rm /tmp/autoUnlock.lock

fi

elif [ -e /tmp/autoUnlock.lock ]
then

    DISPLAY=:0 notify-send -t 5000 --icon=dialog-info "iPhone Disconnected" "Locking     screen"
    #lock the desktop
    DISPLAY=:0 gnome-screensaver-command --lock

    rm /tmp/autoUnlock.lock

fi
else

    echo "iPhone IS plugged in"
    if [ ! -e /tmp/autoUnlock.lock ]
    then
    DISPLAY=:0 gnome-screensaver-command --deactivate
    DISPLAY=:0 notify-send -t 5000 --icon=dialog-info "iPhone Connected" "Welcome     Back!"
    touch /tmp/autoUnlock.lock

    fi

fi
sleep 2
done
Run Code Online (Sandbox Code Playgroud)

接下来,编辑您的 crontab:

crontab -e
Run Code Online (Sandbox Code Playgroud)

最后配置它,使其每分钟运行一次:

* * * * * bash /home/username/bin/autoUnlock & >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

但请注意:当然,这意味着任何拥有您手机的人都可以解锁您的屏幕。一个不错的改进是只有在您的手机已解锁时才解锁您的屏幕。

这当然适用于任何 USB 设备。

该脚本在CC-GNU GPL 2.0 版或更高版本下获得许可。