Showing posts with label xandros. Show all posts
Showing posts with label xandros. Show all posts

Friday, March 20, 2009

Installing moonlight/silverlight support on an eeePC 900 with default Xandros

There is a moonlight plug-in for Firefox, which should work both with version 2.x and 3.x. It surely works under ubuntu-based distributions (like EEEbuntu), but under the standard Xandros it does not (either with Firefox 2.x or 3.x).


With Firefox 2.x (installed by default on Xandros eeePC)
The plug-in installs correctly and then Firefox restarts. Once opened a web page with a moonlight/silverlight video content, it asks for a Microsoft codec media pack. Then it downloads the pack, but after a page refresh or Firefox restart it asks again for the pack, endless.


With Firefox 3.x (installed following this how-to)
The plug-in seems correctly installed, but then when Firefox restarts, it does not crash but it stops.
Some files downloaded with the plug-in seem to be compiled against glibc version 2.4, while on the eeePC Xandros glibc is version 2.3.
I found no way to compile them against version 2.3, nor to get glibc 2.4 under Xandros, but found this page with a small tool to patch the FlashPlayer10 (which has the same problem). Thank to the author (SvOlli) the tool it's just a simple binary search and replace, and can be used with other files than the one for which was intended to.
  1. install the plug-in;
  2. download the tool;
  3. extract the flash10patcher executable somewhere, e.g. in /home/user (the file manager opens the .tar.bz2 archives);
  4. open a terminal;
  5. enter that directory and become root:
    # cd /home/user

    # sudo bash

  6. backup to that folder the library file libmoonplugin-ff3bridge.so which is in the profile folder of Firefox, under the subfolder extension/moonlight@novell.com/plugins/moonlight:
    # cp /home/user/.mozilla/firefox/some_alfanumeric_string.default/extension/moonlight@novell.com/plugins/moonlight/libmoonplugin-ff3bridge.so libmoonplugin-ff3bridge.so.original
  7. copy to that folder the same library file and rename it as libflashplayer.so:
    # cp /home/user/.mozilla/firefox/some_alfanumeric_string.default/extension/moonlight@novell.com/plugins/moonlight/libmoonplugin-ff3bridge.so /home/user/libflashplayer.so
  8. run the executable:
    # /home/user/flash10patcher
  9. rename the output like the library file and move it to its right place:
    # mv /home/user/patched.libflashplayer.so /home/user/.mozilla/firefox/some_alfanumeric_string.default/extension/moonlight@novell.com/plugins/moonlight/libmoonplugin-ff3bridge.so
  10. now the plug-in works; run it, by opening a web page with some moonlight/silverlight video content; download the codec media pack as requested;
  11. find where the pack is stored:
    # find / -name "silverlight-media*.so"
  12. backup the media pack file silverlight-media-pack-linux-x86-5-1.so just found:
    # cp /path_found/silverlight-media-pack-linux-x86-5-1.so /home/user/silverlight-media-pack-linux-x86-5-1.so.original
  13. copy the same media pack file and rename it libflashplayer.so:
    # cp /path_found/silverlight-media-pack-linux-x86-5-1.so /home/user/libflashplayer.so
  14. run the executable:
    # /home/user/flash10patcher
  15. rename the output like the media pack file and move it to the lib directory:
    # mv /home/user/patched.libflashplayer.so /usr/lib/mozilla/plugins/moonlight/silverlight-media-pack-linux-x86-5-1.so
  16. (re)start Firefox.

Now the moonlight/silverlight video content should be viewable.

Friday, February 6, 2009

Making windows more compact on an eeePC 900 with default Xandros

