i3lock
折腾了半天 i3lock ,不写篇博客可惜了。
i3lock 有啥好折腾的?不就是挂个壁纸锁屏嘛。
就是因为 i3lock 太鸡肋了折腾啊。
于是我试过了 i3lock 的各种民间 fork 版本,在此总结。
i3lock
官方版本 i3lock ,稳定可靠,但是鸡肋。
安装: 1
sudo aptitude install i3lock
使用: 1
i3lock
i3lock-lixxia
最友好,最简单的一个 i3lock fork ,
优化了中间显示的圆形框,并支持一些颜色自定义。
安装: 1
2
3
4
5
6
7
8sudo aptitude remove i3lock
sudo aptitude install pkg-config libxcb1-dev libxcb1 libgl2ps-dev libx11-dev libglc0 libglc-dev libcairo2-dev libcairo-gobject2 libcairo2-dev libxkbfile-dev libxkbfile1 libxkbcommon-dev libxkbcommon-x11-dev libxcb-xkb-dev libxcb-dpms0-dev libxcb-damage0-dev libpam0g-dev libev-dev libxcb-image0-dev libxcb-util0-dev libxcb-composite0-dev libxcb-xinerama0-dev
git clone https://github.com/Lixxia/i3lock.git
cd i3lock
autoreconf -fi
mkdir -p build && cd build
../configure
make && sudo make install
顺带一提,只有这个 fork 给出了靠谱的源码安装方式,
其他 fork 甚至 i3lock 本身的安装方式都给得很不靠谱。
使用: 1
i3lock
i3lock-blur
支持模糊背景,毛玻璃特效。
安装: 1
2
3
4
5
6
7
8sudo aptitude remove i3lock
sudo aptitude install pkg-config libxcb1-dev libxcb1 libgl2ps-dev libx11-dev libglc0 libglc-dev libcairo2-dev libcairo-gobject2 libcairo2-dev libxkbfile-dev libxkbfile1 libxkbcommon-dev libxkbcommon-x11-dev libxcb-xkb-dev libxcb-dpms0-dev libxcb-damage0-dev libpam0g-dev libev-dev libxcb-image0-dev libxcb-util0-dev libxcb-composite0-dev libxcb-xinerama0-dev
git clone https://github.com/karulont/i3lock-blur.git
cd i3lock-blur
autoreconf -fi
mkdir -p build && cd build
../configure
make && sudo make install
再顺带一提,只有这个 fork 直接给出了需要安装那些库。
使用: 1
i3lock --fuzzy
i3lockr
支持模糊背景,毛玻璃特效。
安装: 1
2wget https://github.com/owenthewizard/i3lockr/releases/download/v1.0.0-final/i3lockr
sudo mv i3lockr /usr/local/bin
使用: 1
i3lockr --blur=25
i3lock-color
对于颜色的自定义十分全面。
安装: 1
2
3
4
5
6
7
8sudo aptitude remove i3lock
sudo aptitude install pkg-config libxcb1-dev libxcb1 libgl2ps-dev libx11-dev libglc0 libglc-dev libcairo2-dev libcairo-gobject2 libcairo2-dev libxkbfile-dev libxkbfile1 libxkbcommon-dev libxkbcommon-x11-dev libxcb-xkb-dev libxcb-dpms0-dev libxcb-damage0-dev libpam0g-dev libev-dev libxcb-image0-dev libxcb-util0-dev libxcb-composite0-dev libxcb-xinerama0-dev
git clone https://github.com/PandorasFox/i3lock-color
cd i3lock-color
autoreconf -fi
mkdir -p build && cd build
../configure
make && sudo make install
使用: 1
i3lock
i3lock-fancy
重头戏,star 最多的 fork ,甚至比 i3lock 本身更多,被广泛使用。
安装: 1
sudo aptitude install i3lock-fancy
使用: 1
i3lock-fancy
依赖 i3lock ,实际上是产生了背景图片再调用 i3lock 。
默认使用模糊背景,用起来没什么问题,但是事实上,
圆形框的颜色并不是最正确的,而是兼容的。
源码里有这样一条: 1
2
3
4
5# try to use a forked version of i3lock with prepared parameters
if ! i3lock -n "${PARAM[@]}" -i "$IMAGE" > /dev/null 2>&1; then
# We have failed, lets get back to stock one
i3lock -n -i "$IMAGE"
fi
bash -x i3lock-fancy 就知道,
if 上的命令往往失败了,执行的是 if 里头的命令。
事实上这需要 i3lock-color 。
那么,安装 i3lock-color 代替 i3lock 后,执行 i3lock-fancy ,
会发现圆形框的颜色与背景更加配了。
关于模糊背景
事实上,如果你用了 compton 再用 i3lock ,效果十分差劲。
解决这个方案,可以在调用 i3lock 前 kill compton ,结束后重新启动 compton
。
拿 i3lock-fancy 举例,把之前展示的代码改成这样: 1
2
3
4
5
6
7# try to use a forked version of i3lock with prepared parameters
pkill compton
if ! i3lock -n "${PARAM[@]}" -i "$IMAGE" > /dev/null 2>&1; then
# We have failed, lets get back to stock one
i3lock -n -i "$IMAGE"
fi
compton -i 0.8 -b
其次,用模糊背景通常会比较慢,尤其是 i3lock-fancy ,需等上 3
秒左右。
那么如果调用 i3lock-fancy
之后你又做了一些别的操作,比如关闭一个窗口,
这时锁屏了,你会发现背景和原来的不一样。 :)