首先我美化grub启动菜单背景和开关机背景,还有自动换壁纸。其它的美化日后再写博文。

Grub启动菜单背景更换:

这个很简单,比以前的ubuntu和grub版本简单多了,直接将图片文件放到/boot/grub中即可,最后更新一下,注意权限是root的就行了

sudo cp ./a.jpg /boot/grub/a.jpg

开关机背景替换:

现在ubuntu的开关机画面都是由plymouth来控制的,你可以装plymouth管理器,在网上下载主题来装,但这里我只要开关机背景就行了,管理器什么的我都不装了,直接改。

首先在/lib/plymouth/themes建立个文件夹,用root建立

sudo mkdir /lib/plymouth/themes/xx

然后将你想要的图片放进这个xx文件夹内,注意,要png格式的,(我不清楚,照做就行)

我们假设图片是background.png

sudo cp ./background.png /lib/plymouth/themes/xx

然后再建立2个文件

sudo gedit /lib/plymouth/themes/xx/xx.plymouth

在里面添加:

[Plymouth Theme]
Name=xx
Description=xxxxxxxxxx
ModuleName=script [script]
ImageDir=/lib/plymouth/themes/xx
ScriptFile=/lib/plymouth/themes/xx/xx.script

再建立个文件

sudo gedit /lib/plymouth/themes/xx/xx.script

在里面添加:

Window.GetMaxWidth = fun (){
i = 0;
width = 0;
while (Window.GetWidth(i)){
width = Math.Max(width, Window.GetWidth(i));
i++;
}
return width;
}; Window.GetMaxHeight = fun (){
i = 0;
height = 0;
while (Window.GetHeight(i)){
height = Math.Max(height, Window.GetHeight(i));
i++;
}
return height;
};
background.original_image = ImageNew("background.png");
background.image = background.original_image.Scale(Window.GetMaxWidth() , Window.GetMaxHeight());
background.sprite = SpriteNew();
background.sprite.SetImage(background.image);
background.sprite.SetPosition(Window.GetX(), Window.GetY(), -10);

然后更新到plymouth启动即可,

sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/xx/xx.plymouth 100

sudo update-alternatives --config

在里面选择刚刚添加的序号即可

最后更新一下

sudo update-initramfs  -u

自动切换壁纸:

compiz太恶心了,弄了自动换壁纸桌面上所有文件夹什么的都会消失,虽然还存在,但是看不到。所以我放弃了compiz的,在网上找了些脚本,自己弄个壁纸切换吧。