I like the default GUI theme of the stock Xandros on the eeePC 900, and most of all I don't like to make too many (often incoherent) changes, but the screen is never big enough. The title bar of the windows could be shorter, for example.
To reduce the height of the bar, we also need to scale down the icon buttons. Therefore it is better to create a new icewm theme:
  1. assumed that the .icewm configuration folder exists for the default user "user":
    cd /home/user/.icewm/themes
    mkdir AsusSilverCompact
    cd AsusSilverCompact
    cp -r /usr/share/icewm/themes/AsusSilver/* .
    nano default.theme

  2. find the row where "TitleBarHeight" is and change the heigth to "16", then save and exit;

  3. with your preferred image editor scale down to "32" (preserving the aspect ratio, so no stretching) the height of the icons:

    closeA.xpm maximizeA.xpm menuButtonA.xpm minimizeA.xpm restoreA.xpm
    closeI.xpm maximizeI.xpm menuButtonI.xpm minimizeI.xpm restoreI.xpm
    closeO.xpm maximizeO.xpm menuButtonO.xpm minimizeO.xpm restoreO.xpm
    menusel.xpm

  4. tell icewm to use the new theme:
    cd ../..
    nano theme
    change the current active theme by changing the line to
    Theme=AsusSilverCompact/default.theme
    then save and exit;

  5. restart X

Monday, January 26, 2009

Installing the Flash player 10 (beta) on an eeePC 900 with default Xandros

Updating the Flash player from version 9 to 10 should be easy but seems to be problematic on Xandros eeePC.
It is quite easy, in fact: this post on eeeuser.com explains how, but it is not completely exact for a 900 model.
For my model it worked this way:

  1. open a terminal by pressing CTRL-ALT-T
  2. type
    wget http://download.macromedia.com/pub/labs … 108.tar.gz 
    or download the file via a browser;
  3. once the file is downloaded, type
    tar xvzf flashplayer10_install_linux_081108.tar.gz
  4. close any open browser window;
  5. type
    cd install_flash_player_10_linux
  6. type
  7. sudo ./flashplayer-installer
  8. hit "Enter";
  9. type
    /opt/firefox
    (instead of /usr/lib/iceweasel)
  10. type "y"
  11. type "n"
  12. open a browser window, and check any flash website, such as YouTube.

Sunday, January 18, 2009

Removing the dialog box when pressing the hardware shutdown button (on an eeePC with default Xandros)

This page suggests different ways to remove the shutdown dialog box. It will be removed both when the hardware button is pressed and when the software button on the taskbar is pressed. But I'd like to remove it only for the hardware button and leave the rest unchanged. So I edited /etc/acpi/powerbtn.sh (changes are in bold) to comment out the call to shutdown_dialog and insert the call to fastshutdown.sh, instead:
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

if ps -Af | grep -q '[k]desktop' && test -f /usr/bin/dcop
then
dcop --all-sessions --all-users ksmserver ksmserver logout 1 2 2 && exit 0
elif ps -Af | grep -q 'AsusLauncher'
then
if [ ! -f /home/user/.doingLogin ]
then
DISPLAY=:0 su -c /opt/xandros/bin/shutdown_dialog user &
fi
else
/bin/kill -SIGUSR2 1
fi
to become:
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

if ps -Af | grep -q '[k]desktop' && test -f /usr/bin/dcop
then
dcop --all-sessions --all-users ksmserver ksmserver logout 1 2 2 && exit 0
elif ps -Af | grep -q 'AsusLauncher'
then
if [ ! -f /home/user/.doingLogin ]
then
sudo fastshutdown.sh
# DISPLAY=:0 su -c /opt/xandros/bin/shutdown_dialog user &
fi
else
/bin/kill -SIGUSR2 1
fi

Wednesday, January 14, 2009

Re-installing Xandros on an eeePC

Quick list for a fresh install of stock Xandros (for the 900 model) with some customization (steps to repeat for preparing my eeePC 900):

  1. remove unionfs (EeeUser howto#1);
  2. remove /dev/sda2 and enlarge /dev/sda2 (same EeeUser howto#1);
  3. edit /boot/grub/menu.lst:
  4. change default system language (this EeeUser howto seems to lead(?) to some problems, this howto is tested safe);
  5. add extra repositories and enable "pinning":
    • manual way (EeeUser howto#3);
    • or using pimpmyeeepc.sh script (EeeUser howto#4);
    • remember to check /etc/apt/sources.list for containing both "p701" and "p900" standard repositories (otherwise, possible issues like while enabling "full desktop mode");
    • add, but keep disabled (due to some conflict, enable only when needed) xepc repositories, by adding:
    • # deb http://updates.xepc.org/ p701 main
      to /etc/apt/sources.list and
      Package: *
      Pin: origin updates.xepc.org
      Pin-Priority: 935
      to /etc/apt/preferences;
  6. use pimpmyeeepc.sh script (same EeeUser howto#4) to:
    • remove SOS button from bar;
    • disable SCIM;
    • enable codec support;
    • enable "full desktop mode";
  7. fix simpleui.rc:
    • user file missing (EeeUser thread, specific for the "900" model):
      • make /var/lib/AsusLauncher as a symlink to /home/user/.AsusLauncher;
      • make /opt/xandros/share/AsusLauncher/simpleui.rc as a symlink to /home/user/.AsusLauncher/simpleui.rc;
    • invalid entries (EeeUser howto#5);
  8. download and install some GUI config tools (same EeeUser howto#5):
    • install AsusLauncher tools, first;
    • fix dependency for "Iconifier" (one of the AsusLauncher tools with
      sudo aptitude install python-imaging
    • install Tweakeee:
    • install Theeemer;
    • install EMeditor (needs menu icon to be set manually);
  9. hide the dialog box when pressing the hardware shutdown button (my way);
  10. install the webcam tray control (EeeUser howto#6);
  11. take a snapshot of system partition with partimage (record 1)
  12. modify /usr/bin/startsimple.sh to save some RAM (EeeUser howto#7);
  13. install WINE (EeeUser thread, specific for the "900" model, xepc repos enabled);
  14. install Exifer (win32 application);
  15. install XnView (win32 version);
  16. install Gimp (xepc repos disabled) and its svg plug-in;
  17. install Gparted;
  18. install partimage;
  19. install iftop;
  20. change host (computer) name (EeeUser howto#8);
  21. set some keyboard shortcuts (EeeUser howto#9);
  22. take a snapshot of system partition with partimage (record 2)
  23. uninstall Firefox2;
  24. install Firefox3 (EeeUser howto#10, "script" way);
  25. take a snapshot of system partition with partimage (record 3)
  26. improve wireless connection script (EeeUser howto#11);
  27. install Flash player 10 (my way) stay with default Flash player 9;
  28. install Sancho (download autoinstaller script);
  29. install GnoCHM (via Tweakeee);
  30. make autofs start at boot by adding the entry "autofs" /etc/fastservices (this explanation);
  31. install curlftpfs and configure it to use autofs (this guide);
  32. install finit-mod (my way);
  33. maximize screen space (EeeUser howto#12 + my way);
At some point, I had to (try to) install Moonlight 1.0, but it didn't work:
  • moonlight plugin crashes Firefox3 (but not Firefox2);
  • Flash player 10 does not work anymore;
  • uninstalling moonlight still makes Flash player 10 not working.

Some attempts (installing, uninstalling, reinstalling, compiling from source) to solve the problem made my Xandros setup dirty. I will restart from the last snapshot (record 3), recover configuration steps 26-33, then take a new snapshot;

  1. take a snapshot of system partition with partimage (record 4)
  2. save some disk space by:
    • uninstalling unwanted applications:
      apt-get --purge remove akregator firstrunwizard frozen-bubble frozen-bubble-data huaweiaktbbo kbruch khangman knode korganizer kpat ktuberling pidgin pidgin-data planetpenguin-racer planetpenguin-racer-data xandros-frozen-bubble-helper
    • uninstalling localization packages:
      apt-get --purge remove acroread-it asus-i18n-it-it asus-launcher-it-it asus-xnlite-it-it diskutil-it-it display-settings-it-it eeetips-it fixdesktop-it kde-i18n-it keyboardmap-data-it-it keyboardstatus-it-it minimixer-it-it networkmonitor-it-it powermonitor-it-it thunderbird-locale-it usbstorageapplet-it-it wapmonitor-it-it xandros-localedialog-it-it xandros-online-help-it xandros-personalization-it-it xandros-shutdowndialog-it-it xandros-systeminfo-it-it xandros-themedialog-it-it

    • deleting folder /usr/share/doc/xandros-online-help/it_IT:
      rm -r /usr/share/doc/xandros-online-help/it_IT
    • deleting all folders but en_US under /opt/asusdiag-0.1/help:
      cd /opt/asusdiag-0.1/help
      ls -d */ |grep -v en_US|xargs rm -r
    • deleting all folders but en_US under /opt/asusdiag-0.1/images
      cd /opt/asusdiag-0.1/images
      ls -d */ |grep -v en_US|xargs rm -r
    • deleting all .qm files but those referring to "english", here and there
      cd /
      find / -name '*.qm'|grep -v en|xargs rm
    • emptying the "Trash" folder
    • cleaning the .deb cache:
    • apt-get clean

  3. take a snapshot of system partition with partimage (record 5)
