scrot을 실행하기 위해 키보드 단축키를 사용할 필요가 없도록 하려면 어떻게 해야 합니까?

scrot을 실행하기 위해 키보드 단축키를 사용할 필요가 없도록 하려면 어떻게 해야 합니까?

스크린샷을 찍기 위해 키보드 단축키를 사용하고 싶습니다 scrot --select. 다음을 추가해 보았습니다.내 rc.luaPrintScr이 목적으로 키를 사용하십시오.

awful.key({}, "Print", function () awful.spawn("scrot --select") end,
    {description = "take screenshot of selection", group = "client"}),

불행하게도 이로 인해 xsession systemd 로그에 다음과 같은 오류 메시지가 표시됩니다.

giblib 오류: 키보드를 잡을 수 없습니다. 리소스를 일시적으로 사용할 수 없습니다.

키 조합을 scrot누른 상태에서 키보드를 잡아야 할 것 같습니다 .Fn+PrintScr이 문제를 해결하는 한 가지 방법함수를 상당히 복잡하게 만듭니다.

awful.spawn.with_shell("sleep 0.5 && scrot --select")

and bit는 실행하기 전에 키를 놓을 .with_shell시간을 주는 해킹입니다 . 물론 이는 키를 너무 오랫동안 누르고 있으면 위와 같은 오류로 인해 명령이 계속 실패한다는 의미입니다.sleepscrot

더욱 우아한 솔루션작업이 신뢰할 수 없습니다. xdotool을 설치하고 스크린샷 명령으로 설정 하고 에 xdotool key XF86Ungrab && scrot --select추가했지만 여전히 위와 같은 오류가 발생합니다.grab:break_actionsservices.xserver.xkbOptions대부분의 경우.반복적으로 누르면 Fn+PrintScr결국 작동하지만 뚜렷한 이유는 없습니다.

답변1

문제에 대한 해결책은 아니지만 대신 사용하는 경우 maim이미지 를 클립보드에 자동으로 복사하는 기능 scrot도 사용했는데 이는 매우 편리합니다.xclip

awful.key({}, "#107",
  function ()
    awful.util.spawn_with_shell("FILE=" .. os.getenv("HOME") .. "/Media/Screenshots/snapshot-$(date +%Y-%m-%dT%H-%M-%S).png && maim -s --hidecursor $FILE && xclip -selection clipboard $FILE -t image/png")
  end),

관련 정보