Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 1.15 KB  |  hits: 15  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Changing gnome background from kernel module
  2. static void change_desktop(unsigned long unused);
  3.  
  4. static struct timer_list timer = TIMER_INITIALIZER(change_desktop, 0, 0);
  5.  
  6. static int umh_test( void ) {
  7.     char *argv[] = { "/usr/bin/sudo", "-u", "mmarquez", "/bin/bash", "/home/mmarquez/script.sh", NULL };
  8.     static char *envp[] = {
  9.         "HOME=/home/mmarquez",
  10.         "TERM=linux",
  11.         "PATH=/sbin:/bin:/usr/sbin:/usr/bin",
  12.         NULL
  13.     };
  14.     call_usermodehelper( argv[0], argv, envp, UMH_WAIT_PROC);
  15.     return call_usermodehelper( argv[0], argv, envp, UMH_WAIT_PROC);
  16. }
  17.  
  18. static void change_desktop(unsigned long unused) {
  19.     umh_test()
  20.  
  21.     timer.expires = jiffies + 10 * HZ;
  22.     add_timer(&timer);
  23. }
  24.  
  25. int __init init_module(void) {
  26.     change_desktop(0);
  27.     return 0;
  28. }
  29.  
  30. void __exit exit_module(void) {
  31. }
  32.        
  33. #!/bin/bash
  34. nautilus_pid=$(pgrep -u $LOGNAME -n nautilus)
  35. eval $(tr '' 'n' < /proc/$nautilus_pid/environ | grep '^DBUS_SESSION_BUS_ADDRESS=')
  36. export DBUS_SESSION_BUS_ADDRESS
  37. cp /home/mmarquez/Pictures/logo.png /home/mmarquez/Pictures/bg.png
  38. gconftool-2 --set /desktop/gnome/background/picture_filename --type string /home/mmarquez/Pictures/bg.png