(我直接从http://blog.csdn.net/leomon_1993/article/details/30291283抄了,从这里转载)

建立一个sh文件,在里面添加:

#!/bin/bash
# Program:
#
# Author: Leomon
# Email: 1964416932@qq.com
# Blog: blog.csdn.net/leomon_1993
#
# History:
# 2014/5-2014/6 First Release.
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH #Variables
#源(壁纸)目录
source=
#目标地址
destination=/usr/share/backgrounds
#目标文件夹的名称
dest_name="pictures"
#目标文件列表
filelist=
#配置文件名称
conf_file_name="trusty.xml"
#标志标量,1表示第一次循环开始。
flag="1"
#图片静止的时间
s_duration=1795.0
t_duration=5.0
#End of Variables #Functions #函数:用来生成节点<starttime></starttime>
function Create_Starttime
{
echo -e "\t<starttime>" >>$conf_file_name
echo -e "\t\t<year>2014</year>" >>$conf_file_name
echo -e "\t\t<month>01</month>" >>$conf_file_name
echo -e "\t\t<day>01</day>" >>$conf_file_name
echo -e "\t\t<hour>00</hour>" >>$conf_file_name
echo -e "\t\t<minute>00</minute>" >>$conf_file_name
echo -e "\t\t<second>00</second>" >>$conf_file_name
echo -e "\t</starttime>" >>$conf_file_name
} #函数:用来生成幻灯片动画配置节点
function Create_Animation ()
{
if [[ "$#" == "4" ]]; then
static_duration=$1
transition_duration=$2
from_picture=$3
to_picture=$4
echo "++from picture [$from_picture] to [$to_picture]."
echo -e "\t<static>" >>$conf_file_name
echo -e "\t\t<duration>$static_duration</duration>" >>$conf_file_name
echo -e "\t\t<file>$from_picture</file>" >>$conf_file_name
echo -e "\t</static>" >>$conf_file_name echo -e "\t<transition>" >>$conf_file_name
echo -e "\t\t<duration>$transition_duration</duration>" >>$conf_file_name
echo -e "\t\t<from>$from_picture</from>" >>$conf_file_name
echo -e "\t\t<to>$to_picture</to>" >>$conf_file_name
echo -e "\t</transition>" >>$conf_file_name
else
echo "+参数个数不匹配,无法生成!"
fi
} #End of Functions
#Clear the screen..
clear
#首先判断下参数个数是否为1,并且后面接的是一个目录
if [[ "$#" == "1" ]]; then
if [[ -d "$1" ]]; then
source=$1
else
echo "+Err:后面连接的参数非目录,退出!"
exit 0
fi
else
echo "+Err:参数个数不为1,退出!"
exit 0
fi #这儿开始咯。。。。
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo "+ 欢迎使用 +"
echo "+脚本名称:slide_wallpaper_creator. +"
echo "+脚本功能:自动生成幻灯片壁纸配置,让您的桌面壁纸自动切换 +"
echo "+作者:@leomon 2014/6/12 博客:blog.csdn.net/leomon_1993. +"
echo "+版本:version 0.1 +"
echo "+更改日志:无 +"
echo "+注意:该脚本只适用于Ubuntu14.04 Desktop版本,其他的版本自+"
echo "+行测试修改。具体参见README文件说明。 +"
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
read -p "+继续执行脚本?(y/n)" yn
case $yn in
"y")
;;
"n")
echo "+停止执行."
exit 0
;;
esac #首先将所有的壁纸复制到指定的位置
read -p "+将要把 $source 中所有图片复制到 $destination/$dest_name, 您需要重命名目标文件夹吗?(y/n)" yn
case $yn in
"y")
echo "++当前目标文件夹名称是:$dest_name."
read -p "++输入新的名称:" dest_name
echo "++好的,您已成功更新目标文件夹名称为:$dest_name"
;;
*)
;;
esac
#开始复制图片到目标文件夹中
destination="$destination/$dest_name"
if [ ! -d $destination ];then
echo "+正在生成目录$destination"
mkdir $destination
echo "+正在复制图片到$destination..."
cd $source
cp ./* $destination
echo -e "+复制完毕!\n"
else
echo "+检测到有相同的目录,停止复制图片..."
fi #进入目标目录
echo "+进入目标目录..."
cd $destination
#修改权限
chmod 444 ./* #准备生成配置文件
echo -e "+正在生成配置文件,请稍等..."
test -f $conf_file_name && rm -f $conf_file_name #生成头节点
echo "+添加起始节点..."
echo "<background>" >>$conf_file_name #添加起始时间节点
echo "+添加起始时间节点..."
Create_Starttime echo "+准备添加动画切换节点..."
echo -e "\n<!--This animation will start at midnight.-->" >>$conf_file_name #配置切换动画时间
read -p "+是否使用默认的壁纸切换配置?(y/n)" yn
case $yn in
"y" )
;;
"n")
read -p "设置每张壁纸静止的时间(默认为1795.0,单位:秒):" s_duration
read -p "设置壁纸切换的时间间隔(默认为5.0,单位:秒):" t_duration
;;
*)
echo "输入有误!使用默认的切换配置."
;;
esac #获取文件列表
echo "++正在获取图片列表..."
#将空格替换成?来处理
filelist=`ls | tr " " "\?"`
#遍历可以得到整个目录
from=
to=
first=
for filename in $filelist
do
case $filename in
"filenames")
;;
"$conf_file_name")
;;
*)
case $flag in
"1")
from="$destination/$filename"
first=$from
to=$from
flag="0"
;;
"0")
from=$to
to="$destination/$filename"
#echo $from
#echo $to
#调用函数生成新节点
Create_Animation "$s_duration" "$t_duration" "$from" "$to"
#为了显示出来动态的效果,遂采用进程睡眠的方式来实现。。。
sleep 0.05
;;
esac
;;
esac
done
#循环回去
Create_Animation "$s_duration" "$t_duration" "$to" "$first" echo "+添加尾节点..."
echo "</background>" >>$conf_file_name echo "+Ubuntu 幻灯片壁纸配置文件生成完毕!" #下面将生成的配置文件存放到contest目录中,并重新命名为trusty.xml
cd .. test -d contest && echo "+检测到目录contest." || (echo "+新建目录:contest";mkdir contest)
cd contest #查看目录中有没有已经存在的配置文件,并询问用户如何处理旧的配置文件
if [[ -f "$conf_file_name" ]]; then
read -p "+发现同名的配置文件,直接覆盖?(y/n)" yn
case $yn in
"y")
;;
"n")
echo "+正在备份旧的配置文件..."
#为防止重名,使用带有时间的后缀名称。
mv $conf_file_name ${conf_file_name}.`date +%H_%M_%S`back
;;
"*")
;;
esac
fi
#复制配置文件过来
echo "+复制配置文件到`pwd`..."
cp "$destination/$conf_file_name" ./ #完成了
echo "+Success! 请在桌面空白处右键菜单,选择更换桌面背景项进行设置。谢谢您的使用!"
#Return status to System.
exit 0

用sudo来运行,然后跟着做就行了,最后重启一下。

ubuntu14.04美化的更多相关文章

  1. 在Ubuntu14.04下安装运行Unity-tweak-tool报错scheme missing的解决办法

    问题: 安装完unity-tweak-tool后,打开运行弹出出错窗口,忘了截图了,提示内容: scheme missing! Error: schema com.canonical.indicato ...

  2. win8.1硬盘安装ubuntu14.04双系统

    在网上找了很多方法都失败了,原因是大多数方法都是用mbr方式安装的,如grub4dos,easybcd.以至于连自己都怀疑win8能不能用硬盘安装,差点就去买个u盘来安装了,就在打算放弃的时候在ubu ...

  3. Ubuntu14.04配置Mono+Jexus

    总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但 ...

  4. ubuntu14.04安装及web环境的搭建

    在进行接下来的工作之前首先得准备一个Ubuntu的启动U盘以及腾出一个至少50G的系统盘(在网上看到有人用20G的,不知道效果怎么样).关于Ubuntu启动U盘大家可以参考这个帖子 http://ti ...

  5. Ubuntu14.04解决远程root-ssh拒绝登录

    (1)查看ip地址是否冲突 我在单位的虚拟机ip地址是192.168.14.85,与其它机器冲突了.改成了192.168.14.83 (2)关闭Ubuntu14.04的防火墙 root@stgman- ...

  6. Ubuntu14.04安装python3.5

    Ubuntu14.04系统会自带python2.7,请不要卸载它,不同版本的Python可以共存. #sudo add-apt-repository ppa:fkrull/deadsnakes #su ...

  7. ubuntu14.04下搭建python+mysql环境

    简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...

  8. ubuntu14.04环境下spyder的安装

    在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3. 首先安装为pyth ...

  9. Ubuntu14.04源

    Ubuntu14.04源:   来源: http://wiki.ubuntu.org.cn/Qref/Source (包含15.04.14.10.14.04.12.04.10.04的源)     Ub ...

随机推荐

  1. Python字符串与数字互转,数字格式化

    # -*- coding: gbk -*- import re #将数字格式化为带三位数逗号的字符串 def formatNumber(number): numStr='%d'%number form ...

  2. PHP 遍历数组的方法汇总

    1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. #example1: <?php $colors= array('red','blue','green' ...

  3. js 实现图片预加载 (js操作 Image对象属性complete ,事件onload 异步加载图片)

    通过js操纵DOM很多情况下都是为了实现和当前页html元素的异步载入,我谈谈对Image对象的一些认识.看个例子:<input type="button" name=&qu ...

  4. MPlayer-ww 增加边看边剪切功能+生成高质量GIF功能

    http://pan.baidu.com/s/1eQm5a74 下载FFmpeg palettegen paletteuse documentation 需要下载 FFmpeg2.6 以上 并FFmp ...

  5. codeforces 485B Valuable Resources 解题报告

    题目链接:http://codeforces.com/problemset/problem/485/B 题目意思:需要建造一个正方形的city,这座city的边需要满足平行于 x 轴和 y 轴,而且这 ...

  6. iOS开发——开发实战篇&版本控制SVN和Git使用详解

     版本控制SVN和Git使用详解     公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的!     -----------------svn--------- ...

  7. 安装chocolatey

    C:\> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.web ...

  8. RocketMQ最佳实践

    1.RocketMQ中的专业术语 Topic topic表示消息的第一级类型,比如一个电商系统的消息可以分为:交易消息.物流消息...... 一条消息必须有一个Topic. Tag Tag表示消息的第 ...

  9. eoe项目结构

    ├ cn.eoe.app –存放程序全局性类的包├ cn.eoe.app.adapter –存放适配器的实现类的包 ├ cn.eoe.app.adapter.base –存放适配器基类的包├ cn.e ...

  10. exit()与_exit()函数的区别(Linux系统中)

    注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXI ...