如何更改登录界面的壁纸?

我想在登录界面(Unity Greeter)设置壁纸,我该怎么做?
16个回答

Ubuntu 12.04到13.04

Ubuntu 12.04 Unity登录界面引入了选定用户动态背景功能,这意味着当从可用用户列表中选择一个用户时,背景将会改变以反映所选用户的桌面背景。

默认情况下,lightdm将把/usr/share/backgrounds/warty-final-ubuntu.png设置为默认背景,并开启动态背景切换选项。

关闭动态切换


打开终端并获取root权限

sudo -i

(输入sudo密码)

允许用户lightdm创建到X服务器的连接

xhost +SI:localuser:lightdm

切换用户到lightdm
su lightdm -s /bin/bash

关闭背景的动态切换
gsettings set com.canonical.unity-greeter draw-user-backgrounds 'false'

如果你想在更改设置后将其重置为默认值,请按照所有步骤进行操作,直到上述命令,并使用以下替代方法。
gsettings reset com.canonical.unity-greeter draw-user-backgrounds

当您完成设置或将动态背景功能重置为默认值后,可以关闭终端或输入2x exit,第一次返回到root,第二次清除根权限并恢复到您的普通用户。

更改默认固定背景

(仅在用户未设置桌面背景图片或动态设置设置为false时才会看到此选项)

打开终端并获取root权限

sudo -i

(输入sudo密码)

允许用户lightdm与X服务器建立连接

xhost +SI:localuser:lightdm

切换用户到lightdm

su lightdm -s /bin/bash

更改默认背景为您选择的图片
gsettings set com.canonical.unity-greeter background '/foo/wallpaper.png'

(注意:壁纸文件不能位于加密用户的主目录中,这些文件只有在用户使用自己的账户登录后才会挂载。)
(如果您想将其恢复为默认背景,请按照上述步骤执行,但是在命令行中输入以下内容)
gsettings reset com.canonical.unity-greeter background

当你完成更改默认背景功能或恢复到默认背景后,你可以关闭终端或者输入两次exit命令。第一次是为了恢复到root用户,第二次是为了清除root权限并回到普通用户状态。

我认为,添加这些信息将有助于像我们这样的未来用户,他们希望在lightdm上禁用任何纸张。我首先禁用了“drawing-user-background”功能,然后设置了一个只存在于..(不,它不存在)的背景。现在我的登录界面更漂亮了。 - Anwar
我使用了"更改默认的固定背景",它起作用,但之后我不知道为什么,在重新启动后出现了一个"低图形模式"的消息,lightdm 不再启动。然后我找到了这个解决方案来更改 lightdm 的背景。 - BuZZ-dEE
我有两个用户,每个用户都有不同的自定义壁纸。我希望一个用户在登录界面上显示自己的壁纸,但另一个用户显示默认的warty-final-ubuntu壁纸。我应该如何做到这一点?是否有可能在没有额外程序的情况下,根据用户的壁纸来设置每个用户的登录背景? - JamesTheAwesomeDude
如何将在显示Ubiquity安装程序时显示的warty-final-ubuntu.png更改为其他图像? - Roshan George
按照备选答案中的建议,制作一个覆盖文件会更加简单和安全。 - Robert Ancell
用户lightdm是什么?它是特殊用户吗?我应该使用他的名字吗?还是可以用自己的用户名替代? - Dims
这适用于13.10和14.04吗? - Seth
116.04是怎么样的呢? - Karl Morrison

11.10版本使用说明

