Archive for the ‘linux (most likely Debian)’ Category

lxdm (LXDE) not starting at boot

Friday, January 6th, 2012

I’ve just found the solution for this that’s been bodering me for the last month or so. I filled up a bug at launchpad that contains all the info: https://bugs.launchpad.net/ubuntu/+source/lxdm/+bug/912772

After digging around I found that the upstart job /etc/init/lxdm.conf ran and stopped inmmediatly. A couple of weeks later (BTW, upstart debug log sucks!), I found that in this file there’s a condition that checks the content of /etc/X11/default-display-manager (line 28) and expects to found “/usr/sbin/lxdm”. In my case, the content of the file was “lxdm” therefore the condition was not satisfied and lxdm failed to start (actually it was being forced to stop).

After changing the content of /etc/X11/default-display-manager to “/usr/sbin/lxdm”, lxdm (LXDE) started to work at boot time showing login screen as expected.

 

Script to install NVIDIA drivers on Linux

Saturday, July 16th, 2011

If you ever struggled with the installation of the NVIDIA drivers on Linux (or Debian using this) then you should definitely check this out!

Really interesting, simple and useful script to install proper NVIDIA drivers on your Linux box.

http://smxi.org/docs/sgfxi-manual.htm

Simply run:

cd /usr/local/bin && wget -Nc smxi.org/sgfxi && chmod +x sgfxi && sgfxi

as root user (or with sudo) and the script will automatically decide which version to install and will set up the xorg.conf file for you. It also works with other graphics cards manufacturers.

java.io.FileNotFoundException: /usr/lib/libnss3.so error on Debian Wheezy

Saturday, July 16th, 2011

 


Edit:
this should have been fixed by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634058

 

 

I came across this error the other day running a java application on Debian Wheezy:

java.security.ProviderException: Could not initialize NSS
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:201)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:103)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at sun.security.jca.ProviderConfig$3.run(ProviderConfig.java:262)
at sun.security.jca.ProviderConfig$3.run(ProviderConfig.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:244)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:224)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:232)
at sun.security.jca.ProviderList.getIndex(ProviderList.java:262)
at sun.security.jca.ProviderList.getProviderConfig(ProviderList.java:246)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:252)
at java.security.Security.getProvider(Security.java:473)
at jd.http.XTrustProvider.install(XTrustProvider.java:70)
at jd.http.Browser.init(Browser.java:1317)
at jd.update.Main.main(Main.java:119)
Caused by: java.io.FileNotFoundException: /usr/lib/libnss3.so
at sun.security.pkcs11.Secmod.initialize(Secmod.java:186)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:197)
… 18 more
ERROR Could not initialize NSS

Apparently an update broke the configuration of the OpenJDK installation. So to fix it I had to manually edit the file /etc/java-6-openjdk/security/nss.cfg:

name = NSS
#nssLibraryDirectory = /usr/lib
nssLibraryDirectory = /usr/lib/i386-linux-gnu
nssDbMode = noDb
attributes = compatibility

