วิธี จำกัด ผู้ใช้ในการเปลี่ยนภาพพื้นหลังของพวกเขา?


11

ฉันไม่ต้องการให้ผู้ใช้เปลี่ยนวอลเปเปอร์ของระบบ ฉันจะล็อควอลล์เปเปอร์ลงได้อย่างไร

ปรับปรุง

  • ผู้ใช้กำลังเปลี่ยนภาพพื้นหลังโดยคลิกขวาที่รูปภาพและเลือกตั้งเป็นภาพพื้นหลัง จะ จำกัด พฤติกรรมนี้ได้อย่างไร

  • เป็นไปได้ไหมที่จะลบแท็บพื้นหลังออกจากการตั้งค่าลักษณะที่ปรากฏ ถ้าใช่เป็นอย่างไร

ป้อนคำอธิบายรูปภาพที่นี่


ตกลงดังนั้นคุณต้องการให้พวกเขาสามารถเปิดภาพ แต่ไม่สามารถตั้งเป็นภาพพื้นหลังได้? นอกจากนี้พวกเขาจำเป็นต้องเข้าถึง "การตั้งค่า" ( gnome-control-center) หรือไม่?
ish

@izx ใช่พวกเขาต้องการการเข้าถึงการตั้งค่า แต่ไม่สามารถตั้งเป็นวอลล์เปเปอร์
karthick87

ubuntu 10.10 และสภาพแวดล้อมเดสก์ท็อปแบบ gnome-classic
karthick87

@ karthick87 - แท็บพื้นหลังถูกวาดโดย /usr/share/gnome-control-center/ui/appearance.ui (ค้นหาคำว่า "background" ในไฟล์นั้น) .... ฉันดูรวดเร็ว แต่ไม่แน่ใจ เป็นบิตที่จะแก้ไขเพื่อซ่อนแท็บ ฉันจะดูลึกลงไปอีกเล็กน้อยเมื่อฉันพบเวลา ขอบคุณ
fossfreedom

@ karthick87 - ok - ไม่ค่อยลบแท็บ - แต่อัปเดตคำตอบสำหรับฟังก์ชั่นแท็บนี้ที่จะไม่ทำอะไรเลย หวังว่านี่จะช่วยได้
fossfreedom

คำตอบ:


5

eog (eye-of-gnome)

11.04 และ Ubuntu รุ่นก่อนหน้า

เมื่อคุณพูดถึงว่าคุณสามารถคลิกขวาที่ภาพและตั้งเป็นภาพพื้นหลังคำตอบนี้จะถือว่าคุณหมายถึง - เปิดภาพ jpeg เป็น eog คลิกขวาแล้วเลือก "set as background desktop"

ป้อนคำอธิบายรูปภาพที่นี่

ด้วยคำตอบนี้คุณสามารถลบตัวเลือกนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ด้วยสมมติฐานนี้คุณสามารถลบเมนูตัวเลือกและคลิกขวาโดยแก้ไขแหล่งข้อมูลโดยตรง (ถ้าคุณต้องการแจกจ่ายแพ็คเกจ) หรือแก้ไขข้อมูลหน้าต่าง 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

สิ่งนี้จะลบชุดโปรแกรมควบคุมศูนย์คำพังเพยที่สมบูรณ์และแพ็คเกจอื่น ๆ จากนั้นคำสั่งที่สองจะดาวน์โหลดอีกครั้งจากที่เก็บแพ็กเกจทั้งหมดที่ถูกลบก่อนหน้านี้


ข้อผิดพลาดที่debuild -us -ucนี่คือข้อผิดพลาดpastebin.ubuntu.com/1040147
karthick87

ควรติดตั้ง "การพึ่งพาแบบไม่พึ่งพา" แต่ละอันเมื่อคุณทำเช่นนั้นsudo apt-get build-dep gnome-control-center- จะเกิดอะไรขึ้นหากคุณติดตั้งสิ่งเหล่านี้เป็นเอกเทศsudo apt-get install libxss-devและsudo apt-get install libgnome-menu-devอื่น ๆ เป็นต้น
fossfreedom

7

มีสองวิธีที่ฉันรู้คือ:

1. เป็นรากเรียก GConf gksudo gconf-editorบรรณาธิการ: / desktop / gnome / backgroundในบานหน้าต่างด้านซ้ายพบ บนแผงด้านขวาพบคลิกขวาบนและเลือกpicture_filename 2. อีกวิธีหนึ่งคือป้องกันผู้ใช้ทั่วไปไม่ให้ดำเนินการเปลี่ยนวอลล์เปเปอร์โดยเรียกใช้ (ตามรูท):Set as Mandatory

chmod 744 /usr/bin/gnome-appearance-properties


gconf-editor คือสิ่งที่ฉันต้องการ เป็นไปได้ไหมที่จะตั้งค่าตัวเลือกนั้นSet as Mandatoryจากเทอร์มินัล เพื่อให้ฉันสามารถสร้างสคริปต์และดำเนินการในโฮสต์ทั้งหมด
karthick87

ความเป็นไปได้อย่างหนึ่งคือผู้ใช้เปิดภาพพื้นหลังและคลิกขวาและตั้งเป็นภาพพื้นหลังใช้ภาพพื้นหลัง มีวิธี จำกัด อะไรบ้าง?
karthick87

7

เวอร์ชั่นบรรทัดคำสั่งของคำตอบของ 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"

ฉันทำสิ่งนี้แล้ว แต่จะคืนกลับอย่างไร
karthick87

0

ฉันพบวิธีตั้งค่ารูปพื้นหลัง (พื้นหลังของเดสก์ท็อป) ได้อย่างง่ายดายในแต่ละการเข้าสู่ระบบ สร้างโปรแกรมล็อกอินใหม่ใน "Startup Applications" ด้วยคำสั่งต่อไปนี้

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

แน่นอนคุณสามารถระบุภาพใด ๆ เพียงแค่แทนที่ "edubuntu_default.png" ด้วยภาพของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.