kurrunk

不停转圈的人

文章关键字 ‘openbox’

让Linux中的壁纸自动更新

我的linux桌面一直是黑漆漆的,有一年多没用壁纸了,今天心血来潮了。

1x.com的图片很漂亮,格调简单。
这文章写的就是怎么把1x.com的美图自动设置为自己的桌面,而且这是自动的。
有一点需要注意,1x.com的图片尺寸有限,如果你的显示分辨率大了可能显示效果不会很好(我的800×600显示效果还不错)。

软件环境是:archlinux+openbox+feh。

写个PHP脚本

<?php
error_reporting(1);
require_once 'simplepie.inc';
$feed = new SimplePie('http://1x.com/rss/rss.php', 'cache');
$i=0;
$max = $feed->get_item_quantity();
$curl = curl_init();
while($i<$max){
$item=$feed->get_item($i);
$url=$item->get_permalink();
$id=ereg_replace("^[^0-2|4-9]+D","",$url);
$fp = fopen('tmp-thumb.jpg', "w");
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_setopt($curl,CURLOPT_URL,"http://1x.com/pictures/$id-thumb.jpg");
curl_exec($curl);
fclose($fp);
$xy= getimagesize('tmp-thumb.jpg');
if($xy[0]>$xy[1]){
$fp = fopen('/home/kurrunk/kurrunk.well/1x.jpg', "w");
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_setopt($curl,CURLOPT_URL,"http://1x.com/OEfullSize/$id-fullsize.jpg");
curl_exec($curl);
fclose($fp);
break;
}
$i++;
}
curl_close($curl);
?>

其中用到了rss解析工具“simplepie”,还有curl。
把脚本保存到一个目录下。

写个sh用来执行php脚本,并更新桌面

shell文件的内容是:
export DISPLAY=:0.0
feh --bg-scale ~/kurrunk.well/1x.jpg
php ~/dwell/uw.php
上面的路径根据具体情况设置。

增加可执行属性:
$chmod +x kurrunk.scripts/well.sh

加入计划任务中

创建cron文件,内容为:
0 */2 * * * kurrunk.scripts/well.sh这里任务间隔是2个小时。

激活crontab:
$sudo -u kurrunk crontab kurrunk.scripts/well.cron

查看任务是不是加入了:
$sudo -u kurrunk crontab -l

开机更新壁纸

这个如果不设置的话,初开机时可能是没有壁纸的。

在.config/openbox/autostart.sh加入:
kurrunk.scripts/well.sh
如果要求不高的话也没必要设置计划任务,开机时更新一次就好了。

题外话:本来想用python写的,两分钟过去我没有反应,明白了自己已经把python忘的差不多了。

我的linux桌面换成了xfce4

我家里用的电脑和单位用的电脑都装着linux系统。

家里电脑配置是amd64 2800+、768内存、80G硬盘,经常运行的占用内存较多的软件有firefox和eclipse,不敢用gnome等窗口管理工具,一直以来都是openbox+fbpanel+rox+ruxvt,自己再定制几个快键,效率还算不错,并且内存占用极低,最重要的是还很稳定。

单位的电脑一开始也被我安装了同样的软件(openbox+fbpanel+…),运行了大约有四五个月的时间,昨天换用了xfce4,原因是这台电脑配置不低(4G内存),是不是不应该死盯着内存来选择软件,xfce4是个介于gnome和openbox之间的软件,“体积、美观、易用”被xfce4平衡的似乎很适合我这台电脑。

附桌面截图一张: