Showing posts with label Ubuntu. Show all posts
Showing posts with label Ubuntu. Show all posts

Saturday, July 9, 2016

Fingerprint Sensor on Lenovo X240 Thinkpad on Ubuntu 14.04

OS: Ubuntu 14.04 64 bit LTS

The machine has a fingerprint reader from validity sensor:

$ lsusb
Bus 001 Device 011: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader


Option 1:

sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update
fingerprint-gui is little unstable and matching does not work all the time. 


Option 2: 

sudo add-apt-repository -y ppa:fingerprint/fprint
sudo apt-get update
sudo apt-get install libfprint0 fprint-demo libpam-fprintd gksu-polkit

You can test the sensor using fprint_demo and enroll your fingerprint using fprintd-enroll. 

Now you lock your screen using CTRL+ALT+L and try swiping your finger on the sensor when it glows green. 

Still you need to make couple of attempts to get a right scan and logging in one attempt. It takes several attempts to log in. 

You can also store multiple templates for the same finger using the labels for other fingers.

$ fprintd-enroll -f right-thumb
$ fprintd-enroll -f right-index-finger
$ fprintd-enroll -f right-middle-finger
$ fprintd-enroll -f right-ring-finger
$ fprintd-enroll -f right-little-finger

Another 5 templates can be stored for left hand labels.  Then try fprintd-verify

$ fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: left-middle-finger
 - #1: right-ring-finger
 - #2: left-thumb
 - #3: right-little-finger
 - #4: right-thumb
 - #5: left-index-finger
 - #6: right-index-finger
 - #7: right-middle-finger
 - #8: left-little-finger
 - #9: left-ring-finger
Verify result: verify-match (done)

If you store the templates for index finger under all these labels, then the chances of match increases when you swipe your finger.

Update: 

In order to make it work with login manager, you need to configure the PAM as well.  Hence, you need to install libpam-fprintd package. This is as per the instructions available on this page.

$ sudo apt-get install libpam-fprintd


Now check the common-auth file. It should show something similar as shown below:

$ grep fprint /etc/pam.d/common-auth
auth [success=3 default=ignore] pam_fprintd.so timeout=10 # debug max_tries=5


Now run

$ fprintd-enroll

once you register your finger print. Just check this works for you

$ sudo apt-get update
Swipe your finger across the fingerprint reader

Or else, when you lock your screen with CTRL+ALT+L, it should ask you to swipe your finger. It works instantly with one swipe itself. 

Tuesday, December 30, 2014

Lenovo Thinkpad X240 Wifi Support for RealTek RTL8192EE on Ubuntu / Mint 17



Lenovo Thinkpad X240 comes with RealTek RTL8192EE chipset. Surprisingly the driver does not come built into Ubuntu 14.04 and earlier versions.  However this device is supported on Ubuntu 14.10 (Utopic Unicorn)

If you are using earlier version of Ubuntu or Linux Mint 17, the following instructions may help you


The bug is reported on Launchpad and some workarounds have been suggested:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1239578