While waiting for the moonlight issue to be solved, I'm switching to EEEbuntu (dual boot with Xandros).
  1. install moonlight/silverlight support (my way);
  2. take a snapshot of system partition with partimage (record 6)

Monday, October 27, 2008

File type association on an eeePC with default Xandro

In the default Xandros installation of my eeePC, in Easy mode, it is not possible to make a file type association with an application because the system does not save that kind of preference even if the menu commands are enabled and accessible. I don't know why this appens, but there are some workarounds.
If you don't have or don't want to have the Advanced mode (Full Desktop) enabled, you could try this and this.
If you already have or want to have the Advanced mode (Full Desktop) enabled, it's much more simple:
  1. switch to "Full desktop";
  2. launch the file manager;
  3. right click the file to associate, select "Open with" and then "Other";
  4. select the application, mark the "Remember application .." checkbox and then "OK";
  5. switch back to "Easy mode".
Now the preferences are saved and used in Easy mode as well.

Update
After a fresh reinstallation of Xandros from the recovery DVD, the "switching" trick does not work anymore..

Friday, October 3, 2008

Installing kismet on an eeePC with default Xandros

There are hundreds of pages about installing kismet and some pages also about kismet on an eeePC (1, 2, 3..), messing everything with kismet version, Atheros vs madwifi driver, and maybe some compiling.
For a simple installation on an eeePC 900 with default Xandros, my steps were:
  1. install kismet package:
    prompt#: sudo apt-get install kismet

  2. edit "kismet.conf":
    prompt#: sudo nano /etc/kismet/kismet.conf

    by changing the "source" line (the bold one):
    # Sources are defined as:
    # source=sourcetype,interface,name[,initialchannel]
    # Source types and required drivers are listed in the README under the
    # CAPTURE SOURCES section.
    # The initial channel is optional, if hopping is not enabled it can be used
    # to set the channel the interface listens on.
    # YOU MUST CHANGE THIS TO BE THE SOURCE YOU WANT TO USE
    source=madwifi_g,wifi0,kis0

    I don't know why, but with a different "name" parameter rather than kis0, it seems not to work. I'm thinking, that leaving all the rest untouched to its default state, kismet creates its own device.



  3. make a little script:

    prompt#: sudo touch /usr/local/sbin/run-kismet
    prompt#: sudo chmod 755 /usr/local/sbin/run-kismet
    prompt#: sudo nano /usr/local/sbin/run-kismet

    it gives some commands before and after calling kismet, because some actions are needed to prepare and restore devices for connection properly:

    #!/bin/bash
    wlanconfig ath0 destroy
    sleep 2
    kismet
    sleep 2
    wlanconfig ath0 create wlandev wifi0 wlanmode sta