Commenting out the highlighted orange line and adding the highlighted green line. The reason of it is that OpenJDK has split this configuration according to the box architecture (see https://bugs.launchpad.net/ubuntu/+source/nss/+bug/778726). However on my box it failed updating the reference to the new location of the libnss3.so file (I am on Debian Wheezy which is not stable yet so I guess something went wrong).

Spreading LXDE

Saturday, April 30th, 2011

The “Lightweight X11 Desktop Environment” is an extremely fast-performing and energy-saving desktop environment. (…) LXDE uses less CPU and less RAM than other environments. It is especially designed for cloud computers with low hardware specifications, such as, netbooks, mobile devices (e.g. MIDs) or older computers. LXDE can be installed with many Linux distributions including Ubuntu, Debian and Fedora. It is the standard for Knoppix and lubuntu. LXDE also runs with OpenSolaris and BSD. (…)The source code of LXDE is licensed partly under the terms of the the General Public License and partly under the LGPL.

 

I have it installed in an old Pentium 4 with 1.5GB of RAM and it works smoothly and flawlessly. If you need a lightweight desktop environment or want to try something different or you are simply tired of KDE an Gnome, well LXDE is a great alternative.

 

Check it out at: http://www.lxde.org

Linux: high CPU usage while playing music

Thursday, April 21st, 2011

If you have high CPU usage while playing music (or using the sound card) this could be related to the sample rates of the sound card and your current alsa/pcm/dmix configuration. Probably your card is set to 48kHz and the music file is at 44.1kHz (or vice-versa) and this is making the CPU to re-sample from one to another unnecessarily therefore the high CPU usage.

I was able to solve this by setting my ~/.asoundrc config file to:

pcm.!default {
    type plug
    slave.pcm {
        type dmix
	ipc_key 1024
	slave {
		pcm "hw:0,0"
		rate 44100
	}
    }
}

This caused my CPU usage to drop from ~30-40% to 2-4%.

.

.

Source: http://blog.sarine.nl/2008/12/21/dmix-the-pain-or-mpd-high-cpu-usage/

xfburn: CD/DVD burner for Linux

Wednesday, April 20th, 2011

xfburn is a great front-end tool for writing CD/DVD. Simple and very useful.

Check it out at http://www.xfce.org/projects/xfburn

Restore deleted folder in SVN after commit

Saturday, January 29th, 2011

If you delete a remote folder in SVN accidentally it gets tricky to restore it back. This can happen by commiting an unwanted deletion. So, basically, what you have to do is:

  • Create a working copy of the deleted folder’s parent. You can use -N parameter that indicates “No checkout”. This will prevent from actually downloading any code. Run:

svn co -N SVN_PARENT_URL .

  • Get a copy of the deleted folder from the revision before the deletion. Run:

svn copy SVN_PARENT_URL/DELETED_FOLDER_NAME@REV DELETED_FOLDER_NAME

  • Commit to HEAD. This will actually commit a new revision with the contents of the revision before the deletion. Therefore restoring the “original” folder. Run:

svn commit -m “Restoring” DELETED_FOLDER_NAME


Source: http://www.freshblurbs.com/svn-restore-deleted-folder-revision

.

Squirrel SQL: Universal SQL Client

Saturday, November 13th, 2010

Squirrel SQL (http://www.squirrelsql.org/) is an open-source software developed with Java to manage databases. This means:

  • you can control as many DBs as JDBC drivers exists out there (MySQL, Oracle, Postgresql, etc, etc.)
  • you can run it in Linux, MacOS, Windows, etc, etc.
  • it’s free.

Check complete features and screenshots here.

Spreading Firefox

Thursday, November 4th, 2010

Spread Firefox Affiliate Button

Applause for Blender: Sintel Open Movie

Saturday, October 2nd, 2010

Another fantastic production of the Blender Foundation. Sintel Open Movie is a newly premiered film developed with Blender 3D and other open-source tools.

Discover & enjoy it now: http://www.sintel.org/

YoFrankie!, another good initiative for linux gaming.

Tuesday, July 20th, 2010

YoFrankie! is a game developed and funded by The Blender Foundation (and the community) in other to enhance Blender’s gaming capabilities; and design and implement new features. As a result of the development of this game, all the features developed within the project are now available in new versions of Blender, the 3D software.

It is very interesting the history behind the Blender project. I recommend you check it out. It is one (of many) success cases in Open Source development.

World Of Goo: an excellent game available for Linux

Friday, May 28th, 2010

World of Goo is an addictive, state-of-the-art, smooth and pleasant to the eye game. Plus, it is available for Linux natively!!! Plus it is only U$D20.-

Check it out here:

http://2dboy.com/games.php

I hope companies start believing there is a “Linux game market” out there waiting and wanting games to run natively.

How to remove .svn directories recursively

Saturday, April 10th, 2010

Just type this in your console:

rm -rf `find . -type d -name .svn`


Mic not working with C-Media soundcard and Ubuntu Karmic 9.10

Thursday, February 4th, 2010

The problem was that this on-board sound card is surround and, when in surround mode, the mic mini-plug input becomes Center /LFE output.

I fixed it this way:

1) Open “alsamixer”
2) Go to “Mic-In Mode” bar
3) Check that in “Item” (top-left corner), it reads “Mic-In Mode [Mic-In]”
4) If not (probably “Mic-In Mode [Center/LFE Output]“) hit up/down arrow keys until “Mic-In Mode [Mic-In]” is selected.
5) Check that mic is not muted. Go to “Mic” bar and check that it is not muted “Mic [Off]“. If it is, hit M key, you’ll get “Mic” only.

That should be it.

Bubble Translate: An excellent extension for Google Chrome

Thursday, December 10th, 2009

This extension provides of a really simple an elegant way of translating web pages to your language. It uses translate.google.com services to translate, and the way it does it is simply excellent!. Just keep Ctrl key pressed while selecting the text you want to translate and it will display the translation in a bubble in-line.

Also it provides a menu to select the translation of the entire web-page or to open a form (like the one in translate.google.com) for real-time translation.

Highly reccomendable.

You can found the extension here: https://chrome.google.com/extensions/detail/jlhlebbhengjlhmcjebbkambaekglhkf

And Google Chrome, here: http://www.google.com/chrome/

Installing ImageMagick from source in Ubuntu

Monday, December 7th, 2009
Start by removing any old versions previously installed via apt-get:
sudo apt-get remove imagemagick

Then update apt-get and install some supporting packages:

