我不希望我的用户更改系统墙纸。如何锁定墙纸?
更新资料
用户通过右键单击图片并选择设置为墙纸来更改墙纸。如何限制这种行为?
是否可以从外观首选项中删除“背景”选项卡?如果是,怎么办?
我不希望我的用户更改系统墙纸。如何锁定墙纸?
用户通过右键单击图片并选择设置为墙纸来更改墙纸。如何限制这种行为?
是否可以从外观首选项中删除“背景”选项卡?如果是,怎么办?
Answers:
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软件包的存储库中重新下载。
注意-它可能要删除meta包ubuntu-desktop
。这样做的唯一影响是,如果您打算升级到Natty。如果要升级,只需ubuntu-desktop
在升级前安装即可。
该选项卡的GTK Window数据在文件中,/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软件包和其他一些软件包。然后,第二个命令将从存储库中重新下载先前已删除的所有软件包。
debuild -us -uc
以下是错误pastebin.ubuntu.com/1040147
sudo apt-get build-dep gnome-control-center
-如果你安装这些单独如发生了什么sudo apt-get install libxss-dev
以及sudo apt-get install libgnome-menu-dev
等等等等?
有两种方法,我知道的:
1.以root身份运行gconf编辑:gksudo gconf-editor
。在左窗格中找到/ desktop / gnome / background
。在右侧面板上,找到picture_filename
,右键单击并选择Set as Mandatory
。
2.另一种方法是简单地阻止普通用户通过运行(以root用户身份)执行壁纸更换程序:chmod 744 /usr/bin/gnome-appearance-properties
Set as Mandatory
从终端设置该选项?这样我就可以制作脚本并在所有主机中执行它。
马克的答案的命令行版本为:
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"
gnome-control-center
)?