ubuntu14.04美化

首先我美化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: [email protected]

#   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来运行,然后跟着做就行了,最后重启一下。

你可能感兴趣的:(ubuntu)