One solution (see #38) is to download the OEM driver from the following link:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1239578/+attachment/4057550/+files/rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1016v2.2013.tar.gz

You can also download it from here:

http://netbook-remix.archive.canonical.com/updates/pool/public/o/oem-wireless-rtl-92ce-92se-92de-8723ae-88ee-8723be-92ee-dkms/

or from here (local link)

https://drive.google.com/file/d/0B1WmoEhM2mFOeEo5X2RCdm9RZVU/view?usp=sharing

unzip it .... compile it ... and insert it ... "make" should work  ...

Insert the module by using the following command:

$ sudo modprobe rtl8192ee
$ lsmod | grep rtl8192

Probably you need to reboot. Just try some of the following commands to configure your wifi:

$ sudo iwconfig
$ sudo lshw -C Network
$ sudo iwlist wlan0 scan
$ nm-tool

One problem that people have reported about this driver is that it drops connection every now and then. You need to reboot just to get it working again. This is really annoying. A workaround that works for me is to run the following command:

$ sudo killall NetworkManager

this kills and then restarts the network manager and it connects to the wifi again.



Monday, October 27, 2014

Installing ROS Indigo on Mint 17

Mint 17 is based on Ubuntu trusty and hence you can follow the instruction given below to install ROS-Indigo:

http://answers.ros.org/question/190177/how-to-install-ros-indigo-in-ubuntu-1404-trusty-64-bit/

However, you need to make slight change in the name of repository to be added to your sources.list. The summary of instruction is as follows:


$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirror.umd.edu/packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list' 

$ wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add - 

$ sudo apt-get update 
$ sudo apt-get install ros-indigo-desktop-full

Basically replace $DISTRIB_CODENAME by 'trusty'. It is because the $DISTRIB_CODENAME for mint 17 is 'qiana' for which its 404 error. 




Sunday, October 26, 2014

APT-GET behind Proxy Server, BADSIG GPG Error or Mergelist problem


All these problems are related with your proxy settings.  I could not solve them either.  In this post, I am trying to collect all the solutions that have been suggested by others:

Common Error:

W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key

The usual solution that works for me sometimes is as follows:

$ sudo rm -rf /var/lib/apt/lists/*
$ sudo apt-get update or
$ sudo apt-get update -o Acquire::BrokenProxy=True

You can ignore warnings and gpg errors. However, attempting to obtain the key does not work for me.


$ sudo apt-key adv --keyserver-options http-proxy=http://login:password@proxy.server.com:8080/ --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.eXfoRdf3Dx --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver-options http-proxy=http://xxxxx:yyyyy@proxy.server.com:8080/ --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
gpg: requesting key 437D05B5 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Many have suggested to use the following command. This does not help either.

$ sudo apt-get update -o Acquire::BrokenProxy=True -o Acquire::http::No-Cache=True


Note that these problems do not arise if you are directly connected to the internet.

Tuesday, April 22, 2014

Installing Lotus Notes 9 on Ubuntu 14.04 64-bit LTS




The basics steps of installation are provided here. Basically, it is necessary to have i386 compatible libraries in order to install Lotus notes 9 on a 64-bit machine.

On Ubuntu 14.04 64-bit LTS, ia32-libs is not available. The support has been removed since 13.10. I used the instructions provided here to install ia32-libs. The steps are re-produced here for the sake of the convenience:

  1. Install Synaptic from terminal window
  2. sudo apt-get install synaptic
  3. Launch synaptic and goto “settings > Repositories”
  4. click “other software > add”
  5. insert this line in the box "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse"
  6. click ok and close synaptic
  7. in terminal “sudo apt-get update”
  8. in terminal “sudo apt-get install ia32-libs”

After that install the remaining i386 libraries

$ sudo apt-get update; sudo apt-get install ia32-libs libgnomeprint2.2-0:i386 libgnomeprintui2.2-0:i386 libbonobo2-0:i386 libbonoboui2-0:i386 libgconf2-4:i386 libgnome-desktop-2-17:i386 libgnomevfs2-bin:i386 libgnomeui-0:i386 libjpeg62:i386 libpam0g:i386 libxkbfile1:i386 ttf-xfree86-nonfree t1-xfree86-nonfree -y


While re-building the ibm-notes-9.0.i586 package, remove "libcupsys2" from its dependency list in the control file apart from those mentioned  previously on the above link. In other words, remove the following packages from the "Pre-Depends" line:

gdb, coreutils, unzip, bash, procps, grep, sed, libcupsys2

and rebuild the ibm-notes-9.0-i586.deb package.

$ sudo dpkg-deb -b ibm-notes-9.0.i586/


Now install the debian packages as shown below:

sudo dpkg -i ibm-notes-9.0.i586.deb
sudo dpkg -i ibm-cae-9.0.i586.deb
sudo dpkg -i ibm-feedreader-9.0.i586.deb
 
sudo dpkg -i ibm-activities-9.0.i586.deb
sudo dpkg -i ibm-sametime-9.0.i586.deb
sudo dpkg -i ibm-opensocial-9.0.i586.deb


I get dependency error while installing  'sametime' package. It is related to "iproute".

So I remove it from the control file within ibm-sametime-9.0.i586/DEBIAN and rebuild the package.

Now Lotus notes works perfectly without any problem.

Tuesday, January 21, 2014

Java JRE Webex Firefox Ubuntu 64 bit



I will talk about how to get your Java plugin working on Firefox on Ubuntu. It is also about getting your webex working on Firefox.

First you install oracle-java7-installer using apt-get. You can search on Google for this. Anyway, I am putting it here for your convenience.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
 
You can check Java version using the following command:
 
$ java -version 
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 
 

You can also check if the Java version is working or not from this site. This is the latest Java version available at this point of time for java which I installed recently. From time to time, the new versions come up and your Java applications stop working for one reason to another. In the paragraph below, I will now discuss about installing a new version Java plugin for Firefox

Download the latest version of JRE from this site. Download the Linux64 version of the package. The downloaded package has a name like "jre-7u51-linux-x64.tar.gz". Now create a folder /usr/java/ and copy this file into it. Extract the tarball inside this folder. You will have something like this:

$ cd /usr/java/
$ sudo tar -xzvf  jre-7u51-linux-x64.tar.gz
$ ls 
jre1.7.0_51

You can remove the tar-ball if you want. Now we need to create a link to a specific library "libnpjp2.so" present in this folder to a place where Firefox can find it.

$ cd /usr/lib/mozilla/plugins
$ ln -s /usr/java/jre1.7.0_51/lib/amd64/libnpjp2.so libnpjp2.so

You can rename the already existing link so that you can restore it in case the new version creates problem for you.  Now you can restart your firefox and test if your java application is working.


This new version of Java (version 1.7.0_51) leads to security permission error for many sites. So, you need to add exceptions to these sites. It can be done by accessing the Java Control Panel. Press ALT+F2 and type "ControlPanel" to access Oracle java 7 Plugin Control Panel. Go to the Security tab and Click on " Edit Site List" under "Exception Site List" section. Here you add the site which is giving error regarding security permissions.  Add the sites and click OK and close the panel.

Now try opening the website having the application (for instance Webex). It should work without any problem this time. 


For running java plugin on Firefox, you do not need to install Oracle-Java-installer or JDK installer. You only need the java run-time (jre) package that you can download from the official Java homepage.  You can run the ControlPanel directly from command line: 

$ /usr/java/jre1.7.0_51/bin/ControlPanel



Sometimes it is necessary to set the default java version to the downloaded JRE package in case you have multiple Java versions installed on your system. For instance,   I get following output for java version: 

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu1)

OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)


Then I download jre-8u25-linux-x64.tar.gz package from Oracle website and extract it inside a folder "/usr/java/".


$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jre1.8.0_25/bin/java" 1

$ sudo update-alternatives --set java /usr/java/jre1.8.0_25/bin/java

$ sudo update-alternatives --config java

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
* 1            /usr/java/jre1.8.0_25/bin/java                   1         manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode

Press enter to keep the current choice[*], or type selection number: 

Now check the default java version using the following:

$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

As you can, the default java version is set to the JRE package installed separately as explained above.

Tuesday, May 28, 2013

Disable Graphical login manager on Boot or Changing Default Runlevel on Ubuntu 12.04 64bit LTS

One of the following three methods should work for you:

1. If you just want to disable x-server after log-in. Then press CLT+ALT+F1. You can recover the x server by  running the following command:

$ startx


2. Ubuntu uses lightgdm instead of GDM as the default desktop manager.  So disable lightgdm on  boot by using the following command:

$ update-rc.d -f lightgdm remove

Then reboot the system.

You can start it by using either of the following two commands:

$ sudo service lightgdm restart
or
$ update-rc.d -f lightgdm defaults



3.  Edit the file /etc/default/grub and find the line containing the text:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

replace it by

GRUB_CMDLINE_LINUX_DEFAULT="text"

save the file and update the grub using the following command:

$ sudo update-grub

Now restart the system.

Monday, May 27, 2013

Making Webex work on Ubuntu 12.04 64 bit LTS with Firefox

I could finally get webex work on my ubuntu 12.04 64 bit LTS, thanks to Shariq's blog on the same topic. I will just enumerate few things in addition to what Shariq has already explained.


1. Install ia32-libs using apt-get:

$ sudo apt-get install ia32-libs


I did not downgrade the distribution as Shariq explained in his blog (see this link). I simply installed them using apt-get.

2. Create the folder ~/webex in your home folder as explained by Shariq. 

3. Download the firefox tar ball from the official firefox website. Just click on the download button to get the tar ball. I got the firefox-21.0.tar.bz2. I am not sure if it is a 32-bit or a 64-bit version. At least it did not matter to me.

4. Download the 32-bit JDK version from Oracle's official website. I got the package "jdk-7u21-linux-i586.tar.gz".

5. Extract these packages with in the ~/webex folder as shown below:

$ cd ~/webex
$ tar -xjvf firefox-21.0.tar.bz2
$ tar -xzvf dk-7u21-linux-i586.tar.gz

It creates two folders: 'firefox' and 'jdk1.7.0_21' within the webex folder.

6. Now link the java plugin within the firefox folder:

$ cd firefox
$ mkdir plugins
$ cd plugins
$ ln -s ~/webex/jdk1.7.0_21/jre/lib/i386/libnpjp2.so

Now you should be ready to go.  'Run the firefox executable within the firefox folder.

$ cd ~/webex/firefox
$ ./firefox &

Now open the webex link. You should be able to see the following screenshots. Note the blue 'share desktop' symbol. It indicates that webex is properly. The second screen shows the presentation shared on the webex.






Friday, May 24, 2013

Grub Rescue on Ubuntu 12.04

OS: Ubuntu 12.04

I have two versions of Ubuntu installed on a low-end PC. I resized partitions and it finally messed up the grub settings and I finally ended up getting a grub rescue > prompt on reboot:


I could finally resolve it but still I am not sure if it is the right method. If you know a better method, please let me know.  I basically followed the instructions given here.


Step 1.  It is necessary to identify and locate the partitions where the boot images of your distribution is available.

grub rescue> ls
(hd0)  (hd0,msdos3) (hd0,msdos7)  (hd0, msdos2) (hd0,msdos1)

grub rescue> ls (hd0,msdos1)/boot
... grub .. initrd.img-3.2.0-43-generic-pae ... vmlinuz-3.2.0-43-generic-pae ...

This is the right partition where we would like the grub to boot into

Step 2. It is necessary to find "linux.mod" file which usually lies inside /boot/grub folder.  Do the following:

grub rescue> set prefix=(hd0,msdos1)/boot/grub
grub rescue> insmod (hd0,msdos1)/boot/grub/linux.mod
grub rescue> insmod part_msdos
grub rescue> insmod ext2
grub rescue> insmod gzio

Last two may or may not be necessary. At least I don't get any errors so far.

Step 3. Now its time to tell grub to find the boot images.

grub rescue> set root=(hd0,msdos1)
grub rescue> linux /boot/vmlinuz-3.2.0-43-generic-pae root=/dev/sda1 ro 
grub rescue> initrd /boot/initrd.img-3.2.0-43-generic-pae
no partition found 
grub rescue> boot

The initrd command does not work for me. However, the system boots properly and I get back the login page of my distribution.

Once I log into the system, I open a terminal and install the 'boot-repair' package as follows:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
 
I go for the 'recommended step' and everything gets into its place. When I reboot, I get 
the usual grub menu. If you have a live CD or Live USB, then you can boot into the system 
and install & run boot-repair as explained above to restore your grub. 
 


Tuesday, February 12, 2013

Installing Lotus Notes 8.5.3 on Ubuntu 12.04 64bit LTS


My office mail supports only Lotus Notes and hence I want to configure it on my ubuntu 12.04 64 bit LTS system. A very good tutorial on this is available here. I will not repeat the steps that are already mentioned at this site. Rather, I will only elaborate on errors that I encountered during my installation and tell you how I got around them.

It is easy to follow the steps from 1 to 5 of this tutorial.

Update:   In step 5, you need to download the getlibs from this link. The original link is not working any more.



 On step 6, when I execute the installation process:

$ sudo getlibs -p libgnomeprintui2.2-0 libgnomeprint2.2-0 libgnomevfs2-0 libgnomeui-0 libxkbfile1 libstartup-notification0 libsepol1 libselinux1 libgsf-1-114 libgsf-1-dev librsvg2-2 librsvg2-common libavahi-client3 libavahi-common3 libavahi-glib1 libbonoboui2-0 libcroco3 libdbus-1-3 libdbus-glib-1-2  libgnome2-0 libgnomecanvas2-0 libgnome-keyring0 libgnome-menu2 libesd0 gtk2-engines libgnome-desktop-2-17 libmotif4 libmotif3 libgnome-desktop-3-0 libavahi-glib1 gtk2-engines-oxygen gtk2-engines-aurora gtk2-engines-qtcurve  gtk2-engines-murrine gtk2-engines-equinox  alsa-base alsa-utils iproute libgnome-desktop-3-2 liborbit2 libbonobo2-0 libgconf2-4 libx11-6 libxt6 libxext6  libc6  libgcc1  libgtk2.0-0  libxkbfile1 libglib2.0-0  libstdc++6 bash libart-2.0-2 libpopt0 libgnomeui-0


libmotif3 was not found in your repositories
Make sure you have all repositories enabled and updated
E: No packages found
libgnome-desktop-3-0 was not found in your repositories
Make sure you have all repositories enabled and updated
Downloading ...
Installing libraries ...

But I think this is not serious enough and I decided to proceed further.



 In step 7, I get the following error when I try to install sametime:

$ sudo dpkg -i ibm-lotus-sametime-8.5.3.i586.deb

dpkg: regarding ibm-lotus-sametime-8.5.3.i586.deb containing ibm-lotus-sametime:i386, pre-dependency problem:
 ibm-lotus-sametime:i386 pre-depends on alsa-base
  alsa-base is not installed.
dpkg: error processing ibm-lotus-sametime-8.5.3.i586.deb (--install):
 pre-dependency problem - not installing ibm-lotus-sametime:i386
Errors were encountered while processing:
 ibm-lotus-sametime-8.5.3.i586.deb

I decide to ignore this as I am not worried about using same time at this time.


Update:  On a fresh install of Ubuntu 12.04 64 bit LTS, I could install the above package for 'sametime' without any error.  

Step 8 also works well.


Now in Step 9, I get the following error when I attempt to run the 'make' command:

$ make
gcc -Wall -Wextra -m32 `pkg-config –cflags gtk+-2.0`–shared libnotesgtkfix.c -o libnotesgtkfix.so -ldl 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s

When I search for this library, I find that it is available at two locations: 

$ locate libgcc_s.so
/lib/i386-linux-gnu/libgcc_s.so.1
/lib/x86_64-linux-gnu/libgcc_s.so.1
/lib32/i386-linux-gnu/libgcc_s.so.1
/usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so
/usr/lib/gcc/x86_64-linux-gnu/4.6/32/libgcc_s.so

Somehow the linker was not able to link the 32-bit version of this library. So I decided to create a hard link inside the folder '/usr/lib/gcc/x86_64-linux-gnu/4.6'. 

$ sudo rm libgcc_s.so
$ sudo ln /lib32/i386-linux-gnu/libgcc_s.so.1 ./libgcc_s.so

It seemed to solve the problem and 'libnotesgtkfix.so' library is created.  


Update: Compiling notes-wrapper works fine. It does not give any error.  So, the make command works properly without any error generating 'libnotesgtkfix.so' library.  Just make sure your 'Makefile' looks something like this:

----------

all:
    gcc -Wall -Wextra -shared -m32 -L/lib32/i386-linux-gnu -lgcc_s `pkg-config --cflags gtk+-2.0`-shared libnotesgtkfix.c -o libnotesgtkfix.so -ldl

clean:
    rm -f libnotesgtkfix.so  

------------------


Also, while applying 'sed' to notes-wrapper, you still need to do the following:


While applying sed to the 'notes-wrapper' file, replace the command 

sudo sed -i ‘s/../notes %F/../notes-wrapper %F/g’ /usr/share/applications/LotusNotes8.5.desktop

with

sudo sed -i ‘s/\.\.\/notes\ \%F/\.\.\/notes\-wrapper\ \%F/g’ /usr/share/applications/LotusNotes8.5.desktop


Step 10 is OK. Only change the LD_LIBRARY_PATH from

LD_LIBRARY_PATH=$NOTESBIN:/usr/lib/i386-linux-gnu:$NOTESBIN/jvm/bin/classic:$NOTESBIN/jvm/bin:$LD_LIBRARY_PATH

to 

LD_LIBRARY_PATH=$NOTESBIN:/usr/lib32/:/usr/lib32/i386-linux-gnu:$NOTESBIN/jvm/bin/classic:$NOTESBIN/jvm/bin:$LD_LIBRARY_PATH 


In step 11, You need to include some more symlinks as given below:

$ sudo ln -s /usr/lib/i386-linux-gnu/i386-linux-gnu/libgnomevfs-2.so.0.2400.4 /usr/lib32/libgnomevfs-2.so.0
$ sudo ln -s /usr/lib/i386-linux-gnu/i386-linux-gnu/libgnome-2.so.0.3200.1 /usr/lib32/libgnome-2.so.0
$ sudo ln -s /usr/lib/i386-linux-gnu/i386-linux-gnu/libart_lgpl_2.so.2.3.21 /usr/lib32/libart_lgpl_2.so.2
$ sudo ln -s /usr/lib/i386-linux-gnu/i386-linux-gnu/libbonobo-2.so.0.0.0 /usr/lib32/libbonobo-2.so.0
$ sudo ln -s /usr/lib/i386-linux-gnu/i386-linux-gnu/libbonobo-activation.so.4.0.0 /usr/lib32/libbonobo-activation.so.4
$ sudo ln -s /usr/lib/i386-linux-gnu/i386-linux-gnu/libbonoboui-2.so.0.0.0 /usr/lib32/libbonoboui-2.so.0

If you get any error related to a library not found, just find its location and create a symbolic link within /usr/lib32 folder.

First time, run from the command line as a normal user as shown below: 

$ /opt/ibm/lotus/notes/notes-wrapper


setting locale …

setting notes environment …

starting notes …

`menu_proxy_module_load': /opt/ibm/lotus/notes/notes: undefined symbol: menu_proxy_module_load



(notes:3116): Gtk-WARNING **: Failed to load type module: (null)


`menu_proxy_module_load': /opt/ibm/lotus/notes/notes: undefined symbol: menu_proxy_module_load

(notes:3116): Gtk-WARNING **: Failed to load type module: (null)

ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
[03116:00002-4078790848] Error writing to process file pid.nbf, (other applications may be inappropriately accessing this file)SUT: OSSmartUpgradeInit: OSFileCreateDirectory: error: Cannot write or create file (file or disk is read-only)
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/ibm/lotus/notes/libnotesgtkfix.so' from LD_PRELOAD cannot be preloaded: ignored.
[03116:00002-4078790848] 02/12/2013 03:17:01.49 PM NEMInit> The declaration for notation '{0}' is invalid! Errorcode=39054.


[03116:00002-4078790848]  Thread=[03116:00002-4078790848]
Stack base=0xFFE2A25C, Stack size = 2268 bytes
PANIC: DESK create failed
Stack base = 0xffe2a25c, Stack size = 4092 bytes 
Fatal Error signal = 0x0000000b PID/TID = 3116/-216176448 
2/12/2013 15:17:02  Running NSD
2/12/2013 15:17:14  Termination is in progress
2/12/2013 15:17:14  Too many crashes, restart disabled
2/12/2013 15:17:14  Terminating tasks
2/12/2013 15:17:19  Freeing resources
2/12/2013 15:17:19  Termination completed


First time, it gives error and lotus note crashes. Ignore the error related to 'libnotesgtkfix.so' not getting preloaded. 

Not able to write the pid.nbf file is the real problem here. It is related to NSD. It does not let you start the notes. It gives a warning and terminates the program.  Little search on google lead to this link.

To solve this, add the following lines to the file /home/lotus/notes/data/notes.ini 

DISABLE_SAVENSDCONFIG=1

and Change the line

NotesProgram=/opt/ibm/lotus/notes/notes 

to 

NotesProgram=/opt/ibm/lotus/notes/notes-wrapper


You might need root permission to edit this file even though it is in your home directory.  Now when you give the above command, it finally starts without any error.  You need to have your ID file in order to configure the Lotus Client.  I also use the modification as suggested in this link as well: 

sudo mv /opt/ibm/lotus/notes/openwith /opt/ibm/lotus/notes/openwith.bak
sudo ln -s /usr/bin/gnome-open /opt/ibm/lotus/notes/openwith


The home screen opens after you give the password. But I get an error : CWPCA4003W: Failed to load application from url:nrpc:/ ....  (see the screenshot below). It has to do with some template design problem. I tried refreshing the template, but it did not help.


I am also able to create a local replica and synchronize it with the server. But I am not able to view my mailbox.  I am able to send a mail though. I think the problem lies with updating / upgrading templates.

Update: I don't get any error when I run the command '$ /opt/ibm/lotus/notes/notes-wrapper'. Everything works seamlessly.Put your lotus note ID file into "~/lotus/notes/data/"  folder located in your home directory. 

Wednesday, November 21, 2012

File Synchronization over Network using Unison

Unison is great tool for synchronizing files over network. Earlier I used rsync for file-synchronization. Unison at least provides one level of comfort over rsync which requires quite a bit of customization. If you want to use Unison to synchronize files between two systems over a network, then please refer to the following links:

http://www.howtoforge.com/setting-up-unison-file-synchronization-between-two-servers-on-ubuntu-11.10

This worked for me on Ubuntu 12.04 LTS 64-bit version and I managed to do everything mentioned on this page. One more thing, you don't need to use the root login for executing the steps.

If you need to delete the several profiles already created on Unison, you should go to ~/.unison folder and delete the corresponding .prf files. It is not possible to delete profiles using GUI.

Thursday, October 4, 2012

APT Behind Proxy Server Ubuntu 12.04


This worked for me on Ubuntu 12.04


Create a new file as shown below:

$ sudo gvim  /etc/apt/apt.conf.d/02http-proxy

and enter the following line:

Acquire::http::Proxy "http://username:password@proxy.tcs.com:8080";



Save the file and run

$ sudo apt-get update 

It should work for you.

One more thing, if your password contains '@' character, then you need to replace it with '%40' in your password.




Thursday, February 25, 2010

Adobe flash on Google Chrome, Ubuntu

If you are not able to see Youtube videos on Google chrome, then probably your flashplayer is not working properly.

For 64 bit machines, download the Adobe flashplayer from this link.
For 32 bit machines, download from here.

Extract from the tar ball :

$ tar -xzvf libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz

make a directory :

$ sudo mkdir /opt/google/chrome/plugins

$ sudo cp libflashplayer.so /opt/google/chrome/plugins

$ google-chrome --enable-plugins

You can change this command in your application menu as described here.

Thursday, January 21, 2010

Convert PS and EPS files into JPEG

I got this useful information from this link.

You can convert any ps or eps file into a jpeg using ghostscript:

gs -sDEVICE=jpeg -dJPEGQ=100 -dNOPAUSE -dBATCH -dSAFER -r300 -sOutputFile=myfile.jpg myfile.eps


This method has one flaw. It produces huge files. Depending on the eps file you may get something like 2000×3000 pixels which is slightly on the insane side. Also the file size of the JPG will be about 10 times that of the eps.
We will now need to trim and resize the file using some Image Magic tools:


mogrify -trim -resize 800x600 myfile.jpg


In order to execute this command on multiple files,  use following bash script

for k in $(ls *.eps); do b=`basename ${k%.eps}`; gs -sDEVICE=jpeg -dJPEGQ=100 -dNOPAUSE -dBATCH -dSAFER -r300 -sOutputFile=$b.jpg $k; mogrify -trim -resize 800x600 $b.jpg; done
 

Sunday, August 23, 2009

opencv on Ubuntu Jaunty

Opencv does not handle videos properly on Ubuntu Jaunty. In order to fix this, please follow the instructions given at this link:

http://gijs.pythonic.nl/blog/2009/may/3/getting-video-io-working-opencv-and-ubuntu-jaunty-/

Monday, August 10, 2009

Vim-latex suite on Ubuntu Jaunty

First install vim-latex package using synaptic packet manager. Then run following command on a terminal :

$ sudo vim-addons -w install latex-suite

Now opening a tex document with gvim should show tex related menus on the menu bar.

If this does not help, then refer to ubuntu forums for solution. For instance check this link.

Thursday, December 4, 2008

Mounting an external drive using volume label

The device nodes keep changing if you are pluggin in and out several different usb disks and in different orders. For various reasons for instance for file synchronization, it is useful to mount these drives according to their names.

First of all, find out the correct device partitions for usb drives.

$ sudo fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x4be002e1

Device Boot Start End Blocks Id System
/dev/sda1 1 1402 11261533+ 12 Compaq diagnostics
/dev/sda2 * 1403 15918 116592640 6 FAT16
/dev/sda3 15918 29975 112918572 f W95 Ext'd (LBA)
/dev/sda4 29976 30402 3420160 12 Compaq diagnostics
/dev/sda5 15918 22292 51200000 7 HPFS/NTFS
/dev/sda6 22293 22304 96358+ 83 Linux
/dev/sda7 22305 22912 4883728+ 82 Linux swap / Solaris
/dev/sda8 22913 26559 29294496 83 Linux
/dev/sda9 26560 29975 27438988+ 83 Linux

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x5b6ac646

Device Boot Start End Blocks Id System
/dev/sdb1 1 24315 195310206 c W95 FAT32 (LBA)
/dev/sdb2 24316 38913 117258435 82 Linux swap / Solaris

The Usb disk is mounted at /dev/sdb.

Before changing the label, unmount the device partitions. This is very important.

$ sudo umount /dev/sdb1
$ sudo umount /dev/sdb2

Install "mtools" and "e2fsprogs"

$ sudo apt-get install mtools e2fsprogs

in order to label vfat partitions, we need 'mtools' and 'e2label' is needed for labelling ext2/3 partitions.

$ sudo mlabel -i /dev/sdb1 -s :: SWG_WIN

now check the label with following command

$ sudo mlabel -i /dev/sdb1
Volume label is SWG_WIN

$ sudo e2label /dev/sdb2 swg_lin

check the label using following command:
$ sudo e2label /dev/sdb2
swg_lin

Now edit /etc/fstab and enter following lines:

LABEL=SWG_WIN /mnt/usb_win vfat user,rw,auto,umask=0 0 0
LABEL=swg_lin /mnt/usb_linux ext3 user,rw,auto 0 0

save the file and remount them

$ sudo mount -a

More information about changing partition labels are given here.

Saturday, November 22, 2008

Setting UP NFS server/client on Ubuntu

Install NFS Server Support

This is mostly a local copy of the instructions available at this link. I have tried this howto and it works perfectly for me.


at the terminal type
sudo apt-get install nfs-kernel-server nfs-common portmap
When configuring portmap do =not= bind loopback. If you do you can either edit /etc/default/portmap by hand or run:
sudo dpkg-reconfigure portmap
sudo /etc/init.d/portmap restart


Editing /etc/exports
the /etc/exports file is used for creating a share on the NFS server

invoke your favorite text editor or
sudo vi /etc/exports

Here are some quick examples of what you could add to your /etc/exports

For Full Read Write Permissions allowing any computer from 192.168.1.1 through 192.168.1.255
  • /files 192.168.1.1/24(rw,no_root_squash,async)

Or for Read Only from a single machine
  • /files 192.168.1.2 (ro,async)
save this file and then in a terminal type
sudo /etc/init.d/nfs-kernel-server restart

Also aftter making changes to /etc/exports in a terminal you must type
sudo exportfs -a

Install NFS client support
sudo apt-get install portmap nfs-common

Mounting manually
Example to mount server.mydomain.com:/files to /files. In this example server.mydomain.com is the name of the server containing the nfs share, and files is the name of the share on the nfs server

The mount point /files must first exist on the client machine.
cd /
sudo mkdir files


to mount the share from a terminal type

sudo mount server.mydomain.com:/files /files

Note you may need to restart above services:
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-common restart


Mounting at boot using /etc/fstab
Invoke the text editor using your favorite editor, or
gksudo gedit /etc/fstab

In this example my /etc/fstab was like this:
  • server.mydomain.com:/files /files nfs rsize=8192,wsize=8192,timeo=14,intr
You could copy and paste my line, and change “servername.mydomain.com:/files”, and “/files” to match your server name:share name, and the name of the mount point you created.
It is a good idea to test this before a reboot in case a mistake was made.
type
mount /files
in a terminal, and the mount point /files will be mounted from the server.

Gtalk Voice chat on Ubuntu

After such a long wait, today I could talk to one of my friend in India through Gtalk on linux. I am talking about voice chat. I am very much impressed with Ubuntu. Its amazing. Things had never been so easy and comfortable.

Presently Empathy supports voice calls through gtalk. The installation instructions are available here. Just for convenience, I am reproducing the set of instructions necessary to get you started with it. Visit the above site for user comments and more information if things don't work out for you.

Use Synaptic package manager, go to Settings->Repositories->Third Party Software and then click Add and add the following line

deb http://ppa.launchpad.net/telepathy/ubuntu hardy main

Then, Install the following packages using Synaptic Pagakage manager.

  1. Empathy
  2. telepathy-gabble
  3. telepathy-mission-control
  4. telepathy-stream-engine

After successful installation, open the Empathy application and use the menu, Edit->Accouts to add your gtalk account. Enjoy using voice chat with your favorite gtalk account using Empathy in Linux.

Tuesday, October 7, 2008

Data Backup and File synchronization

If you work on multiple systems like a desktop in office and a laptop in house, probably you would like to synchronize the files between the two. So far I have been using rsync to copy files from my laptop to a usb disk and then using this disk to synchronize data on my desktop at office. While rsync is faster and does not require much configuration, it is good for one way data transfer. But some time you end up with multiple copies or backing up unnecessary data files. For instance if you delete a file in one, you must do the same on the another simultaneously. Probably it can be solved by properly configuring rsync, but certainly its not straight forward for a normal user. Recently I used gui based tool like Unison for file synchronization. I found it pretty much user friendly as it reports the conflicts and allows the user to decide what to do about it. Another tool that I found useful is sBackup for creating backup of important files on your system. These days our work and life depend too much on digital media. Hence backing them up against inadvertent system crashes or human errors, has become very much crucial. sBackup provides a simple gui to configure and setup backup process. You can have complete control over the files you want to backup. You can exclude files based on extension or size. You can set how frequently backup must be taken and you can get rid of old backups which are no more relevant.

In short, file synchronization and backing up data is no more daunting on Linux.