Linux区


把xscreensaver屏保搬到屏幕右上角,Linux桌面逼格提升一小截

Linux的xscreensaver屏保就像一个个微型的小游戏,它们既像动画视频,又具有互动性,那么将Linux的xscreensaver屏幕保护程序搬到屏幕右上角,做一个特效窗口显示,是不是有点炫酷呢?今天小衲告诉你怎么实现。

首先,安装xscreensaver,然后在终端中运行/usr/lib/xscreensaver/fireworkx命令,你会发现屏幕动画可以独立在窗口中运行,有意思吧?

第2步,去掉窗口边缘。这需要wm配合,我用的是LXDE桌面,LXDE可以用lxsession-default-apps应用程序修改LXDE默认窗口管理器openbox为compiz,后者特效非常多。运行ccsm命令,打开CompizConfig设置管理器,搜deco,如下图所示,在“装饰窗口”和“阴影窗口”里填入(any) & !(title=from the XScreenSaver),意思是所有Xscreensaver屏保都不要渲染窗口边框和阴影。如此,逼格就有了。

第3步,在任意文件夹里建立一个名为xss的shell小脚本,将其链接到/usr/bin文件夹里,运行xss命令,马上即可在屏幕右上角运行任意屏保程序,并且不用费劲地调整窗口大小和位置。脚本内容如下:

#!/bin/sh

#如有xscreensaver正在运行,就杀死它
ps -ef | grep '/usr/lib/xscreensaver/' | grep -v grep | awk '{print $2}' | xargs -r kill -9

#运行xss,不加后缀,即随机屏保;如果运行xss polytopes这样的命令,就打开polytopes屏保
if [[ -z $1 ]]; then
xdotool exec `shuf -n1 -e /usr/lib/xscreensaver/*`
else
xdotool exec /usr/lib/xscreensaver/$1
fi

#暂缓0.1秒以让wmctrl捕捉窗口
sleep 0.1
#用wmctrl控制窗口大小和位置。2120是窗口左边缘距离显示屏最左边缘的距离,可以根据自己的显示器分辨率来修改。
wmctrl -l -r 'the Xscreensaver' -e 0,2120,80,360,240

需要安装好xdotool和wmctrl两个小应用。脚本最后一行中的2120是窗口左边缘距离显示屏最左边缘的距离,你可以根据自己的显示器分辨率来修改。

再上一张terminator的截图:

你可以伪装成黑客,将动画屏保覆盖在terminator的某个分割窗口上,逼格满满。你需要将这个屏保小窗口置顶,一般的窗口管理器都有“窗口置顶”的菜单项的。

相关博文



发表评论

电子邮件地址不会被公开。