请在终端中运行以下命令(按下Ctrl+Alt+T

gksu gedit /etc/lightdm/unity-greeter.conf

你会看到gedit(文本编辑器应用程序)显示出这段文字:

enter image description here

只需编辑包含BACKGROUND=...的行,将其替换为所需背景图像的绝对路径。

然后点击保存或按下Ctrl+S并关闭窗口。完成。

退出登录以查看效果。

source


2第一次我尝试时,我使用了位于 /home 目录下的文件,但没有成功,只是得到了一个黑色背景(可能是因为 /home 目录被加密了?)。改成了位于 /usr/share/backgrounds/<图片名称>.jpg 的文件后成功了。 - Tom Brossman

Ubuntu 12.0414.0416.04

Bruno Pereira的回答对我有用,但不能在没有X11的情况下使用。 以下是另一种实现相同效果的方法...无需X11(且易于脚本化):

编辑以下文件:

sudoedit /usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override

[com.canonical.unity-greeter]
draw-user-backgrounds=false
background='/foo/wallpaper.png'

应用新的设置:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

3这似乎是在12.04版本中最好的方法。 - Carsten Agger
1我能够在我们的预置环境中使用这个,它适用于Ubuntu 13.10! - Bastian Rang
1这种方法在Ubuntu Wiki的lightdm页面上列出,也在各种论坛上提到,包括Arch论坛。我已经创建了一个小脚本,允许通过命令行随意更改greeter,形式为sudo ./script /path/to/image。它可以在我的github页面上找到。它已在Ubuntu 14.04 LTS和15.10中进行了测试。 - Sergiy Kolodyazhnyy
答案在16.04版本中同样适用。 - WinEunuuchs2Unix

11.10 - 简易LightDM管理器
一位有进取心的开发者制作了一个简单的小程序,可以更改壁纸。

enter image description here

to install

sudo apt-add-repository ppa:claudiocn/slm
sudo apt-get update
sudo apt-get install simple-lightdm-manager

source


连接到这个仓库不稳定。 - enthusiasticgeek

Ubuntu 12.10

这种方法使用dconf-editor而不是gsettings。对unity-greeter的更改必须以lightdm用户身份进行。步骤如下:

  1. 切换到root用户。
  2. 给lightdm用户访问X服务器的权限。
  3. 切换到lightdm用户。
  4. 运行dconf-editor。
  5. 选择/com/canonical/unity-greeter并更改属性。

  1. 切换到 root 用户。

    sudo -i
    
  2. 给 lightdm 用户访问 X 服务器的权限。

    xhost +SI:localuser:lightdm
    
  3. 切换到 lightdm 用户。

    su lightdm -s /bin/bash
    
  4. 运行 dconf-editor。

    dconf-editor
    
  5. 选择 /com/canonical/unity-greeter 并修改属性。

    dconf-editor


需要使用 dbus-launch dconf-editor - Khurshid Alam
dconf-editor 是必需的。使用 sudo apt-get install dconf-editor。我在 12.04、14.04 和 16.04 上都用过这个。 - tlhIngan

11.10

我建议使用Ubuntu Tweak。你可以舒适地配置标志和背景图像,而不必在配置文件中瞎搞。

enter image description here

这个截图是在10.10 Maverick上拍摄的,如果有人能轻松地检查它是否也适用于最新的Ubuntu版本,并对这个答案进行编辑,那就欢迎!

1界面相当不同,但它确实允许用户更改背景和登录屏幕的标志。 - Alfredo Hernández
@AlfredoHernández 在11.10吧? - lumbric
是的,抱歉,我忘记了那部分 xD - Alfredo Hernández
它搞乱了我的登录壁纸!现在变成黑色背景了! - Ravi

11.10版本:

你需要编辑/etc/lightdm/unity-greeter.conf文件(sudo nano /etc/lightdm/unity-greeter.conf)。在该文件中,你需要替换BACKGROUND标签的值。

请参考下面的屏幕截图。

enter image description here


主要的答案对我来说不适用,因为我没有使用unity-greeter。我的lightdm配置为使用lightdm-gtk-greeter。
通过查看lightdm源代码,我找到了一个解决方案。它通过查询DBus来查找用户的BackgroundFile属性。您可以使用d-feet程序(或命令行工具)来更改此属性。
在d-feet上导航到这个点:

http://i.stack.imgur.com/PvvMe.png

双击“SetBackgroundFile”函数。在打开的窗口中,输入您想要的壁纸文件名(用双引号括起来)。点击执行按钮。如果一切顺利,您将看到一条消息,如“此函数没有返回任何内容”。
下次运行lightdm时,它应该有您选择的新壁纸。

值得注意的是,我并没有使用任何主要的窗口管理器(我使用的是i3),这就是为什么我不能使用其他方法的原因。 - Jeremy Stephens
这是一个可以用来从命令行设置壁纸的脚本:https://gist.github.com/viking/6232740 - Jeremy Stephens

所有版本

1) 下载Ubuntu Tweak:

下载Ubuntu 12.04 Precise Pangolin

下载Ubuntu 11.10 Oneiric Ocelot

下载其他Ubuntu版本

如果您使用的是12.04 Precise版本:只需更改桌面壁纸即可更改登录壁纸,使用Ubuntu Tweak只能更改标志。

如果您使用的是11.10 Oneiric版本,您可以使用Ubuntu Tweak来更改登录壁纸和标志。

2) 打开已下载的软件包并进行安装 screenshoot

3) 启动Ubuntu Tweak。

去“调整”>“登录设置”。 点击“解锁”并点击您想要更改的图像。 screenshoot 如果您使用12.04版本,请更改登录壁纸,只需更改桌面壁纸即可。使用Ubuntu Tweak可以更改标志。

这是对我有效的方法。通过nautilus,我将原始的/usr/share/backgrounds/warty-final-ubuntu.png图像文件重命名,然后将我喜欢的图像粘贴为登录壁纸,并将其重命名为warty-final-ubuntu.png,然后应用与原始文件相同的属性。