Làm thế nào để thay đổi hình nền của tất cả các khách hàng?


13

Như đã nói trước đây, chúng tôi đang chạy hơn 500 máy tính Ubuntu trong công ty của chúng tôi. Thông thường chúng tôi thường đặt quảng cáo công ty của mình làm hình nền trong máy khách. Chúng tôi rất khó để thay đổi từng hình nền trong tất cả các máy này và chúng tôi cũng khó thực hiện tập lệnh trong mọi máy thông qua SSH để thay đổi hình nền. Có cách nào để thiết lập một máy chủ như nếu chúng ta thay đổi hình nền trong máy chủ thì nó sẽ được thực hiện trong tất cả các máy khách. Nếu có thể, nó sẽ tiết kiệm thời gian và công sức của chúng tôi. Có ai giúp được không? Cảm ơn trước..


1
Công ty của bạn có một trang web địa phương chỉ được xem bởi nhân viên? Nếu vậy bạn không thể thêm tập lệnh vào trang web để khi trang web tải nó cũng tải tập lệnh đó?
freebird

Câu hỏi này cần được cập nhật cho các công cụ dcs mà Ubuntu hiện đang sử dụng cho nền.
Jjed

Câu trả lời:


15

Thiết lập công việc định kỳ trên tất cả các máy thực thi tập lệnh trong đó bạn kiểm tra 1 vị trí cụ thể cho hình ảnh mới. Kịch bản mẫu (chưa được kiểm tra) với wget và ftp:

#!/bin/bash
wget -N -r -nH --cut-dirs=2 -t 180 -P /tmp ftp://user:password@name.remoteserver.com/dir/backgroundimage.gif
gconftool-2 --type string --set /desktop/gnome/background/picture_filename /tmp/backgroundimage.gif

Về cơ bản, dòng thứ 2 cần được thay đổi thành phương pháp bạn sử dụng để tải hình ảnh theo cách thủ công vào máy. Và sau đó thiết lập cronđể thực thi tập lệnh này để kiểm tra mỗi giờ hoặc mỗi ngày một lần cho hình ảnh mới.

Bạn thậm chí có thể thiết lập nó để tìm nạp một tập lệnh trong đó tập lệnh đó được thực thi trên máy khách và sau đó nó tìm nạp các hình ảnh và thay đổi nền bằng gconftool-2. Điều này sẽ cho phép bạn thực hiện nhiều hơn thay đổi một nền tảng.


Bạn có thể tạo một công việc định kỳ với sudo crontab -e. Điều này sẽ hiển thị một dòng tương tự như thế này:

# m h  dom mon dow   command

(m phút, h giờ, ngày dom trong tháng, tháng mon, ngày xuống cấp trong tuần) và bên dưới nó bạn có thể thêm ...

0 * * * /path/to/executable

hoặc là

@hourly     /path/to/executable

để /path/to/executablechạy mỗi giờ trong giờ. Nhắc bạn: một tập lệnh bạn đặt ở đây không hiểu biến đường dẫn trừ khi bạn đưa nó vào. Bạn có thể đặt cái này ở trên cùng để bao gồm $SHELL$PATH:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Nếu không, bạn cần chắc chắn rằng tập lệnh của bạn sử dụng tên đường dẫn đầy đủ để thực thi các lệnh. Thông tin thêm về cron có thể được tìm thấy trên wiki Ubuntu .

Bạn cũng có thể sử dụng /etc/cron.hourlythư mục để đặt một tập lệnh ở đó được chạy mỗi giờ. Các chủ đề ví dụ liên quan đến phần cuối: Có gì sai với cấu hình cron.hourly của tôi? Cron.hourly sẽ không chạy .


Sẽ thật tuyệt nếu bạn cập nhật câu trả lời cho việc thêm cron job để kiểm tra hình ảnh mới cứ sau 1 giờ.
karthick87

4

Có thể đáng để cài đặt một khung quản trị từ xa như con rối . Thường sẽ mất một chút thời gian để cài đặt và định cấu hình đúng cho mạng của bạn, nhưng một khi việc sao chép các tệp vào tất cả các máy (hoặc chỉ là một tập hợp con của chúng) thì rất dễ dàng.


Bạn có thể vui lòng giải thích câu trả lời của bạn?
karthick87

3

Bạn có thể đặt cài đặt hình nền là bắt buộc, nghĩa là người dùng sẽ không thể tùy chỉnh nền của họ.

Trong Ubuntu 11.04 trở về trước, lệnh này sẽ hoạt động :

sudo gconftool-2 --direct --config-source \
xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set \
/desktop/gnome/background/picture_filename \ 
"/usr/share/backgrounds/cosmos/blue-marble-west.jpg"

Trong Ubuntu 11.10 (hoặc bất kỳ hệ thống Gnome 3 nào), bạn sẽ có thể thực hiện việc này với :

  1. Tạo một tập tin / etc / dconf / profile / user với nội dung:

    user
    site
    
  2. Tạo cài đặt mặc định bằng cách tạo tệp /etc/dconf/db/site.d/background với nội dung:

    [org/gnome/desktop/background]
    picture-uri='file:///usr/share/backgrounds/company-wallpaper.jpg'
    
  3. Và cuối cùng làm cho mặc định bắt buộc bằng cách tạo /etc/dconf/db/site.d/locks/background với nội dung:

    /org/gnome/desktop/background/picture-uri
    
  4. Cài đặt dconf cần được biên dịch để hoạt động vì vậy hãy chạy sudo dconf update Lần đầu tiên bạn chạy nó, bạn sẽ cần khởi động lại để thấy hiệu quả. Hiện tại, có một lỗi mà người dùng vẫn sẽ thấy trình chọn Nền bình thường; nó chỉ không thực sự thay đổi nền.

Kết hợp giải pháp này với một cái gì đó như con rối để hỗ trợ cài đặt này cho tất cả các máy tính trong công ty của bạn!


Giải pháp thú vị. Anh ta không thể lưu trữ hình nền trên một bộ lưu trữ được chia sẻ ở đâu đó chứ? Giống như chỉ là một trang web bình thường, ví dụ? Tôi nghĩ rằng đó sẽ là một giải pháp gần như hoàn hảo trong trường hợp này, vì điều đó cũng sẽ giúp bạn dễ dàng chuyển đổi.
Jo-Erlend Schinstad

@ Jo-Erlend một trang web bình thường sẽ không hoạt động vì chỉ có tệp: /// URI được cho phép. Tôi hy vọng rằng một máy chủ mạng sẽ ổn mặc dù máy tính đã được kết nối với nó.
Jeremy Bícha

1

đây là giải pháp của tôi cho Ubuntu 11.10 (hoặc bất kỳ hệ thống Gnome 3 nào):

#!/bin/bash
wget -N -r -nH --cut-dirs=2 -t 180 -P /tmp ftp://ozolniekuvsk.lv/public/foni/ozvsk.jpg
gsettings set org.gnome.desktop.background picture-uri "file:///tmp/ozvsk.jpg"

Có hai phần logic. đầu tiên nhận hình nền, hình nền thiết lập thứ hai từ vị trí tải về. đơn giả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.