내 것에 .sway/config
는
exec swayidle -w \
timeout 30 'swaylock -f -c 000000' \
timeout 30 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
제한 시간을 늘리기로 결정했다고 가정해 보겠습니다.
exec swayidle -w \
timeout 180 'swaylock -f -c 000000' \
timeout 180 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"' \
before-sleep 'swaylock -f -c 000000'
이 설정을 어떻게 다시 로드하나요? 또한 이 명령을 수동으로 실행하려고 하면 다음과 같은 메시지 killall swayidle
가 나타납니다.
Failed to find session name: PID 8472 does not belong to any known session
No command specified! Nothing to do, will exit
swayidle
업데이트된 시간 제한으로 어떻게 실행할 수 있나요 ?
답변1
스크립트를 사용했는데 잘 작동합니다. 아마도 이 접근 방식이 도움이 될 것입니다. 내 잠금 스크립트 "mylock"의 관련 부분은 다음과 같습니다.
#!/usr/bin/env bash
[[ "$SWAYSOCK" ]] && {
TIMEOUT=600
BACKGROUND_COLLECTION=~/.fluxbox/backgrounds
BACKGROUND=$( ls $BACKGROUND_COLLECTION | shuf -n 1)
case "$1" in
lock-now)
BG='&'
[[ "$2" == "wait" ]] && BG=''
swaylock -f --image "$BACKGROUND_COLLECTION/$BACKGROUND" $BG
;;
lock-off)
pkill swayidle
swayidle -w \
timeout $TIMEOUT "swaymsg 'output * dpms off'" \
resume "swaymsg 'output * dpms on'" \
before-sleep "mylock lock-now wait; mylock enable-lock" &
rofi -width 20 -e "screen lock disabled"
;;
enable-lock|*)
pkill swayidle
swayidle -w \
timeout $TIMEOUT "swaymsg 'output * dpms off'" resume "swaymsg 'output * dpms on'" \
timeout $(( TIMEOUT * 2 )) "swaymsg 'output * dpms on'; mylock lock-now" \
timeout $(( TIMEOUT * 3 )) "swaymsg 'output * dpms off'" resume "swaymsg 'output * dpms on'" \
timeout $(( TIMEOUT * 4 )) "sudo systemctl suspend" \
before-sleep "mylock lock-now wait" &
;;
esac
#ps -ef |grep '[s]wayidle'
exit $?
}
...그리고 sway 구성에서는 다음과 같습니다.
set $a Mod1
set $mod Mod4
set $c Control
set $s Shift
...
bindsym $a+$c+l exec mylock lock-now
bindsym $mod+l exec mylock lock-now
bindsym $s+$a+$c+l exec mylock lock-off
bindsym $s+$mod+l exec mylock lock-off
이는 매우 복잡하고 동적인 잠금 동작을 허용합니다.
- 시간 초과 X초, 화면이 비어 있음
- 2X초의 시간 초과 후 화면이 잠기고 임의의 사진이 표시됩니다.
- 3번의 시간 초과 후에는 화면이 다시 공백으로 표시됩니다(단, 잠긴 상태는 유지됩니다).
예를 들어 집에 있고 보안에 대해 걱정하지 않지만 항상 잠금을 해제해야 해서 짜증이 나는 경우 자물쇠를 끌 수 있으면 좋겠습니다. Shift-$mod-L을 누르기만 하면 됩니다.
하지만 - 노트북을 일시 정지할 때 원래의 잠금 장치가 적용되기를 원합니다(그렇지 않으면 잠에 들 때 복원하는 것을 잊어버리거나 노트북을 들고 나갈 때 잊어버릴 수도 있습니다).
"지금" 노트북을 수동으로 잠그려면 $mod-L을 사용하세요.
(Zenity는 잠금 작업에 대한 시각적 피드백을 위한 선택 사항입니다.)
이 접근 방식을 귀하의 사용 사례에 맞게 조정할 수 있기를 바랍니다.
답변2
Sway 구성에 대한 새로운 변경 사항을 사용하려면 다시 로드하기만 하면 됩니다. 기본 단축키는 ++ Alt이어야 합니다 . 하지만 물론 스웨이 구성에서 원하는 대로 수정할 수도 있습니다. 예를 들어:ShiftC
# Reload the configuration file
bindsym Mod4+R reload
그러면 다시 로드 작업이 ⊞ Win+ 로 설정됩니다 R. 먼저 이전 단축키를 사용하여 다시 로드하는 것을 잊지 마세요.
편집: 이것이 실제로 swayidle(또는 에 의해 실행되는 다른 것 exec
)을 다시 로드하지 않는다는 것을 알아냈습니다. 그러나 이러한 프로그램을 다시 로드하려면 수동으로(예: 를 실행하여 killall swayidle
) 종료한 다음 일시적으로 sway 구성의 명령을 로 변경 exec_always
하고 구성을 다시 로드할 수 있습니다. 나중에 원래 상태로 다시 변경하는 것을 잊지 마세요 exec
. 그렇지 않으면 나중에 구성을 다시 로드할 때마다 새로운 swayidle 인스턴스를 얻게 됩니다.