Skype on Ubuntu Linux 10.04

May 16th, 2010 1 comment

There are some issues with version 2.1.0.81 of Skype on Ubuntu Linux (possibly other distributions as well).

The first issue is the default theme on Skype versus the one for Ubuntu. The default theme on Skype configured menu text with dark colors and the default Ubuntu theme configures menus with dark background. This makes the menu text mostly invisible.

Luckily by moving the mouse pointer over the menu the background highlight makes the text visible.

To change this permanently select “Options” from the Skype menu on the bottom left corner of the Skype window or press CTRL+O.

On the “General” section change the style from “Cleanlooks” to “Desktop Settings”. Close and restart Skype. Now you should see the menu text clearly.

The second issue is a problem with the video camera. This might or might not happen to you. It is a known problem with a workaround on the Skype release notes:

Skype does not work well with newer version of GSPCA Webcams driver (Linux Kernel >=2.6.27), possible workaround:

  • Ubuntu 32 bit: install “libv4l-0″ package and launch Skype with: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
  • Ubuntu 64 bit: install “lib32v4l-0″ package and launch Skype with: LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype
  • Other distributions might have the same library, but may have a different path.
  • In my case I already had the package ??libv4l-0 installed. If that’s not your case, or if you’re not sure, run on a terminal window:

    sudo aptitude install libv4l-0

    With the library installed you cannot simply start Skype from the start menu because the variable LD_PRELOAD needs to be customized for Skype.

    So you have to start it from a terminal window or change Ubuntu menu. To change Ubuntu menu do the following:

    • Open the System > Preferences menu and select “Main Menu”
    • On the left select the “Internet” menu and on the right select “Skype”.
    • Click “Properties”.
    • On “Command:” replace the default command with: bash -c “LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype”

    Now every time you start Skype your video should work.

    Categories: Linux

    Move grub from internal disk to external storage

    January 27th, 2010 2 comments

    When I installed Ubuntu Linux on my USB 8GB stick I didn’t noticed where grub was being installed. After a while I noticed that I could only boot my Windows installation (on the internal hard drive) via the USB 8GB stick.

    What happened was that Ubuntu install changed the master boot record (MBR) of my internal drive and set it up to load the remaining of Grub (it is split in 2 because otherwise it wouldn’t fit on the MBR) from the USB storage.

    To fix this I could use the Windows tools (fixmbr) but that requires me to boot using the recovery console and login as system administrator. Although using fixmbr would restore the Windows boot loader it would erase grub and make the USB storage  not bootable.

    What worked for me was MbrFix from sysint (www.sysint.no). REMARK: following the instructions below might make your computer unusable and eventually make you lose data.

    First I got the list of partitions on my internal disk:

    C:\>MbrFix.exe /drive 0 listpartitions
    # Boot Size (MB) Type
    1 Yes     76316    7  NTFS or HPFS
    2             0    0  None
    3             0    0  None
    4             0    0  None

    Next I saved my internal disk mbr to a file:

    C:\>MbrFix.exe /drive 0 savembr Backup_MBR_0.bin

    Next I listed my partitions on my USB disk drive:

    C:\>MbrFix.exe /drive 1 listpartitions
    # Boot Size (MB) Type
    1          6440  131  Linux native (usually ext2fs)
    2          1223  130  Prime
    3             0    0  None
    4             0    0  None

    Now I want to put grub on my USB disk:

    C:\>MbrFix.exe /drive 1 restorembr Backup_MBR_0.bin
    You are about to Restore MBR,
    are you sure (Y/N)? Y

    Now let’s see how the partition looks like:

    C:\>MbrFix.exe /drive 1 listpartitions
    # Boot Size (MB) Type
    1 Yes     76316    7  NTFS or HPFS
    2             0    0  None
    3             0    0  None
    4             0    0  None

    Ups! what happened there? My Linux partitions are gone… Let me try and fix this…

    C:\>MbrFix.exe /drive 1 /partition 1 setpartitiontype 131
    You are about to Set partition type,
    are you sure (Y/N)? Y
    Partition 1, type before: 7 NTFS or HPFS
    Partition 1, type after: 131 Linux native (usually ext2fs)
    
    C:\>MbrFix.exe /drive 1 /partition 2 setpartitiontype 130
    You are about to Set partition type,
    are you sure (Y/N)? Y
    Partition 2, type before: 0 None
    Partition 2, type after: 130 Prime
    
    C:\>MbrFix.exe /drive 1 listpartitions
    # Boot Size (MB) Type
    1 Yes     76316  131  Linux native (usually ext2fs)
    2             0  130  Prime
    3             0    0  None
    4             0    0  None

    Looks like by setting the partition types back to their original values solved the problem.. yes it did.. ufff…

    Now let’s restore the original Windows boot loader on the internal disk:

    C:\Documents and Settings\machados\My Documents\Downloads>MbrFix.exe /drive 0 fixmbr
    You are about to Fix MBR,
    are you sure (Y/N)? Y

    Now I could boot the system without the USB disk connected to my laptop.

    I could also boot my Linux system by connected the USB disk and selecting “boot from usb storage” from my bios boot menu.

    Categories: Linux, Windows

    Installing VirtualBox additional tools on Ubuntu 9.10 Karmic Koala

    November 24th, 2009 No comments

    This procedure was tested on VirtualBox 3.0.12 for Windows and Ubuntu 9.10 Server 32 bit as Guest.

    To be able to enjoy seamless integration between the host operating system and the VirtualBox guest you have to install VirtualBox Additional Tools on the guest operating system.

    To do so, follow the steps:

    Ensure you have a working Internet connection.

    Step 1:

    Install requirements for the Additional Tools:

    sudo apt-get install gcc linux-source-virtual linux-headers-virtual dkms

    Reboot after installation.

    Step 2:

    After logging in again find the Install Additional Tools option on the Devices menu.

    Then on your guest mount the cdrom:

    sudo mount /media/cdrom

    Step 3:

    Now install the tools:

    cd /media/cdrom

    ./VBoxLinuxAdditions-x86.run

    This will install the additional tools for virtual box.

    Reboot your system and you’re all set.

    Categories: Linux, Virtualization

    Linux: mirroring my usb installation for more space

    October 27th, 2009 No comments

    I recently installed Ubuntu 9.10 Beta on a 4GB USB drive and was running my laptop from it. Although the Ubuntu default installation from the Live CD took less than the same installation from Fedora 12 I quickly found that I needed more space for the system (/home included). So I needed to move the system to a larger USB drive. This article explains how I moved my system from a 4GB USB drive to a 8GB USB drive including partition resizing.

    My laptop has 2 limitations. One, it doesn’t have a CD-ROM drive. Second, it only has 3 USB ports. I got a Pioneer DVR-XD09 external hard drive. This drive takes 2 USB ports because of power requirements and that means that if I boot from the live CD I only have 2 remaining port for other external drive.

    So I did the following:

    Step 1:

    Boot from the 4GB USB installation. Install gparted using Ubuntu Software Center from Applications menu.

    Delete any partition  existing on the 8GB USB drive using gparted. Make sure you select the correct drive.

    Step 2:

    Boot Ubuntu Live CD 9.10.

    Step 3:

    Mount the internal hard drive. It has enough space for an image of the USB installation.

    Step 4:

    Plug in the USB where the system is installed (4GB) . Unmount it.

    Step 5:

    Make an image to the internal harddrive with the dd command:

    dd if=/dev/sdc/ of=/media/internal_drive/ubuntu-image

    Step 6:

    Unplug the 4GB USB drive. Plug in the 8GB USB drive. Unmount it.

    Step 7:

    Copy the Ubuntu image to the 8GB USB drive using dd:

    dd if=/media/internal_drive/ubuntu-image of=/dev/sdc

    Step 8:

    Boot the system from the 4GB USB drive.

    Plug the 8GB drive. Using gpartd remove the swap drive on the 8GB drive.

    Use uuidgen and tune2fs to change the uuid of the root partition on the 8GB drive:

    $ sudo -i

    # uuidgen
    0b2eaab8-fddb-41fc-85f9-12ff421ce984

    # tune2fs -U 0b2eaab8-fddb-41fc-85f9-12ff421ce984 /dev/sdc1

    Step 9:

    Open gparted (or click Refresh Devices from GParted menu if you didn’t close GParted on last step).

    Select the 8GB device. Select partition 1 (/dev/sdc1 in my ca.se). Press the mouse right button and select resize/move.

    Drag the right edge of the partition until your happy with the free space for the swap partition. I left 1.20 GiB for the swap partition.

    Right-click the unallocated space and select New.

    On File System select linux-swap and press Add.

    Back to GParted main window Apply the changes.

    Close GParted.

    Step 10:

    Mount the new root partition using the Ubuntu Places menu.

    On a terminal window change to the etc folder on that partition:

    $ sudo -i

    # cd /media/0b2eaab8-fddb-41fc-85f9-12ff421ce984/etc/

    Check the previous UUID values on fstab:

    # cat fstab | grep UUID=
    # for a device; this may be used with UUID= as a more robust way to name
    UUID=4c557514-3b1e-47b2-ad53-475e26f0e520 / ext4 errors=remount-ro 0 1
    UUID=1042ef8e-bcf0-4890-a5b0-fe24a1aec625 none swap sw 0 0

    Backup your fstab:

    # cp fstab fstab.old

    Get the new values:

    # blkid /dev/sdc1
    /dev/sdc1: UUID=”0b2eaab8-fddb-41fc-85f9-12ff421ce984″ TYPE=”ext4″
    # blkid /dev/sdc2
    /dev/sdc2: UUID=”d8989008-f39c-42f4-81ad-5c1a70c8b3c9″ TYPE=”swap”

    Replace the old values for the new ones:

    # sed ’s/4c557514-3b1e-47b2-ad53-475e26f0e520/0b2eaab8-fddb-41fc-85f9-12ff421ce984/’ fstab.old > fstab

    # sed ’s/1042ef8e-bcf0-4890-a5b0-fe24a1aec625/d8989008-f39c-42f4-81ad-5c1a70c8b3c9/’ fstab > fstab.new

    Now your fstab should have the new values:

    # cat fstab | grep UUID=
    # for a device; this may be used with UUID= as a more robust way to name
    UUID=0b2eaab8-fddb-41fc-85f9-12ff421ce984 / ext4 errors=remount-ro 0 1
    UUID=d8989008-f39c-42f4-81ad-5c1a70c8b3c9 none swap sw 0 0

    Step 11:

    Now you need to install GRUB on the 8GB USB drive.

    First, the UUID of the root partition needs to be corrected also:

    # cd ../boot/grub

    # cp grub.cfg grub.cfg.old

    # sed ’s/4c557514-3b1e-47b2-ad53-475e26f0e520/0b2eaab8-fddb-41fc-85f9-12ff421ce984/’ grub.cfg.old > grub.cfg

    Install grub on 8GB USB device:

    First check if sdc is on device.map:

    # cat device.map
    (hd0) /dev/sda
    (hd1) /dev/sdb

    Add the missing device:

    # echo “(hd2) /dev/sdc” >> device.map

    # grub-setup -d ./ -r ‘(hd1,1)’ -m ./device.map ‘(hd2)’

    # grub-install –root-directory=/media/0b2eaab8-fddb-41fc-85f9-12ff421ce984/ /dev/sdc

    Step 12:

    Shutdown the system. Remove the 4GB drive and plugin the 8GB drive.

    Turn on the system.

    Now I have 50% of free space instead of the 5% I had before migrating my system from an 4GB USB drive to an 8GB  USB drive.

    # tune2fs -U 0b2eaab8-fddb-41fc-85f9-12ff421ce984 /dev/sdc1
    Categories: Linux

    Flex 3 SDK: First Steps

    September 13th, 2009 No comments

    This post will guide you to install Flex SDK 3.4 on Windows XP and compile and run the examples on it. We’ll be using the command line, a text editor. No Flex Builder.

    Step 1:

    Download Flex SDK 3.4 to your computer.

    Step 2:

    Extract to c:\flex_sdk_3.4

    Step 3:

    Browse to C:\flex_sdk_3.4\runtimes\player\10\win and run:

    Install Flash Player 10 ActiveX.exe

    Install Flash Player 10 Plugin.exe

    Step 4:

    Browse to C:\flex_sdk_3.4\samples\explorer

    Step 5:

    Run build.bat

    This will take a while because it will recursively compile all mxml files.

    Step 6:

    Run explorer.html

    Experiment with the samples provided.

    Step 7:

    Let’s create an hello world application. Using an editor of your choice create a text file and save it as “helloworld.mxml” – the directory doesn’t really matter but let’s say c:\helloworld\.

    Step 8:

    Copy the following xml text into the helloworld.mxml file.

    <?xml version=”1.0″ encoding=”utf-8″?>
    <mx:Application xmlns:mx=”http://www.adobe.com /2006/mxml”>
    <mx:HBox>
    <mx:Label text=”Hello World from Flex!”/>
    </mx:HBox>
    </mx:Application>

    Step 9:

    Compile your mxml file into an swf file using the following command at the command prompt:

    C:\flex_sdk_3.4\bin\mxmlc.exe helloworld.mxml

    Step 10:

    Run your swf file. The Flash player should open and execute your file. Your “Hello World from Flex” message will show up.

    References:

    http://livedocs.adobe.com/flex/3/html/

    http://www.adobe.com/support/documentation/en/flex/

    Categories: Flex, Windows

    No link light while connecting to network

    September 4th, 2009 No comments

    I got a new laptop to work with and noticed that if I plugged a network cable into it to connect to certain networks sometimes it worked sometimes it didn’t – I couldn’t even see a link light at the socket.

    I thought this would be a driver issue of the laptop so I was ready to find a new driver for this network card.

    So I opened Control Panel and System Properties. Then I clicked the Hardware tab and opened Device Manager.

    At Device Manager I expanded Network Adapters tab and selected the ethernet controller of my laptop. I right clicked it and opened the properties window. My initial purpose was to find the driver version but I started looking at the settings.

    So I selected the Advanced tab and eventually Speed & Duplex. Wait.. why is it set to 100 Mb Full? Hummm…. let me change that to Auto. Bingo… After applying the change I got a 1.0Gbs connection…

    Categories: Hardware, Windows

    Windows: checking file integrity with sha1 and/or md5

    August 31st, 2009 No comments

    Some Internet available software, normally free software, provides a checksum for file integrity testing.

    What is this for? By checking that the checksum of the downloaded file matches the checksum provided on the source web site you’ll have a guarantee that the file was not modified (hacked) – unless the web site checksum was too..

    So on windows how do you verify this?

    There’s a tool (fciv.exe) provided by Microsoft(r) that can compute sha1 and md5 checksums. You can download it at http://support.microsoft.com/kb/841290.

    After downloading it, you can extract it to c:\windows\ to make the command widely available.

    Next you can verify the checksum of a downloaded file, say for example the gnupg installation package for windows. On the web site the sha1 checksum was published. Let’s verify it:

    C:\external\Software\gnupg>fciv gnupg-w32cli-1.4.9.exe -sha1
    //
    // File Checksum Integrity Verifier version 2.05.
    //
    c2efad983dfe50e6d8007257bad2c76604be389a gnupg-w32cli-1.4.9.exe

    Great, it matches it so the file has it’s integrity intact.

    To make things easier we can create the commands sha1sum and md5sum which are normally the standard command names to check sha1 and md5.

    Let’s create 2 batch files, for sha1 let’s put the following contents and save it as c:\windows\sha1sum.bat:

    @echo off
    fciv %1 -sha1

    and for md5 let’s put the following contents and save it as c:\windows\md5sum.bat:

    @echo off
    fciv %1

    Now we can compute the checksums by calling these commands:

    C:\external\Software\gnupg>sha1sum gnupg-w32cli-1.4.9.exe
    //
    // File Checksum Integrity Verifier version 2.05.
    //
    c2efad983dfe50e6d8007257bad2c76604be389a gnupg-w32cli-1.4.9.exe
    
    C:\external\Software\gnupg>md5sum gnupg-w32cli-1.4.9.exe
    //
    // File Checksum Integrity Verifier version 2.05.
    //
    d90854104edcb72149472a99a9392d4e gnupg-w32cli-1.4.9.exe
    Categories: Shell, Windows

    Shutdown timer

    August 30th, 2009 No comments

    Here is a quick tip on how to set your pc to shutdown completely at a defined time.

    Use the command shutdown (open an command prompt: Start > Run > cmd):

    shutdown -s -f -t 3600

    The command above shuts down your computer in 1 hour closing any running application.

    Look at windows help for the complete synopsis of the command.

    Categories: Windows

    Bash: window size is too short, how do I change it?

    August 26th, 2009 No comments

    So I’m logged on to a Linux server using Bash shell over an ssh connection using Poderosa client.

    When I time a long command for some reason the cursor at some point moves over to the beginning of the same line overwriting the command and everything becomes a mess. This is specially annoying while typing something you would like to cut and paste on an email for example.

    So, what’s going on?

    Bash has a variable that reports the number of columns setup:

    $ echo $COLUMNS
    80

    Interesting, it is configured for 80 columns but my terminal window has 137 columns. Why is that?

    There’s a Bash setting that will adapt the window size after each command:

    checkwinsize
    If set, Bash checks the window size after each command and, if necessary, updates the values of LINES and COLUMNS.

    Let’s see what is it’s current value:

    $ shopt -p | grep checkwinsize
    shopt -u checkwinsize

    That means it is disabled… Let’s enable it:

    $ shopt -s checkwinsize

    Now it is enable. Let’s check the COLUMNS value now:

    $ echo $COLUMNS
    137

    Great!

    Categories: Linux, Shell

    Changing the configuration of Redhat Cluster Manager

    August 20th, 2009 No comments

    The Redhat cluster manager uses a cluster configuration system (man ccs) which can be managed by the ccs_tool tool.

    To change the configuration file /etc/cluster/cluster.conf you have to follow the steps outlined below on the first node of your cluster:

    1. backup current cluster.conf
    2. copy /etc/cluster/cluster.conf to say /tmp/cluster.conf
    3. make the necessary changes to /tmp/cluster.conf
      1. Change also the config_version attribute of the cluster tag at line 2 increasing the value by 1.
    4. run ccs_tool with the update option:  ccs_tool update /tmp/cluster.conf
    5. if you’re using cman then run: cman_tool version -r <new config version>

    If you don’t do item 5. and you’re using cman then your nodes will not be able to rejoin the cluster. To recover do the following:

    1. On the first node run cman_tool version -r <new config version>.
    2. On the other nodes restart the cman service.
    3. Restart ccsd
    4. Start rgmanager
    Categories: Linux