Làm thế nào để hạn chế người dùng thay đổi hình nền của họ?


11

Tôi không muốn người dùng của mình thay đổi hình nền hệ thống. Làm thế nào để tôi khóa hình nền xuống?

Cập nhật

  • Người dùng đang thay đổi hình nền bằng cách nhấp chuột phải vào hình ảnh và chọn đặt làm hình nền. Làm thế nào để hạn chế hành vi này?

  • Có thể xóa Tab nền khỏi Tùy chọn giao diện không? Nếu có thì thế nào?

nhập mô tả hình ảnh ở đây


OK, vì vậy bạn muốn chúng có thể mở hình ảnh nhưng KHÔNG thể đặt chúng làm hình nền? Ngoài ra, họ có cần truy cập vào "Cài đặt" ( gnome-control-center) không?
ish

@izx Có, họ cần quyền truy cập vào cài đặt nhưng không thể đặt chúng làm hình nền.
karthick87

ubfox 10.10 và môi trường máy tính để bàn cổ điển gnome.
karthick87

@ karthick87 - tab nền được vẽ bởi /usr/share/gnome-control-center/ui/appparent.ui (tìm kiếm "nền" trong tệp đó) .... Tôi đã xem nhanh, nhưng không chắc chắn chưa chỉnh sửa bit nào để ẩn tab. Tôi sẽ có một cái nhìn sâu hơn một chút khi tôi tìm thấy một chút thời gian. Cảm ơn.
fossfreedom

@ karthick87 - ok - không hoàn toàn loại bỏ tab - nhưng đã cập nhật câu trả lời của tôi cho chức năng tab này để không làm gì cả. Hi vọng điêu nay co ich.
fossfreedom

Câu trả lời:


5

eog (mắt của gnome)

11.04 và các phiên bản trước của Ubuntu

Khi bạn đề cập rằng bạn có thể nhấp chuột phải vào hình ảnh và đặt làm hình nền, câu trả lời này giả sử bạn muốn nói - mở hình ảnh jpeg vào eog, nhấp chuột phải và chọn "đặt làm nền màn hình".

nhập mô tả hình ảnh ở đây

Với câu trả lời này, bạn có thể xóa tùy chọn này:

nhập mô tả hình ảnh ở đây

Với giả định này, bạn có thể xóa tùy chọn menu VÀ tùy chọn nhấp chuột phải bằng cách chỉnh sửa trực tiếp nguồn (nếu bạn muốn phân phối gói) hoặc trên mỗi khách hàng sửa đổi dữ liệu cửa sổ GTK.

giải pháp 1 - chỉnh sửa dữ liệu cửa sổ GTK

Đầu tiên sao lưu dữ liệu cửa sổ GTK:

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

Bây giờ hãy tìm kiếm "hình nền" - xóa từng dòng có chứa từ khóa này và lưu lại.

Để hoàn nguyên các thay đổi:

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

giải pháp 2 - phân phối gói deb

Điều này có thể được thực hiện với công thức này:

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

Nếu nó yêu cầu cấu hình thư của bạn - chọn không có cấu hình

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

Bây giờ hãy tìm kiếm "hình nền" - xóa từng dòng có chứa từ khóa này.

Tiết kiệm.

cd ..
gedit debian/changelog

thêm +ppakarthickvào dòng đầu tiên để nó đọc một cái gì đó như:

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

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

Lưu ý - chỉ có một gói gỡ lỗi để cài đặt - 32 bit hoặc 64 bit tùy thuộc vào kiến ​​trúc ubfox bạn đã cài đặt. Sản phẩm của các cuộc tranh luận khác là gói gỡ lỗi và gói phát triển, cả hai đều có thể bỏ qua.

Để hoàn nguyên các thay đổi:

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

Điều này sẽ loại bỏ gói eog hoàn chỉnh. Sau đó, lệnh thứ hai sẽ tải xuống lại từ kho, gói eog hiện tại.

Lưu ý - nó có thể muốn xóa gói meta ubuntu-desktop. Điều duy nhất ảnh hưởng đến điều này là nếu bạn có ý định nâng cấp lên Natty. Nếu bạn muốn nâng cấp, chỉ cần cài đặt ubuntu-desktoptrước khi nâng cấp.

Tab nền Gnome-Control-Center

Dữ liệu Cửa sổ GTK cho tab này có trong tệp /usr/share/gnome-control-center/ui/appearance.uinhưng tôi không tìm thấy vị trí thuận tiện trong tệp này mà bạn có thể ẩn tab nền.

nhập mô tả hình ảnh ở đây

Với thay đổi mã nguồn - bạn có thể lấy tab nền và các nút của nó để không hiển thị hình nền và không làm gì khi nhấp vào nút.

Giải pháp này rất giống với giải pháp 2 ở trên.

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

Nếu nó yêu cầu cấu hình thư của bạn - chọn không có cấu hình

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

Bây giờ hãy tìm hàm sau và thêm return;như hình:

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;

Tiết kiệm.

cd ../..
gedit debian/changelog

thêm +ppakarthickvào dòng đầu tiên để nó đọc một cái gì đó như:

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

Để hoàn nguyên các thay đổi:

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

Điều này sẽ loại bỏ gói gnome-control-centre hoàn chỉnh và một vài gói khác. Sau đó, lệnh thứ hai sẽ tải xuống lại từ kho, tất cả các gói đã bị xóa trước đó.


Lỗi debuild -us -ucở đây là lỗi pastebin.ubfox.com/1040147
karthick87

mỗi một trong những "phụ thuộc chưa được đáp ứng" đó nên được cài đặt khi bạn thực hiện sudo apt-get build-dep gnome-control-center- điều gì xảy ra nếu bạn cài đặt các ví dụ này sudo apt-get install libxss-dev, sudo apt-get install libgnome-menu-devv.v.?
fossfreedom

7

Có hai cách mà tôi biết:

1. Khi root chạy gconf-Editor : gksudo gconf-editor. Trong khung bên trái tìm / desktop / gnome / background. Trên bảng bên phải, tìm picture_filename, nhấp chuột phải vào nó và chọn Set as Mandatory.

2. Một cách khác là đơn giản ngăn người dùng bình thường thực hiện thay đổi hình nền bằng cách chạy (với quyền root):chmod 744 /usr/bin/gnome-appearance-properties


g-trình soạn thảo là những gì tôi muốn. Có thể thiết lập tùy chọn đó Set as Mandatorytừ thiết bị đầu cuối? Vì vậy, tôi có thể tạo một kịch bản và thực hiện nó trong tất cả các máy chủ.
karthick87

Một khả năng là người dùng mở hình nền và nhấp chuột phải và đặt làm hình nền áp dụng hình nền. Bất kỳ cách nào để hạn chế điều này?
karthick87

7

Phiên bản dòng lệnh của câu trả lời của Mark sẽ là:

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"

Tôi đã làm điều này, nhưng làm thế nào để hoàn nguyên nó?
karthick87

0

Tôi tìm thấy một cách để dễ dàng thiết lập hình nền (hình nền máy tính) ở mỗi lần đăng nhập. Tạo một chương trình đăng nhập mới trong "Ứng dụng khởi động" bằng lệnh sau.

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

Tất nhiên, bạn có thể chỉ định bất kỳ hình ảnh nào chỉ bằng cách thay thế "edubfox_default.png" bằng hình ảnh của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.