摘要:很多人(包括我)经常取笑 Ubuntu 的默认主题叫做“屎黄色的 Ubuntu”,孰不知 Ubuntu 的主题也可以很好看。本文就教您如何修改 Ubuntu 默认 Gnome 桌面的登录主题。本文适用于那些喜欢美化操作系统的 Linuxer,尤其是那些希望通过美化系统讨女孩子欢心的 Linuxer。
常看我博客的读者会知道,我的很多文章都起源于讨女孩子喜欢的实际需要,这篇文章也是源起于此。我只是想把我和女友的照片放到登录屏幕上,发现只设置为用户头像显示的太小了,于是就自己搞了一个 Gnome 的登录窗口主题(如右图所示),我家希希看了以后相当 happy。
其实自己做一个 Gnome 的登录主题非常简单,主要包括以下几个步骤:
1. 准备好一张背景图片和一个选项按钮图片
背景图片的制作才是整个过程中最难的地方。如果 Gimp 技术好,可以做出非常漂亮的背景。当然,像我这样的图片处理小白也不是没有办法,Google 的 Picasa for Linux 就是非常好的工具,我所用的背景图片就是用 Picasa 对照片进行简单处理得来的。至于 Picasa 怎么用?就超出本文的范畴了,相信仔细探索一下 Picasa 的选项,整合几张照片不是很困难的事情。一定要记住导出的图片应该跟屏幕分辨率大小相当,那样图片才不会变形。
选项按钮图片可以用自己做的矢量 svg 图形,或者只使用按钮,或者使用我提供的模板主题中的 options.svg。
2. 添加几个脚本文件
假设您已经做好的背景图片叫做 nju.jpg,选项按钮图片叫做 options.svg,那么您至少应该再添加两个脚本:nju.xml 和 GdmGreeterTheme.desktop,内容分别是:
$ more nju.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE greeter SYSTEM "greeter.dtd">
<greeter>
<item type="pixmap">
<normal file="nju_love.jpg"/>
<pos x="0" y="0" width="100%" height="0"/>
</item>
<item type="rect">
<normal color="#FFFFFF" alpha="0.5"/>
<!-- Input box postion -->
<pos anchor="c" x="25%" y="80%" width="box" height="box"/>
<box orientation="vertical" min-width="360" xpadding="30" ypadding="20" spacing="10">
<item type="label">
<pos anchor="n" x="50%"/>
<normal color="#000000" font="Sans 16"/>
<!-- Stock label for: Welcome to %h -->
<stock type="welcome-label"/>
</item>
<item type="label" id="pam-prompt">
<pos anchor="nw" x="10%"/>
<normal color="#000000" font="Sans 12"/>
<!-- Stock label for: Username: -->
<stock type="username-label"/>
</item>
<item type="rect">
<normal color="#000000"/>
<pos anchor="n" x="50%" height="24" width="80%"/>
<fixed>
<item type="entry" id="user-pw-entry">
<normal color="#000000" font="Sans 12"/>
<pos anchor="nw" x="1" y="1" height="-2" width="-2"/>
</item>
</fixed>
</item>
<item type="label" id="pam-message">
<pos anchor="n" x="50%"/>
<normal color="#000000" font="Sans 12" alpha="0.5"/>
<text></text>
</item>
<item type="label" id="pam-error">
<pos anchor="n" x="50%"/>
<normal color="#000000" font="Sans 12" alpha="0.5"/>
<text></text>
</item>
<item type="label" id="caps-lock-warning">
<pos anchor="n" x="50%" y="100%"/>
<normal color="#FF0000" font="Sans 12" alpha="0.5"/>
<stock type="caps-lock-warning"/>
</item>
<item type="rect">
<pos x="90%" y="0"/>
<fixed>
<!-- Option button -->
<item type="svg" button="true" id="options_button">
<normal file="options.svg" alpha="0.51"/>
<prelight file="options.svg" alpha="1.0"/>
<pos x="19" y="-28" width="40" height="40"/>
</item>
</fixed>
</item>
</box>
</item>
</greeter>$ more GdmGreeterTheme.desktop[GdmGreeterTheme]
Greeter=nju.xml
Name=NJU
Description=Nanjing University
Author=Solrex Yang
Screenshot=screenshot.png
Copyright=
上面代码中最关键的几点是:一、在 nju.xml 中,我们给出了背景图片的文件名 nju.jpg,选项按钮 options.svg 和登录窗口中登录框的位置和内容;二、在 GdmGreeterTheme.desktop 我们给出了登录窗口主题 xml 定义文件的文件名 nju.xml 和缩略图 screenshot.png。
3. 测试登录窗口主题
假设我们所有的文件都在 nju 目录下,那么我们就可以使用 gdmthemetester 来测试我们的主题能否显示正常了(Ubuntu 下需要先用 sudo apt-get install xnest 安装 xnest 软件包),然后根据显示情况调整登录框的位置。并且可以用截图工具截到屏幕截图 screenshot.png。
$ ls nju $ ls nju GdmGreeterTheme.desktop nju.jpg nju.xml options.svg $ export XNESTSIZE=1024x768 $ gdmthemetester console nju
4. 安装登录窗口主题
我们已经测试过窗口主题,获得了所有文件,就可以将制作的窗口主题文件打包并安装了。
$ ls nju GdmGreeterTheme.desktop nju.jpg nju.xml options.svg screenshot.png $ tar -czvf nju.tar.gz nju
安装过程可以通过图形界面来做:System->Administration->Login Window->Local,然后将做好的安装包 nju.tar.gz 拖到 theme 选择窗口里,安装然后并在前面复选框中选择启动时使用该 theme 即可。
综上所述,可以看到写一个 Gnome 登录主题是非常简单的事情,难就难在怎么设计编排各个元素的位置。为了解更多的 theme 选项,读者可以自行去查看 Ubuntu 自带 theme 的源代码,在 /usr/share/gdm/themes/ 目录下。另外,在我的共享目录 http://share.solrex.org/misc/nju.tar.gz 可以下载到本文中提供的模板主题。
赞一个 图片很好看!
google reader更新的不够快啊, 我是从space发现你的新博文的.
保卫南大校门大游行~