sudo apt-get update
sudo apt-get install libperl-dev gcc libjpeg62-dev libbz2-dev libtiff4-dev libwmf-dev libz-dev
libpng12-dev libx11-dev libxt-dev libxext-dev libxml2-dev libfreetype6-dev liblcms1-dev
libexif-dev perl libjasper-dev libltdl3-dev graphviz gs-gpl pkg-config

Use wget to grab the source from ImageMagick.org.

Once the source is downloaded, uncompress it:

cdtar xvfz ImageMagick.tar.gz

Now configure and make:

cd ImageMagick-6.5.0-0
./configure
sudo make
sudo make install

To avoid an error such as:

convert: error while loading shared libraries: libMagickCore.so.2: cannot open shared object file: No such file or directory

Add the following line to ~/.bashrc:

export LD_LIBRARY_PATH=/usr/local/lib
sudo ldconfig

You can confirm the install and available formats with:

identify -list format

Source: http://www.digitalsanctum.com/2009/03/18/installing-imagemagick-from-source-on-ubuntu-804/

Listening to Last.fm from Ubuntu

Wednesday, November 18th, 2009

A friend reccommended me Last.fm player for Ubuntu.

Simply run:

sudo apt-get install lastfm

That’s it, it works flawlessly and it consumes about 10-12KiB/s of your bandwitdh. Pretty cool, right? Now configure it with your last.fm account details and enjoy Last.fm Radios on your Linux box.

Non Relational DB: The (near?) future of databases.

Saturday, July 25th, 2009

Neo4j:

“Neo4j is a graph database. It is an embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables. A graph (mathematical lingo for a network) is a flexible data structure that allows a more agile and rapid style of development.
[...]
Neo4j has been in commercial development for 8 years and in production for over 5 years. It is a mature and robust graph database[...]
In addition, Neo4j includes the usual database features: ACID transactions, durable persistence, concurrency control, transaction recovery, and everything else you’d expect from an enterprise-strength database.[...]“

http://neo4j.org/

http://giladmanor.blogspot.com/2009/07/down-rabbits-hole-with-neo4j-part-1.html

mongoDB:

“MongoDB is a high-performance, open source, schema-free document-oriented database.[...]
When we describe MongoDB as “document oriented”, we mean it’s in the class of databases for which the primary storage unit is a collection – possibly structured – of data, most likely as key/value pairs.”

http://www.mongodb.org

Hypertable:

“Hypertable is an open source project based on published best practices and our own experience in solving large-scale data-intensive tasks. Our goal is to bring the benefits of new levels of both performance and scale to many data-driven businesses who are currently limited by previous-generation platforms.”

http://www.hypertable.org/

Dynamo:

“Unlike a relational database, Dynamo is a distributed storage system. Like a relational database it is stores information to be retrieved, but it does not break the data into tables. Instead all objects are stored and looked up via a key.”

http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
http://www.readwriteweb.com/archives/amazon_dynamo.php

Extra info:

http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_?taxonomyId=173&pageNumber=1&taxonomyName=Databases

Enable "public_html" for users in Ubuntu for Apache2

Tuesday, July 14th, 2009

To enable the “public_html” folder for users in Ubuntu using Apache2, you only have to follow 3 steps. These are:

  1. Add the Apache2 userdir module: In Ubuntu, this functionality comes as a default module for Apache2. If you don’t have it enabled, just enter sudo a2enmod userdir in a console. This command will add and/or enable the module.
  2. Create the public_html directory: Create the public_html directory in the users home Enter mkdir /home/a_user/public_html in a console.
  3. Restart Apache2: restart Apache2 so that the changes take effect. Enter sudo /etc/init.d/apache2 force-reload in a console.

After Apache2 finishes restarting, you will be able to access the user’s public_html directory entering the address as follows in a web browser (I.E. Firefox :D) http://localhost/~a_user

Cheers

Subversion (SVN) with WebSVN, DAV and Apache2 under Ubuntu

Saturday, July 4th, 2009

Install Subversion:

Use the following command to install Subversion and the Apache2 module:

sudo apt-get install subversion libapache2-svn

Create a repository:

Use the following command to create a repository:

sudo svnadmin create /var/svn/new-project/

Add permission to the directory for the Apache user only:

chmod -R 775 /var/svn/new-project

chown -R www-data:www-data /var/svn/new-project

Configure Apache

Open /etc/apache2/mods-available/dav_svn.conf and add a new “virtual directory”:

<location /svn>
DAV svn

SVNParentPath /var/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

Require valid-user

</location>

Create the users password file. Use the following command the first time only, the -c parameter will create AND override the file if it exists:

htpasswd2 -c /etc/apache2/dav_svn.passwd username

To add other users or change password use:

htpasswd2 -m /etc/apache2/dav_svn.passwd username

In /etc/apache2/dav_svn.authz, add the users permissions

[/]
me=rw

[new-project:/]
other.user=rw

Finally, restart Apache so that the changes take effect:

apache2ctl restart