zoukankan      html  css  js  c++  java
  • 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: 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 "	<starttime>"  >>$conf_file_name
        echo -e "		<year>2014</year>" >>$conf_file_name
        echo -e "		<month>01</month>" >>$conf_file_name
        echo -e "		<day>01</day>" >>$conf_file_name
        echo -e "		<hour>00</hour>" >>$conf_file_name
        echo -e "		<minute>00</minute>" >>$conf_file_name
        echo -e "		<second>00</second>" >>$conf_file_name
        echo -e "	</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 "	<static>" >>$conf_file_name
            echo -e "		<duration>$static_duration</duration>" >>$conf_file_name
            echo -e "		<file>$from_picture</file>" >>$conf_file_name
            echo -e "	</static>" >>$conf_file_name
    
            echo -e "	<transition>" >>$conf_file_name
            echo -e "		<duration>$transition_duration</duration>" >>$conf_file_name
            echo -e "		<from>$from_picture</from>" >>$conf_file_name
            echo -e "		<to>$to_picture</to>" >>$conf_file_name
            echo -e "	</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 "+复制完毕!
    "
    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 "
    <!--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来运行,然后跟着做就行了,最后重启一下。

  • 相关阅读:
    LeetCode OJ--Sort Colors
    LeetCode OJ--Single Number II **
    LeetCode OJ--Single Number
    LeetCode OJ--Subsets II
    LeetCode OJ--ZigZag Conversion
    3ds Max学习日记(三)
    3ds Max学习日记(二)
    3ds Max学习日记(一)
    PokeCats开发者日志(十三)
    PokeCats开发者日志(十二)
  • 原文地址:https://www.cnblogs.com/iwtwiioi/p/3857510.html
Copyright © 2011-2022 走看看