Я хотел бы заблокировать экран, когда я перемещаю свою мышь в нижний правый угол.
Существует ли compiz-конфигурация для той задачи?
Я ничего не мог найти в compizconfig-settings-manager и параметрах настройки системы.
Простые инструменты для получения положения мыши xdotool
просто установите сначала и выполните шаги:
sudo apt-get install xdotool
затем мы - useing xdotool getmouselocation --shell
видеть текущую позицию мыши: результат будет чем-то вроде этого:
X=845
Y=447
SCREEN=0
или путем выполнения eval $(xdotool getmouselocation --shell)
поместит положение в переменные оболочки X
, Y
и SCREEN
. После этого мы можем получить доступ к этим переменным с этим:
echo $X $Y $SCREEN
Хорошо теперь нам нужен некоторое время цикл для проверки положения мыши на каждом разе:
while true
do
[get mouse position]
[if position =bottom-right corner then lock screen]
done
хорошо, таким образом, наши сценарии были бы похожи на это:
#! /bin/sh
while true
do
eval $(xdotool getmouselocation --shell)
if [ $X -ge 1919 -a $Y -ge 1079 ]; then
gnome-screensaver-command -l
fi
done
сохраните сценарий, названный "lock.sh" в Вашем корневом каталоге, и выполните его sh lock.sh
и переместите свою мышь в нижний правый угол и посмотрите результат.круто!
объясните:
Мы комбинируем условия при помощи определенных операторов. Для синтаксиса одиночной скобки, который мы использовали до сих пор, “-a” используемый для и. и “-o” для или. Пример:
if [ $foo -ge 3 -a $bar -ge 10 ]; then
Вышеупомянутое условие возвратит true если $foo
содержит целое число g reater, чем или e квалификацию к 3 (-ge 3) и также $bar
содержит целое число g reater, чем или e квалификацию к 10. затем выполненная экранная команда экранной заставки гнома командной строки блокировки-l
Я не мог найти настройки в менеджере Compiz, ни в настройках Unity Tweak (который использует то же), но если Вы добавите сценарий ниже к Вашим Приложениям Запуска, то это проверит Ваше разрешение экрана и Ваше положение мыши. Если мышь будет в marge от угла (набор в заголовке сценария), то это заблокирует экран.
Как использовать
Установка xdotool:
sudo apt-get install xdotool
Вставьте сценарий ниже в пустом файле, установите marge (пиксели), в которых Вы хотели бы, чтобы hotcorner действовал, сохранил его как screenlock.py, сделал его исполняемым файлом по причинам удобства и добавил его к Вашим приложениям запуска (Тире>, Приложения Запуска> Добавляют). Добавьте добавляет команда:
/path/to/screenlock.py
Сценарий:
#!/usr/bin/env python3
import time
import subprocess
marge = 3 # (pixels) increase to increase sensitivity
output = subprocess.check_output(["xrandr"]).decode('utf-8').strip().split()
idf = output.index("current")
res = (int(output[idf+1]), int(output[idf+3].replace(",", "")))
command = "gnome-screensaver-command -l"
while True:
get_pos = subprocess.check_output(["xdotool", "getmouselocation", "--shell"]).decode('utf-8').strip().split("\n")
pos = (int(get_pos[0][2:]), int(get_pos[1][2:]))
if res[0] - pos[0] < marge and res[1] - pos[1] < marge:
subprocess.Popen(["/bin/bash", "-c", command])
time.sleep(1)