Я тоже боролся с этим.
spawn_with_shell не является решением, которое заставляет его работать на меня.
Экран мерцает, когда я нажимаю соответствующую горячую клавишу, поэтому она настроена правильно, и когда я нажимаю Win+r (запустить) и набираю path/to/screenshot.sh, это тоже работает.
Это сценарий после Шебанга
scrot -s '%Y-%m-%d_$wx$h_scrot.png' -e 'mv $f /home/sam/Pictures/Screenshots'
Вот что я попробовал: screenshot = "/home/sam/run/screenshot.sh" scrot -s '% Y-% m-% d_ $ wx $ h_scrot.png' -e 'mv $ f /home /sam / Картинки / Скриншоты 'awful.spawn.with_shell(скриншот)
Что работает, так это выполнение сценариев bash с терминалом: это мои определения переменных в верхней части страницы
screenshot = "/home/sam/run/screenshot.sh"
screenshot_cmd = terminal .. " -e " .. screenshot
А потом еще больше вниз по файлу, у меня есть эти (оба работают)
awful.key({ modkey , }, "#107", function () awful.spawn.with_shell(screenshot_cmd) end,
{description = "take screenshot", group = "launcher"}),
awful.key({ modkey , "Shift" }, "p", function () awful.spawn(screenshot_cmd) end,
{description = "take screenshot", group = "launcher"}),
К сожалению, последний также открывает окно терминала, что не является желательным поведением (но, по крайней мере, что-то работает