如何限制用户更改壁纸?
我不希望我的用户更改系统壁纸。 如何锁定壁纸?
更新
-
用户通过右键单击图片并选择设置为壁纸来更改壁纸。 如何限制这种行为?
-
是否可以从外观首选项中删除背景选项卡? 如果有,怎么样?
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”替换为您的图像即可指定任何图像。