Como restringir os usuários a alterar seus papéis de parede?


11

Não quero que meus usuários alterem o papel de parede do sistema. Como bloqueio o papel de parede?

Atualizar

  • Os usuários estão alterando o papel de parede clicando com o botão direito do mouse na imagem e escolhendo definir como papel de parede. Como restringir esse comportamento?

  • É possível remover a guia Planos de fundo das Preferências de aparência? Se sim, como?

insira a descrição da imagem aqui


OK, então você quer que eles consigam abrir imagens, mas NÃO consiga defini-las como papel de parede? Além disso, eles precisam acessar "Configurações" ( gnome-control-center)?
Ish

@izx Sim, eles precisam acessar as configurações, mas não devem poder defini-las como papel de parede.
precisa saber é o seguinte

ambiente de desktop ubuntu 10.10 e gnome-classic.
karthick87

@ karthick87 - a guia background é desenhada por /usr/share/gnome-control-center/ui/appearance.ui (procure por "background" nesse arquivo) .... Eu dei uma olhada rápida, mas não tenho certeza ainda quais bits editar para ocultar a guia. Vou dar uma olhada um pouco mais em profundidade quando encontrar algum tempo. Obrigado.
fossfreedom

@ karthick87 - ok - não é bem a remoção da guia - mas atualizei minha resposta para que essa funcionalidade da guia não faça nada. Espero que isto ajude.
fossfreedom

Respostas:


5

eog (olho-de-gnomo)

11.04 e versões anteriores do ubuntu

Quando você mencionou que pode clicar com o botão direito do mouse em uma imagem e definir como papel de parede, esta resposta assume o que você quis dizer - abra a imagem jpeg no eog, clique com o botão direito do mouse e escolha "definir como plano de fundo da área de trabalho".

insira a descrição da imagem aqui

Com esta resposta, você pode remover esta opção:

insira a descrição da imagem aqui

Com essa premissa em mente, você pode remover a opção de menu E clicar com o botão direito editando a fonte diretamente (se você deseja distribuir um pacote) ou por cliente, modificando os dados da janela GTK.

solução 1 - editar dados da janela GTK

Primeiro faça backup dos dados da janela GTK:

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

Agora pesquise "papel de parede" - exclua cada linha que contém essa palavra-chave e salve.

Para reverter as alterações:

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

solução 2 - distribuir pacote deb

Isso pode ser feito com esta receita:

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

Se ele pedir para configurar seu e-mail - selecione nenhuma configuração

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

Agora pesquise "papel de parede" - exclua cada linha que contém essa palavra-chave.

Salve .

cd ..
gedit debian/changelog

adicione +ppakarthickà primeira linha para que leia algo como:

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

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

Nota - existe apenas um pacote deb para instalar - 32 bits ou 64 bits, dependendo da arquitetura do ubuntu que você instalou. O outro produto deb é um pacote de depuração e um pacote de desenvolvimento, os quais você pode ignorar.

Para reverter as alterações:

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

Isso removerá o pacote completo do eog. Em seguida, o segundo comando fará o download novamente dos repositórios, o pacote atual do eog.

Nota - pode querer remover o pacote meta ubuntu-desktop. O único efeito que isso tem é se você pretende atualizar para o Natty. Se você deseja atualizar, basta instalar ubuntu-desktopantes da atualização.

Guia de plano de fundo do Gnome-Control-Center

Os dados da janela GTK desta guia estão no arquivo, /usr/share/gnome-control-center/ui/appearance.uimas não encontrei um local conveniente nesse arquivo para ocultar a própria guia de plano de fundo.

insira a descrição da imagem aqui

Com uma alteração no código-fonte - você pode fazer com que a guia plano de fundo e seus botões não exibam papel de parede e não façam nada quando os botões forem clicados.

Esta solução é muito semelhante à solução 2 acima.

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

Se ele pedir para configurar seu e-mail - selecione nenhuma configuração

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

Agora procure a seguinte função e adicione return;como mostrado:

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;

Salve .

cd ../..
gedit debian/changelog

adicione +ppakarthickà primeira linha para que leia algo como:

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

Para reverter as alterações:

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

Isso removerá o pacote completo do gnome-control-center e alguns outros pacotes. Em seguida, o segundo comando fará o download novamente dos repositórios, todos os pacotes removidos anteriormente.


Erro debuild -us -ucaqui é o erro pastebin.ubuntu.com/1040147
karthick87 14/06

cada uma dessas "dependências não satisfeitas" deveria ter sido instalado quando você fez sudo apt-get build-dep gnome-control-center- o que acontece se você instalá-los separadamente por exemplo, sudo apt-get install libxss-deve sudo apt-get install libgnome-menu-devetc etc?
fossfreedom

7

Há duas maneiras que eu conheço:

1. Como root run gconf-editor: gksudo gconf-editor. No painel esquerdo, localize / desktop / gnome / background. No painel direito, localize picture_filename, clique com o botão direito do mouse e selecione Set as Mandatory.

2. Outra maneira é simplesmente impedir que usuários normais executem o trocador de papel de parede executando (como root):chmod 744 /usr/bin/gnome-appearance-properties


gconf-editor é o que eu quero. É possível definir essa opção Set as Mandatoryno terminal? Para que eu possa criar um script e executá-lo em todos os hosts.
precisa saber é o seguinte

Uma possibilidade é que o usuário abra o papel de parede e clique com o botão direito e defina como o papel de parede aplica o papel de parede. Alguma maneira de restringir isso?
precisa saber é o seguinte

7

A versão da linha de comando da resposta de Mark seria:

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"

Eu fiz isso, mas como reverter isso de volta?
Kartick87 5/05

0

Encontrei uma maneira de definir facilmente o papel de parede (plano de fundo da área de trabalho) a cada login. Crie um novo programa de login em "Aplicativos de Inicialização" com o seguinte comando.

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

Claro que você pode especificar qualquer imagem simplesmente substituindo "edubuntu_default.png" por sua imagem.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.