如何限制用户更改壁纸?

我不希望我的用户更改系统壁纸。 如何锁定壁纸?

更新

  • 用户通过右键单击图片并选择设置为壁纸来更改壁纸。 如何限制这种行为?

  • 是否可以从外观首选项中删除背景选项卡? 如果有,怎么样?

在此处输入图像描述

eog(侏儒之眼)

11.04和以前版本的ubuntu

当您提到可以右键单击图像并设置为壁纸时,此答案假定您的意思是 – 将jpeg图像打开为eog,右键单击并选择“设置为桌面背景”。

在此处输入图像描述

有了这个答案,您可以删除此选项:

在此处输入图像描述

考虑到这一假设,您可以通过直接编辑源(如果要分发包)或在每个客户端上修改GTK窗口数据来删除菜单选项和右键单击选项。

解决方案1 ​​ – 编辑GTK窗口数据

首先备份GTK窗口数据:

 sudo cp /usr/share/eog/eog-ui.xml ~/ gksudo gedit /usr/share/eog/eog-ui.xml 

现在搜索“壁纸” – 删除包含此关键字的每一行并保存。

要还原更改:

 sudo cp ~/eog-ui.xml /usr/share/eog 

解决方案2 – 分发deb包

这可以通过以下方法完成:

 apt-get source eog sudo apt-get build-dep eog sudo apt-get install devscripts 

如果它要求配置您的邮件 – 请选择无配置

 cd eog-2*/data gedit eog-ui.xml 

现在搜索“壁纸” – 删除包含此关键字的每一行。

保存。

 cd .. gedit debian/changelog 

+ppakarthick添加到第一行,使其读取如下内容:

eog (2.32.1-0ubuntu2+ppakarthick) natty; urgency=low

 debuild -us -uc cd .. sudo dpkg -i eog_*.deb 

注意 – 只安装一个deb软件包 – 32位或64位,具体取决于您安装的ubuntu架构。 另一个deb的产品是一个调试包和一个开发包,你可以忽略它们。

要还原更改:

 sudo apt-get purge eog sudo apt-get install eog 

这将删除完整的eog包。 然后,第二个命令将从存储库(当前的eog包)重新下载。

注意 – 它可能想要删除元包ubuntu-desktop 。 唯一的影响是,如果您打算升级到Natty。 如果要升级,只需在升级之前安装ubuntu-desktop

Gnome-Control-Center背景选项卡

此选项卡的GTK窗口数据位于文件/usr/share/gnome-control-center/ui/appearance.ui但我在此文件中找不到方便的位置,您可以隐藏背景选项卡本身。

在此处输入图像描述

通过源代码更改 – 您可以将背景选项卡及其按钮设置为不显示壁纸,并且在单击按钮时不执行任何操作。

该解决方案与上述解决方案2非常相似。

 apt-get source gnome-control-center sudo apt-get build-dep gnome-control-center sudo apt-get install devscripts 

如果它要求配置您的邮件 – 请选择无配置

 cd gnome*/capplets/appearance gedit appearance-desktop.c 

现在查找以下函数并添加return; 如图所示:

 void desktop_init (AppearanceData *data, const gchar **uris) { GtkWidget *add_button, *w; GtkCellRenderer *cr; char *url; data->wp_update_gconf = TRUE; data->wp_uris = NULL; return; 

保存。

 cd ../.. gedit debian/changelog 

+ppakarthick添加到第一行,使其读取如下内容:

gnome-control-center (1:2.30.1-0ubuntu2+ppakarthick) lucid-proposed; urgency=low

 debuild -us -uc cd .. sudo dpkg -i capplets*.deb sudo dpkg -i libgnome-window-settings1*.deb sudo dpkg -i gnome-control-center_*.deb 

要还原更改:

 sudo apt-get purge gnome-control-center libgnome-window-settings1 capplets-data sudo apt-get install ubuntu_desktop 

这将删除完整的gnome-control-center软件包和一些其他软件包。 然后,第二个命令将从存储库重新下载,之前删除的所有包。

我知道有两种方法:

1.以root运行gconf-editor: gksudo gconf-editor 。 在左侧窗格中找到/ desktop / gnome / background 。 在右侧面板中,找到picture_filename ,右键单击它并选择Set as Mandatory

2.另一种方法是通过运行(以root身份)简单地阻止普通用户执行壁纸更换器: chmod 744 /usr/bin/gnome-appearance-properties

Mark的答案的命令行版本是:

 sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /desktop/gnome/background/picture_filename "/usr/share/backgrounds/Tri_Narwhal_by_momez.jpg" 

我找到了一种在每次登录时轻松设置壁纸(桌面背景)的方法。 使用以下命令在“启动应用程序”中创建新的登录程序。

 gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/edubuntu_default.png" 

当然,您只需将“edubuntu_default.png”替换为您的图像即可指定任何图像。