[debian] xflock4 4.20.2-1 変

xfce4 の「画面をロック」をしても反応がなくなった。 xfce4-screensaver-command -lock ではロックしてくれる。何かログが出ていないかと調べたら、 ~/.xsession-errors

/usr/bin/xflock4: 52: arithmetic expression: expecting primary: "2**31 - 1"

というログが出ていた。これでぐぐったらずばり Bug#1101192 があった。 checkbashisms をかけてみると確かにひっかかった。

% checkbashisms /usr/bin/xflock4
possible bashism in /usr/bin/xflock4 line 58 (exponentiation is not POSIX):
ret=$(echo $(dbus-send --session \
                       --dest=org.xfce.SessionManager \
                       --print-reply=literal \
                       --reply-timeout=$((2**31 - 1)) \
                       --type=method_call \
                       /org/xfce/SessionManager \
                       org.xfce.Session.Manager.Lock))

とりあえず $((2**31 - 1)) を計算後の値 2147483647 に置き換えると動くようになった。