如何更改登录屏幕的壁纸?
我想在登录界面(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
完成设置或重置为默认动态背景function后,您可以关闭终端或键入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
完成更改默认背景function或恢复默认背景function后,您可以关闭终端或键入2x exit
,首先恢复为root ,第二个清除root权限并恢复为普通用户。
对于11.10
在终端中运行此命令( Ctrl + Alt + T )
gksu gedit /etc/lightdm/unity-greeter.conf
您将看到带有此文本的gedit(文本编辑器应用程序):
只需编辑描述BACKGROUND=...
的行,其中包含您所需背景图像的绝对路径。
然后单击“保存”或Ctrl + S并关闭窗口。 你完成了。
退出以查看它是否正常工作。
资源
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 – 简单的LightDM管理器
一个有进取心的开发人员已经组建了一个简单的小程序,它将改变壁纸:
安装
sudo apt-add-repository ppa:claudiocn/slm sudo apt-get update sudo apt-get install simple-lightdm-manager
资源
11.10
我建议使用Ubuntu Tweak 。 您可以轻松配置徽标和backgroundimage的内容,而无需弄乱配置文件:
这个截图是在10.10 Maverick上拍摄的,如果有人可以轻松检查它是否也能用于最近的Ubuntu版本,欢迎编辑这个答案!
Ubuntu 12.10
这种方法使用dconf编辑器,而不是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 sudo nano /etc/lightdm/unity-greeter.conf
)。 在该文件中,您必须替换BACKGROUND标记的值。
如需参考,请查看以下屏幕截图。
主要答案对我不起作用,因为我没有使用统一性。 我的lightdm配置为使用lightdm-gtk-greeter。
我通过查看lightdm源代码找到了一个解决方案。 它查询DBus以找到用户的BackgroundFile属性。 您可以使用d-feet程序(或命令行工具)更改此设置。
在d-feet上导航到这一点:
双击“SetBackgroundFile”函数。 在打开的窗口中,键入所需的壁纸文件名(在其周围加上双引号)。 单击“执行”按钮。 如果一切顺利,你会看到一条消息,例如“这个函数没有返回任何东西”。
下一次lightdm运行时,它应该有你选择的新壁纸。
所有版本
1)下载Ubuntu Tweak:
下载Ubuntu 12.04精确穿山甲
下载Ubuntu 11.10 Oneiric Ocelot
下载其他Ubuntu
如果您使用12.04精确:更改登录壁纸只需更改您的桌面壁纸 ,使用Ubuntu Tweak您只能更改徽标。
如果您使用11.10 Oneiric,您可以使用Ubuntu Tweak更改登录壁纸和徽标。
2)打开下载的软件包并进行安装
3)启动Ubuntu Tweak。
转到调整>登录设置。 单击“解锁”,然后单击要更改的图像。
如果您使用12.04精确:更改登录壁纸只需更改您的桌面壁纸,使用Ubuntu Tweak您可以更改徽标。
这是12.04的解决方法和unity-greeter的当前版本(默认的“主题”)。 对于像lightdm-gtk-greeter这样的其他欢迎程序,通常在/etc/lightdm/
编辑conf文件。 但是,团结一致的人不再关注unity-greeter.conf,而且还不清楚如何配置它。
我所做的就是这样:我发现了统一性的坚持使用的形象。 对我来说,它在/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
,用’natty’替换’oneiric’等等,从该目录中正确安装的早期版本的Ubuntu中获得更多壁纸。)
这对我有用。 通过nautilus,我将原来的/usr/share/backgrounds/warty-final-ubuntu.png
图像文件重命名,然后我将我喜欢的图像粘贴为登录壁纸并将其重命名为warty-final-ubuntu.png,然后应用与原始文件属性相同的文件属性。
Ubuntu 16.10没有使用dconf的X11
该解决方案是samb的变体。 此解决方案的好处是所有自定义都在/etc
完成,并且只需要编译一个文件。
mkdir /etc/dconf/db/local.d sudo edit /etc/dconf/db/local.d/10-unity-greeter
根据您的偏好更改设置:
[com/canonical/unity-greeter] draw-user-backgrounds=false background='/usr/share/backgrounds/Haukland_Beach_view_by_Michele_Agostini.jpg'
为这些设置创建编译文件:
sudo dconf compile /etc/dconf/db/local /etc/dconf/db/local.d
编辑用户个人资料:
sudo edit /etc/dconf/profile/user
通过system-db
条目包括本地自定义:
user-db:user system-db:local
您可能需要重新启动lightdm才能显示更改:
if dialog --defaultno --yesno "Restart lightdm?\n\nThis will terminate all desktop sessions!" 10 30; then sudo service lightdm restart; fi
Etvoilà,一个定制的统一 – 欢迎背景。
结果
12.04
在Ubuntu 12.04中,您不再需要执行所有这些命令行编辑。 所有你需要做的就是改变你的壁纸和音乐 , LightDM将它用作背景(:
可悲的是它似乎还没有完全实现,因为当你的计算机启动时,你会看到默认的Ubuntu壁纸几秒钟后才能更改到你的壁纸。 但由于我们正在谈论测试版( Ubuntu 12.04目前处于Beta 2版本 ),所以它是预期的。
希望它能回答你的问题(:
Ubuntu 12.04
只需将所需的lightdm背景放在默认的Ubuntu图片文件夹(不是子文件夹)中,然后将其设置为壁纸。
资料来源: http : //wiki.ubuntuusers.de/LightDM#Hintergrundbild
Ubuntu 16.04
使用Nautilus导航并查看相应的.png或.jpg文件以用作登录屏幕和锁屏壁纸后,Nautilus可以使用脚本为您设置:
注意:在Ubuntu 18.04中,仅更改了锁屏壁纸。 更改登录壁纸将需要不同的技术。
要创建脚本,请使用:
cd ~/.local/share/nautilus/scripts/ gedit set-login-wallpaper
粘贴在这些行中:
#!/bin/bash ## Set login wallpaper # strip new line char passed by Nautilus FILENAME=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed -e 's/\r//g') # Multiple files can't be selected. LINE_COUNT=$(wc -l <<< "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS") LINE_COUNT=$((LINE_COUNT-1)) if [[ $LINE_COUNT > 1 ]] ; then zenity --error --text "Ony one file can be selected at a time! " exit 1 fi # Object type must be "file..." (ie no directories, etc.) if [ -d "${FILENAME}" ] ; then zenity --error --text "$FILENAME is a directory!"; exit 1 else if [ -f "${FILENAME}" ]; then : # Bash noop else zenity --error --text "${FILENAME} is not a file!"; exit 2 fi fi # Build working file in /tmp echo "[com.canonical.unity-greeter]" > /tmp/set-login-wallpaper.tmp echo "draw-user-backgrounds=false" >> /tmp/set-login-wallpaper.tmp echo "background='$FILENAME'" >> /tmp/set-login-wallpaper.tmp # Must run as sudo if [ "$EUID" -ne 0 ] ; then # Get sudo password PASSWORD=$(zenity --password --title="Set Login Wallpaper" --timeout=20) # copy working file to real file using sudo echo $PASSWORD | sudo -S cp /tmp/set-login-wallpaper.tmp \ /usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override # compile using sudo echo $PASSWORD | sudo -S glib-compile-schemas /usr/share/glib-2.0/schemas else # Already sudo so simply copy and compile # copy working file to real file cp /tmp/set-login-wallpaper.tmp \ /usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override # compile glib-compile-schemas /usr/share/glib-2.0/schemas fi exit 0
保存文件并退出gedit
编辑器。
现在将脚本标记为可执行文件:
chmod +x set-login-wallpaper
打开Nautilus并使用壁纸图像导航到您的目录。 找到合适的图像并右键单击它。 出现此下拉菜单:
单击第三个选项Scripts
。 将显示包含所有脚本的另一个下拉菜单:
选择set-login-wallpaper
。
脚本运行时,您必须输入您的sudo
密码。
重新启动并享受您的新登录壁纸。
12.04
这是我无法更改登录屏幕背景的解决方案。
当我更改壁纸时我遇到了这个问题,但我得到了默认的Ubuntu登录背景。 所以我做的是在终端中找到wallpaper.jpg
文件并将其权限更改为,例如:
chmod 777 walpaper.jpg
提供完全访问权限的东西,现在我们可以看到效果。 我在桌面上选择的壁纸也被视为登录屏幕背景。 这适用于所有用户。