问题描述
我想在登录界面(Unity Greeter)中设置壁纸,我该怎么做?
最佳解决思路
Ubuntu 12.04到13.04
Ubuntu 12.04 Unity greeter引入了选定的用户动态背景,这意味着从可用用户列表中选择用户时,背景将更改以反映所选用户的桌面背景。
默认情况下,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,第二个清除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
完成更改默认背景功能或恢复默认背景功能后,您可以关闭终端或键入2x exit
,首先恢复为root,第二个清除root权限并恢复为普通用户。
次佳解决思路
对于11.10
在终端中运行此命令(Ctrl
+ Alt
+ T
)
gksu gedit /etc/lightdm/unity-greeter.conf
你会看到gedit(text-editor应用程序)出现在这个文本中:
只需编辑显示BACKGROUND=...
的行,其中包含您所需背景图像的绝对路径。
然后单击“保存”或“Ctrl
+ S
”并关闭窗口。你完成了。
退出以查看它是否正常工作。
第三种解决思路
11.10 – 简单的LightDM管理器
一个有进取心的开发人员已经组建了一个简单的小程序,它将改变壁纸:
安装
sudo apt-add-repository ppa:claudiocn/slm
sudo apt-get update
sudo apt-get install simple-lightdm-manager
第四种思路
Ubuntu 12.04,14.04& 16.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/
第五种思路
11.10
我建议使用Ubuntu Tweak。您可以轻松配置徽标和backgroundimage的内容,而无需弄乱配置文件:
这个截图是在10.10 Maverick上拍摄的,如果有人可以轻松检查它是否也能用于最近的Ubuntu版本,欢迎编辑这个答案!
第六种思路
Ubuntu 12.10
这种方法使用dconf-editor,而不是gsettings。必须以lightdm用户身份对unity-greeter进行更改。步骤如下:
-
更改为root用户。
-
为lightdm用户提供对X服务器的访问权限。
-
更改为lightdm用户。
-
运行dconf-editor。
-
选择/com /canonical /unity-greeter并更改属性。
-
更改为root用户。
sudo -i
-
为lightdm用户提供对X服务器的访问权限。
xhost +SI:localuser:lightdm
-
更改为lightdm用户。
su lightdm -s /bin/bash
-
运行dconf-editor。
dconf-editor
-
选择/com /canonical /unity-greeter并更改属性。
第七种思路
对于11.10:
您需要编辑/etc/lightdm/unity-greeter.conf(sudo nano /etc/lightdm/unity-greeter.conf
)。在该文件中,您必须替换BACKGROUND标记的值。
如需参考,请查看以下屏幕截图。
第八种思路
主要答案对我不起作用,因为我没有使用unity-greeter。我的lightdm配置为使用lightdm-gtk-greeter。
我通过查看lightdm源代码找到了一个解决方案。它查询DBus以找到用户的BackgroundFile属性。您可以使用d-feet程序(或命令行工具)更改此设置。
在d-feet上导航到这一点:
双击”SetBackgroundFile”功能。在打开的窗口中,键入所需的壁纸文件名(在其周围加上双引号)。单击“执行”按钮。如果一切顺利,你会看到一条消息,例如“这个函数没有返回任何东西”。
下一次lightdm运行时,它应该有你选择的新壁纸。
第九种思路
所有版本
1)下载Ubuntu Tweak:
Download for Ubuntu 12.04 Precise Pangolin
Download for Ubuntu 11.10 Oneiric Ocelot
如果您使用12.04精确:更改登录壁纸只需更改您的桌面壁纸,使用Ubuntu Tweak您只能更改徽标。
如果您使用11.10 Oneiric,您可以使用Ubuntu Tweak更改登录壁纸和徽标。
2)打开下载的软件包并进行安装
3)启动Ubuntu Tweak。
转到调整>登录设置。单击“解锁”,然后单击要更改的图像。
如果您使用12.04精确:更改登录壁纸只需更改您的桌面壁纸,使用Ubuntu Tweak您可以更改徽标。
第十种思路
这是12.04的解决方法和当前版本的unity-greeter(默认为”theme”)。对于像lightdm-gtk-greeter这样的其他欢迎者,通常在/etc/lightdm/
中编辑conf文件。但是unity-greeter不再关注unity-greeter.conf了,目前还不清楚如何配置它。
我做的是:我找到了unity-greeter坚持使用的图像。对我来说,它是在/usr/share/backgrounds
。移动/删除/重命名。现在unity-greeter将回退到默认背景/usr/share/backgrounds/warty-final-ubuntu.png
。移动/删除/重命名。现在,您需要使用该名称在该位置放置另一个图像。不,它不一定是png(实际上,warty-final-ubuntu.png实际上是一个jpg,原因我不会进入这里)。我相信替换必须是jpg(有人纠正我,如果我错了)。这里要非常小心。我认为如果lightdm无法回退到默认背景,可能会发生一些可怕的事情: – /(也许它只显示彩色背景……无论如何要小心!)。
就我而言,我刚从该位置的另一个背景中创建了一个符号链接:
sudo ln -s Bird_by_Magnus.jpg warty-final-ubuntu.png
在/usr/share/backgrounds/
中运行此命令(或相应地调整命令)。当然,用可用和期望的任何东西替换jpg。
请记住,如果您要在家中使用背景,则需要确保您的房屋未加密,因为在您登录之前,lightdm将无法读取该文件。还要确保您对该文件具有正确的权限。如果您不知道这意味着什么,请坚持使用已经在/usr/share/backgrounds/
中的壁纸。 (随机提示:您可以通过sudo apt-get install ubuntu-wallpapers-oneiric
在该目录中正确安装早期版本的Ubuntu中的更多壁纸,将’oneiric’替换为’natty’等)