Now you can run kismet:
prompt#: sudo run-kismet

While your using kismet you can not connect to any wireless network; when you're done, you may re-connect as usual.

Monday, September 29, 2008

Emulating (2nd ver.) ramlog on an eeePC with default Xandros

("save log files" - 1st version) ("save log folders" - 2nd version)


eeePCs use solid state disks (SSD). I don't know if the lifespan of SSDs is a real issue for the average user, but I wanted to reduce writings anyway. This article pointed me (paragraph "Which file system should you use?") to the redirection of logs to /dev/null, but I didn't find any instruction on how to make it once and for all (I don't like running scripts every time an application is added or removed). This program (ramlog) pointed me to redirect logs to ram.
I tried installing ramlog on my eeePC 900, but without success.
I tried to mount /var/log on a ramdisk in fstab, but it didn't work because it results in an empty folder, while many programs need their own subfolder, otherwise they don't go (like kismet, for example).


So I tried my way.
And then made a variant. It is useful if you don't need to keep the logs from the old sessions: only logs of the current session are written to ram and then discarded at shutdown.



My steps were:

  1. make a new folder /var/log-save-dir;

  2. copy only the directory structure of /var/log to /var/log-save-dir:


  3. prompt/> cd /var/log-save-dir
    prompt/> (cd /var/log; find -type d ! -name .) | xargs mkdir

  4. delete (or rename for a spare copy) /var/log;
  5. make a symbolic link: /var/log points to /var/log-save-dir (in this manner, programs work as usual until the scripts are completed and running);
  6. in /usr/local/sbin create a simple script named "log-up" to be called at startup in order to:


    • create a directory /tmp/log;

    • move content of /var/log-save-dir to /tmp/log;

    • remove link /var/log, (which is pointing to /var/log-save-dir);

    • make new link /var/log, pointing now to /tmp/log;



    #!/bin/bash
    mkdir /tmp/log
    mv /var/log-save-dir/* /tmp/log
    unlink /var/log
    ln -s /tmp/log /var/log

  7. in /usr/local/sbin create a simple script named "log-down", to be called at shutdown/reboot in order to:


    • copy all folders only from /tmp/log back to /var/log-save-dir (just in case you installed some program which requires its own log folder);



    #!/bin/bash
    cd /var/log-save-dir
    (cd /tmp/log; find -type d ! -name .) | xargs mkdir
    cd /
    unlink /var/log
    ln -s /var/log-save-dir /var/log

  8. in /usr/bin, edit "startsimple.sh" by adding at the beginning a call to "log-up" (bold lines):


  9. #!/bin/sh

    # change logging dir
    sudo /usr/local/sbin/log-up


    sudo /usr/bin/sessreg -d -l :0.0 -u /var/run/utmp user
    xhost + si:localuser:root # Allow local user root only to access the display
    ...

  10. in /usr/bin, edit "startfull.sh" by adding at the beginning a call to "log-up" (bold lines):


  11. #!/bin/sh

    # change logging dir
    sudo /usr/local/sbin/log-up


    touch /home/user/.kdesession #changed
    killall xinit

  12. in /sbin, edit "fastshutdown.sh" by adding a call to "log-down" (bold lines):


  13. #!/bin/sh

    if [ "$1" = "--ask" ]
    then
    zenity --question && sudo $0
    exit $?
    fi

    [ `id -u` = "0" ] || echo "Must be root."

    # revert logging dir
    /usr/local/sbin/log-down


    /usr/bin/killall --wait usbstorageapplet

    /bin/kill -USR2 1

  14. in /sbin, edit "fastreboot.sh" by adding a call to "log-down" (bold lines):


  15. #!/bin/sh

    if [ "$1" = "--ask" ]
    then
    zenity --question && sudo $0
    exit $?
    fi

    [ `id -u` = "0" ] || echo "Must be root."

    # revert logging dir
    /usr/local/sbin/log-down


    /usr/bin/killall --wait usbstorageapplet

    /bin/kill -USR1 1

  16. reboot.



If you care about keeping the full log history, you may opt for similar scripts which save all the logs up to ram and down to disk, but be prepared to an increasing bootup and shutdown time.

Emulating (1st ver.) ramlog on an eeePC with default Xandros

("save log files" - 1st version) ("save log folders" - 2nd version)

eeePCs use solid state disks (SSD). I don't know if the lifespan of SSDs is a real issue for the average user, but I wanted to reduce writings anyway. This article pointed me (paragraph "Which file system should you use?") to the redirection of logs to /dev/null, but I didn't find any instruction on how to make it once and for all (I don't like running scripts every time an application is added or removed). This program (ramlog) pointed me to redirect logs to ram.
I tried installing ramlog on my eeePC 900, but without success.
I tried to mount /var/log on a ramdisk in fstab, but it didn't work because it results in an empty folder, while many programs need their own subfolder, otherwise they don't go (like kismet, for example).

So I tried my way:

  • the eeePC has a /tmp folder mounted in ram on tmpsf;

  • I only need to make a subfolder /tmp/log and to link /var/log there;

  • copy current logs in /tmp/log at boot-up and save new logs from there to somewhere on the disk at shutdown.


My steps were:

  1. rename /var/log as /var/log-save;

  2. make a symbolic link: /var/log points to /var/log-save (in this manner, programs work as usual until the scripts are completed and running);

  3. in /usr/local/sbin create a simple script named "log-up" to be called at startup in order to:


    • create directory /tmp/log;
    • copy content of /var/log-save to /tmp/log;

    • remove link /var/log (which is pointing to /var/log-save);

    • make new link /var/log, pointing now to /tmp/log;



    #!/bin/bash
    mkdir /tmp/log
    cp -rp /var/log-save/* /tmp/log
    unlink /var/log
    ln -s /tmp/log /var/log

  4. in /usr/local/sbin create a simple script named "log-down", to be called at shutdown/reboot in order to:


    • copy only newer or modified logs in /tmp/log back to /var/log-save;

    • remove link /var/log (which is pointing to /tmp/log);

    • make new link /var/log, pointing now to /var/log-save;



    #!/bin/bash
    cp -rpu /tmp/log/* /var/log-save
    unlink /var/log
    ln -s /var/log-save /var/log

  5. in /usr/bin, edit "startsimple.sh" by adding at the beginning a call to "log-up" (bold lines):


  6. #!/bin/sh

    # change logging dir
    sudo /usr/local/sbin/log-up


    sudo /usr/bin/sessreg -d -l :0.0 -u /var/run/utmp user
    xhost + si:localuser:root # Allow local user root only to access the display
    ...

  7. in /usr/bin, edit "startfull.sh" by adding at the beginning a call to "log-up" (bold lines):


  8. #!/bin/sh

    # change logging dir
    sudo /usr/local/sbin/log-up


    touch /home/user/.kdesession #changed
    killall xinit

  9. in /sbin, edit "fastshutdown.sh" by adding a call to "log-down" (bold lines):


  10. #!/bin/sh

    if [ "$1" = "--ask" ]
    then
    zenity --question && sudo $0
    exit $?
    fi

    [ `id -u` = "0" ] || echo "Must be root."

    # revert logging dir
    /usr/local/sbin/log-down


    /usr/bin/killall --wait usbstorageapplet

    /bin/kill -USR2 1


  11. in /sbin, edit "fastreboot.sh" by adding a call to "log-down" (bold lines):


  12. #!/bin/sh

    if [ "$1" = "--ask" ]
    then
    zenity --question && sudo $0
    exit $?
    fi

    [ `id -u` = "0" ] || echo "Must be root."

    #revert logging dir
    /usr/local/sbin/log-down


    /usr/bin/killall --wait usbstorageapplet

    /bin/kill -USR1 1

  13. reboot.



If you don't care about keeping the the full log history, because you only need logs within a session, you may opt for similar scripts which only save the directory structure (needed by some program installation) but not the files (not needed from session to session).

Wednesday, September 24, 2008

Installing finit-mod on an eeePC with default Xandros

finit-mod is a reimplementation of fastinit used by asus in the eeePCs. I struggled a lot before having it working, and I'd like to share my efforts. My steps are referring to an eeePC 900 (bought in Italy) and I don't know if they fit to other models/localizations.

My actual configuration is:


I struggled a lot before having it working, because finit-mod (ver 0.5):

  • requires to launch "/bin/openvt" (which is missing);
  • does not mount user partition (uses folder "/home/user" on "/dev/sda1" instead);
  • does not properly shutdown (power led remains on).


My steps were:

  1. download finit sources from http://helllabs.org/finit/#download;
  2. unpack sources;
  3. edit "finit-mod.c" by adding a mount statement (the bold line) at the end of the "Mount filesystems" section:

    /*
    * Mount filesystems
    */
    mount("proc", "/proc", "proc", 0, NULL);
    mount("sysfs", "/sys", "sysfs", 0, NULL);
    mount("devpts", "/dev/pts", "devpts", 0, "gid=5,mode=620");
    mount("tmpfs", "/dev/shm", "tmpfs", 0, NULL);
    mount("tmpfs", "/tmp", "tmpfs", 0, "mode=1777,size=128m");
    mount("tmpfs", "/var/run", "tmpfs", 0, "mode=0755");
    mount("tmpfs", "/var/lock", "tmpfs", 0, "mode=1777");
    mount("/mnt", "/", NULL, MS_MOVE, NULL);
    mount("/dev/sdb1", "/home", "ext3", 0, NULL);
  4. edit "Makefile" to declare "user" as default login user;
  5. compile;
  6. install "console-tools" (contains the missing "openvt" program);
  7. install "lsof" (used to fix shutdown);
  8. in /sbin, edit "fastshutdown.sh" (as stated here) by inserting kill process and remove module statements (the bold lines):

    #!/bin/sh

    if [ "$1" = "--ask" ]
    then
    zenity --question && sudo $0
    exit $?
    fi

    [ `id -u` = "0" ] || echo "Must be root."

    killall -9 -w `lsof +c 15 /dev/dsp | awk {print $1}`
    killall -9 -w `lsof +c 15 /dev/snd/* | awk {print $1}`

    rmmod snd_hda_intel

    /usr/bin/killall --wait usbstorageapplet

    /bin/kill -USR2 1
  9. in /sbin, copy "fastinit" to "fastinit.orig" (to make a spare copy);
  10. copy the just compiled finit-mod over fastinit (use -f to force, "cp -f finit-mod /sbin/fastinit");
  11. reboot.


You should see finit-mod booting now.
You should also be able to shutdown properly (leds off) from Easy Mode.

If you want (why not?) to shutdown properly from Advanced Mode too:

  1. switch to Advanced Mode (Full desktop);
  2. go to "Control Center", then "Login Manager" and change the shutdown command from "halt" to "fastshutdown.sh".

Booting time is only slightly shorter than using original fastinit but it makes some improvements (as stated here), so I'm keeping it.