Я использую i3wm с XFCE как моя настольная среда. Я имею, отключают XFCE по умолчанию Lockscreen (легкий блокировщик, я верю) в пользу моего собственного сценария блокировки, который использует i3lock-цвет, и я использую xss-блокировку для инициирования сценария блокировки на крышке близко. Сам сценарий (полный сценарий здесь) в основном делает снимок экрана, ImageMagick использования, чтобы пикселизировать изображение и добавить темный прямоугольник в левом нижнем угле изображения (прямоугольник обеспечивает дополнительный контраст для текста, который наложен i3lock-цветом). Затем это использует i3lock-цвет, чтобы заблокировать экран и отобразить часы, некоторый текст, и т.д.
Когда я запускаю скрипт от терминала, результат как ожидалось. Экран заблокирован с правильным образом (включая темный прямоугольник).
Однако после активирования xss-блокировки с xss-lock -l /path/to/script/lock.sh
и затем закрытие крышки, выполнений сценария, но прямоугольника не оттянуто, ведя к иногда нечитабельному тексту Lockscreen.
Я попытался изменить сценарий так, чтобы он не удалял снимок экрана, который он делает и редактирует, но снимок экрана содержит темный прямоугольник. Я думаю, что это - что-то странное с ImageMagick, так как растрирование и прямоугольный рисунок указаны в той же команде, и растрирование происходит, но прямоугольный рисунок не делает.
Я очень смущен относительно того, как это могло произойти. Ни один journalctl
ни /var/log
отобразите что-либо, что выглядит связанным с этим. Любая справка на том, где начать отлаживать, ценилась бы.
Прямоугольные пропорции вычисляются относительно в настоящее время связанного использования разрешения (разрешений) экрана (экранов) xrandr
на строке 31, но xrandr
потребности DISPLAY
переменный набор, который не может иметь место здесь. У Вас есть две опции:
явно установите переменную, например, для первого дисплея:
SR=$(DISPLAY=:0 xrandr --query | …
hardcode значение $rectangles
в строке 29, это делает строки 30 - 37 устаревшими (прокомментируйте или удалите их), например, для одного 1680x1050 экран:
rectangles="rectangle 80,970 380,870"
Дальнейшее чтение: