Tạo wallpaper (desktop backgrounds) slideshow với gnome 2.28.

Gnome từ các phiên bản 2.24 trở lên đã bắt đầu có tính năng tự động chuyển wallpaper theo thời gian. Tuy nhiên tính năng này ban đầu còn rất cùi bắp, do chúng dựa vào tên hình và tính năng hạn chế. Tuy nhiên nếu bạn dùng gnome 2.28 (có trong Fedora 12 và Ubuntu 9.10) và chọn thử bộ hình mang tên "cosmos" bạn sẽ thấy chúng có rất nhiều hình nền bên trong được thay đổi liên tục.
Dù rất thích thú với những tấm hình vũ trụ này nhưng mà để mãi một bộ hình đó hàng tháng cũng bắt đầu thấy ngán dù chúng có thay đổi liên tục đi nữa, nên mình quyết định chuyển kho hình nền hiện có thành dạng slideshow để xem đổi qua đổi lại cho đỡ ngán.
Sau khi mò mẫm cấu trúc thư mục cosmos trong /usr/share/background và google thêm trên mạng mình cũng dung được cách nó hoạt động:
http://www.linuxjournal.com/content/create-custom-transitioning-background-your-gnome-228-desktop

Có thể thấy slideshow này được điều khiển bằng một file xml định trước, cho phép bạn chọn thời gian hiển thị của từng hình, thời gian chuyển đỗi giữa 2 hình bất kỳ cũng như thời gian bắt đầu chạy slideshow trong ngày. Nếu là người tỉ mĩ bạn thậm chí có thể đặt cho những tấm hình xuất hiện vào một thời gian nhất định trong ngày, hơi bị tuyệt vời, có điều hơi… khó xài.

Do không có một tool nào có giao diện trực quan hỗ trợ soạn cái file .xml đó nên chỉ có thể gõ nó bằng tay mà thôi. Và nếu trong slideshow có hàng trăm hình thì ngồi gõ gần như là bất khả thi mất. Cũng may mình không phải là người quá tỉ mĩ và yêu cầu cao nên mình chỉ cần một slideshow với toàn bộ hình trong folder (vốn đã phân chủ đề sẵn) được slideshow với một thời gian bằng nhau là cũng quá OK rồi. Và yêu cầu đơn giản vậy thì một script là gọn nhất. Sẵn dịp đang vọc python nên mình lôi ra viết luôn (cái này viết bằng shellscript cũng được nhưng mà lười quá :D)

createSlideShow.py

Cách xài:
cd vào thư mục chứa hình rồi gọi script đó ra, file script đặt đâu cũng được vì nó sẽ chỉ thao tác trong current working dirctory. Nó tìm tất cả file *.jpg và *.png trong thư mục đó (không đi vào thư mục con) và tạo ra một file .xml ngay trong đó luôn.

Sau khi có file .xml thì làm theo hướng dẫn ở phần sau của link trong trang linux journal là được. Hoặc lười vào link thì coi ở đây:

Mở hộp thoại Wallpaper:


Chọn add thêm wallpaper


Chọn all files để nó hiện file .xml


Nhấn open để hoàn tất.