The bashrc bash configuration files
The default shell in most Linux distributions is the bash shell. Contrary to all the usability work that has been done to the GUI, the shell is most neglected area.

Depicting a shell is not an easy task; in the screenshot above we only show the default prompt. It has the following disadvantages,
- It does not differentiate visually between the username and hostname.
- It shows the relative path only, making it difficult to realize quickly the full path for the current working directory.
- Cannot copy the path using the mouse by double-clicking on it. The ~ is not included in the highlighted text, that one needs to paste and add the remaining part of the path (such as /home/user/)
- The point of input changes position on the command line, depending on the size of the path. As you cd into directories, the point of input moves further to the right.

This is the prompt with the bashrc project configuration files. It solves the problems described with the default configuration files found in Linux distributions.
Obviously, there are more to the shell's configuration files than a usable prompt. For example,
- the ability to show the partial matches when you press Tab for the first time
- enabling the shopt options to reasonable values
- have reasonable aliases for . .. ... / -
- adding --verbose, --interactive to basic utilities such as cp, mv, rm
- show the exit value of an application if it is other than 0 ($?)
There is a EnhancedBash project for the Ubuntu Linux distribution which might be able to break apart and provide better default configuration files.
If you want to help and add more to the proposed configuration, visit http://github.com/simos/bashrc/
To use the bashrc shell, you need to
- Download the latest package from http://github.com/simos/bashrc/ (note the Download button).
- Extract the package, open a terminal window and enter the newly created directory.
- Run make install
- Open a new shell window. The new settings should be activated.
How to type Greek, Greek Polytonic in Linux
Update 2010: Please see the docs.google.com edition of the guide as it has the latest material. See link below.
There is a new guide on how to write Greek and Greek Polytonic in Linux, and in particular using the latest versions of Linux distributions.
https://docs.google.com/View?docID=dccdrjqk_4cqjn9zcj (LATEST VERSION)
The guide shows in detail how to add the Greek keyboard layout to your Linux desktop, and how to write Greek, Greek Polytonic and other Ancient Greek characters.
The guide is also available in both ODT and PDF format. (both files are somewhat obsolete. use google docs URL from above instead)
For a Greek version of the guide, please see http://docs.google.com/Doc?id=dccdrjqk_3gx3bq5f9 (does not update as often as the English version)
We attach the HTML version of the guide in this post. The docs.google.com version is the latest, please read that instead.
http://docs.google.com/Doc?id=dccdrjqk_4cqjn9zcj
Ενημερωμένος οδηγός γραφής ελληνικών (και πολυτονικό)
Ενημέρωσα τον οδηγό για το γράψιμο ελληνικών (και πολυτονικό) και είναι διαθέσιμος από τη σελίδα
http://docs.google.com/Doc?id=dccdrjqk_3gx3bq5f9
Είναι διαθέσιμος ο οδηγός για γράψιμο ελληνικών (και πολυτονικού) σε μορφή PDF.
Είναι διαθέσιμος ο οδηγός για γράψιμο ελληνικών (και πολυτονικού) σε μορφή ODT.
Ο οδηγός περιγράφει τη δυνατότητα γραφής μονοτονικού, πολυτονικού και αρχαίων ελληνικών χαρακτήρων. Ο οδηγός αυτός διορθώνει μια σειρά από αβλεψίες στις οδηγίες.
Ο οδηγός ισχύει για τις διανομές Fedora 11 (ή νεώτερες), Ubuntu Linux 9.04 (ή νεώτερες) και άλλες διανομές που θα βγουν την Άνοιξη του 2009. Για προηγούμενες διανομές, δείτε τις οδηγίες (και τον αντίστοιχο παλαιότερο οδηγό) από το παρόν ιστολόγιο για το πως μπορείτε να προσθέσετε την νέα ελληνική διάταξη πληκτρολογίου.
Κάθε σχόλιο για βελτίωση του οδηγού είναι ευπρόσδεκτο.
10 Μαΐου: Το φόρουμ Ubuntu-GR έχει ΓΕΝΕΘΛΙΑ (1 χρόνος)!
10 Μαΐου: Το φόρουμ Ubuntu-GR έχει ΓΕΝΕΘΛΙΑ (1 χρόνος)!
Δείτε την παρουσίαση του φόρουμ του Ubuntu-gr που έκανε ο goofy στο συνέδριο FOSSCOMM που έγινε στη Λάρισα.
Δείτε την ανακοίνωση γενεθλίων στο www.ubuntu-gr.org.
Μερικά στατιστικά στοιχεία κατά τη συμπλήρωση του ενός χρόνου λειτουργίας του φόρουμ,
- τα περισσότερα από 2700 μέλη και τους πιθανότατα χιλιάδες επισκέπτες
- τις περισσότερες από 45.000 δημοσιεύσεις σε σχεδόν 4.500 συζητήσεις (θέματα / νήματα)
- τους περισσότερους από 150 Οδηγούς (How to - Tutorials)
- τα περισσότερα από 37.000 hits στο 3ο τεύχος του περιοδικού μας Ubuntistas (εξαιρουμένων λεκτικών Google, bot, κλπ)
- την έντονη δραστηριότητα-συμμετοχή σε δικτυακό τόπο Ubuntu-GR / λίστα συνδρομητών / Κανάλι IRC #ubuntu-gr στο δίκτυο FreeNode.
Γραφτείτε στο φόρουμ ubuntu-gr και μάθετε περισσότερα για το ελεύθερο λογισμικό στην ελληνική γλώσσα!
Workaround for bad fonts in Google Earth 5 (Linux)
Update Jan 2010: The following may not work anymore. Use with caution. See relevant discussions at http://forum.ubuntu-gr.org/viewtopic.php?f=5&t=15607 and especially http://kigka.blogspot.com/2010/11/google-6.html
Older post follows:
So you just installed Google Earth 5 and you can't figure out what's wrong with the fonts? If your language does not use the Latin script, you cannot see any text?
Here is the workaround. The basic info comes from this google earth forum post and the reply that suggests to mess with the QT libraries.
Google Earth 5 is based on the Qt library, and Google is using their own copies of the Qt libraries. This means that the customisation (including fonts) that you do with qtconfig-qt4 does not affect Google Earth. Here we use Ubuntu 8.10, and we simply installed the Qt libraries in order to use some Qt programs. You probably do not have qtconfig-qt4 installed, so you need to get it.
So, by following the advice in the post above and replacing key Qt libraries from Google Earth with the ones provided by our distro, solves (read: workaround) the problem. Here comes the science:
If you have a 32-bit version of Ubuntu,
cd /opt/google-earth/ sudo mv libQtCore.so.4 libQtCore.so.4.bak sudo mv libQtGui.so.4 libQtGui.so.4.bak sudo mv libQtNetwork.so.4 libQtNetwork.so.4.bak sudo mv libQtWebKit.so.4 libQtWebKit.so.4.bak sudo ln -s /usr/lib/libQtCore.so.4.4.3 libQtCore.so.4 sudo ln -s /usr/lib/libQtGui.so.4.4.3 libQtGui.so.4 sudo ln -s /usr/lib/libQtNetwork.so.4.4.3 libQtNetwork.so.4 sudo ln -s /usr/lib/libQtWebKit.so.4.4.3 libQtWebKit.so.4
If you have the 64-bit version of Ubuntu, try
cd /opt/google-earth/
sudo getlibs googleearth-bin
sudo mv libQtCore.so.4 libQtCore.so.4.bak
sudo mv libQtGui.so.4 libQtGui.so.4.bak
sudo mv libQtNetwork.so.4 libQtNetwork.so.4.bak
sudo mv libQtWebKit.so.4 libQtWebKit.so.4.bak
sudo ln -s /usr/lib32/libQtCore.so.4.4.3 libQtCore.so.4
sudo ln -s /usr/lib32/libQtGui.so.4.4.3 libQtGui.so.4
sudo ln -s /usr/lib32/libQtNetwork.so.4.4.3 libQtNetwork.so.4
sudo ln -s /usr/lib32/libQtWebKit.so.4.4.3 libQtWebKit.so.4
Requires to have getlibs installed, and when prompted, install the 32-bit versions of the packages as instructed.
Now, with qtconfig-qt you can configure the font settings.
Help make «DocBook XML to PDF» work for Greek
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<article lang="en">
<section><title>Title</title>
<para>ëãáâṩẫëĝéõōåőȩçą</para>
<para>ЁЂыњѨѬѺѸѶѦщЖЊЌЍШЩзф</para>
<para>ᾶᾳὰέᾁᾂδϕϟϸϡϸϸαϷϕϲδϕϛ€ϕ©ϖϐͻ©ϖϐ</para>
</section>
</article>
This is an issue that I would appreciate if someone could help in solving.
The above document (mytestfile.xml) is a DocBook XML document with text in many scripts (latin, cyrillic and greek). Normally it was difficult to convert to PDF, until recently.
Now, one can run
dblatex --backend=xetex --verbose mytestfile.xml
(requires to install the dblatex package and any dependencies) and it creates mytestfile.pdf. If you have a fresh installation of Ubuntu 8.10 and you go through the process of installing these packages, please make a list of them, to use as advice for new users.
Since we use XeTeX as a backend, we can work with Unicode text directly, which is the proper thing to do. Above you can see that all characters are shown (except a few obscure ones that are not found in DejaVu Sans and are shown as boxes). You can see Latin (+Extended), Cyrillic (+Extended), Greek (+Extended) in the same document.
The issue arises when we change the lang modifier in the document above, from en to el. Here you see Τιτλε, which in fact is Title but with the characters replaced with their Greek equivalent. This is a sign for non-Unicode, 8-bit encoding conversion issue. In addition, some of the rest of the characters are shown, and apparently a strange conversion took place.
What we need to do is figure out is how to fix xetex when 'lang=el'. There is some work to get Greek XeTeX support upstream, and there are instructions on how to add local Greek XeTeX support in your distribution.
What we need is instructions on how to fix the Greek XeTeX support in Ubuntu 8.10, and test that dblatex can generate documents correctly when lang=el.
For your testing, here are the files mytestfile-en.pdf, mytestfile-el.pdf, mytestfile-en.xml, mytestfile-el.xml.
Rendering bug in Firefox, threat level: annoyance
There is this rendering bug in Firefox that currently can be classified as an annoyance.
It was discovered during a discussion at the Ubuntu-GR mailing list and reported in June 2008, and at that time it would cause Firefox to crash. Therefore, it was deemed as a security issue, and the bug report was not made public. Just recently, the issue was revisited, current versions of Firefox do not crash, and the security tag was removed. It is quite possible that there is some existing report on the issue, and not being classified as a security bug, it will be easier sort out. Thus, have a look at bug report #441307.
The source of the rendering bug is the HTML code
<HR WIDTH=143165425 ALIGN=RIGHT>
So, you send an HTML e-mail and you add the above code. The code says to show a Horizontal line, with some huge width (here, you simply put 143165425).
Some versions of Firefox respond differently to this rendering bug, which probably relates to a different set of linked libraries. For example, the Firefox 3 found in Ubuntu Linux 8.10 is able to show the e-mail in GMail just fine (though it messes up with other pages). The above screenshots are by Minefield 3.1b2pre (64-bit). The Windows version of Firefox is also affected.
To try out yourself, create a file /tmp/mypoc.html with contents
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="#ffffff">
<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=2 BGCOLOR="#e0e0e0">
<TR>
<TD>
<HR WIDTH=143165425 ALIGN=RIGHT>
</TD>
</TR>
</TABLE>
This is a test.
<HR WIDTH=143165425 ALIGN=RIGHT>
Some more text.
</BODY>
</HTML>
Load it up in Firefox. Click to Select All, then Copy. You can then paste in your mailer, when you compose as HTML (for example, with Thunderbird).
Just to reiterate, this issue is currently at level annoyance, unless someone manages to produce an HTML file that can crash Firefox. If you manage to do so, please file a bug report at http://bugzilla.mozilla.org/ and specify the security settting so that the bug gets high priority.
How to install the 64-bit Adobe Flash Player 10 for Linux in Ubuntu Linux?
Update 2 May 2010: There is a repository for Flash 64bit at https://launchpad.net/~sevenmachines/+archive/flash Though I have not tried this, I suggest to give it a try. I tried this and it works like a charm. Uninstall flashplugin-nonfree, add the new PPA repository with sudo add-apt-repository ppa:sevenmachines/flash and then install flashplugin64-installer.
Update 10 Nov 2010: The package name changed to 'flashplugin64-installer'. It was to be called -nonfree. The commands below have been updated. You can simply copy and paste. The latest Flash 64-bit for Linux is 10.2 d1161. See Tools→Addons→Plugins to verify the version.
Here are the commands
sudo apt-get remove flashplugin-nonfree flashplugin-installer
sudo add-apt-repository ppa:sevenmachines/flash
sudo apt-get update
sudo apt-get install flashplugin64-installer
Original post: So you just read the announcement from Adobe for the alpha version of the 64-bit Flash Player 10 for Linux and you want to install in Ubuntu Linux?
Here is how to do it.
- First, we understand that the flashplugin-nonfree package that is currently available to those with 64-bit Ubuntu Linux, installs the 32-bit version of Flash and uses the nspluginwrapper tool to make it work.
- After some time, I expect that the flashplugin-nonfree will stop using nspluginwrapper and will simply install Adobe Flash Player 10 (64-bit) for Linux. So you need to have a look in your package manager and the package description in case flashplugin-nonfree has already been updated. If flashplugin-nonfree has been updated, stop reading now.
- Close Mozilla Firefox.
- Uninstall the flashplugin-nonfree package using your package manager, or simply running sudo apt-get remove flashplugin-nonfree
- Download the alpha version of the 64-bit Adobe Flash Player 10 for Linux and extract the file from the archive. You will get a libflashplayer.so file, which is about 10MB is size.
- If you want all users in your system to have this alpha version of Adobe Flash Player 10 for Linux, copy the libflashplayer.so file to /usr/lib/mozilla/plugins/. The command is sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
- If you want just the current user to try out the Flash player, copy the libflashplayer.so file to /home/yourUSERNAME/.mozilla/plugins/. The command is cp libflashplayer.so ~/.mozilla/plugins/
- Check that in ~/.mozilla/plugins/ there is no dormant file with the name npwrapper.libflashplayer.so. A common issue with people who migrate their profiles is to perform a simply copy of the profile. The effect of this is sometimes there is an actual file called npwrapper.libflashplayer.so instead of a symbolic link. The result is that these people would end up using some old buggy version of nspluginwrapper which might be the cause of Firefox crashes! When you backup, use cp -a, so symbolic links remain symbolic links.
- You can now start Mozilla Firefox. Visit about:plugins and verify that the version of Flash is something like Shockwave Flash 10.0 d20. Make sure there is no remnant of any other previous Flash player.
- If you want to return back to the 32-bit Flash Player with emulation, remove the file we just added and install again the flashplugin-nonfree package.
The instructions for other distributions should be fairly similar.
Updated to Ubuntu 8.10
I just updated my system to Ubuntu 8.10. Since I had a separate partition for /home, I opted to actually reinstall while retaining the files in /home. The rest of the post is a laundry list of tips.
I could not find a blank CD or CDRW, so I opted to write the installation 8.10 ISO to a USB stick, then rebooted with the USB stick and finally installed. It was really fast and and convenient.
All hardware was properly detected (sound card: snd-hda-intel, wifi: iwl3945, bluetooth, intel graphics card). Regarding the sound card, some kind soul probably submitted the PCI ID and model information to the ALSA project, so there is no need anymore to specify manually.
I upgraded the stock OpenOffice.org 2.4.1 to OpenOffice.org 3.0. There are many ways to do it, however the easiest is to simply add the software source
deb http://ppa.launchpad.net/openoffice-pkgs/ubuntu intrepid main
and let the system update itself automatically. For more on this, see the instructions at softpedia.
OpenOffice.org does not support OpenType fonts yet. I had the impression that OpenOffice.org 3.0 could see OpenType fonts but had trouble printing or exporting to PDF. My test showed that OOo 3.0 could not see OpenType fonts such as the ttf-gfs-* fonts, even when trying to force loading with spadmin. OpenType support is scheduled for the next version of OpenOffice.org. For now, we can use the wide range of TTF fonts.
I installed VirtualBox by adding the repository details described at the VirtualBox Linux Download webpage. Then, I tried to search with Add/Remove or Synaptic, however I could not find the virtuabox package. Only the virtualbox-ose packages were visible. It appears there is some sort of bug in the package description. If you open Synaptic, then click on the Origin (Προέλευση) filter which shows packages per repository. Select the virtualbox repository and you can eventually see virtualbox-2.0. Pretty weird.
For Evolution Mail, previously one would package the files manually and then restore them. This was error-prone because the account information are saved in gconf, the passwords in ~/.gnome2_private, etc. The proper solution is to remember to perform a backup before installing a new version of Ubuntu. In Ubuntu 8.04 and Evolution (from GNOME 2.22) there is an option to backup your settings, which includes mails and all. You finally restore in your new system; when the new Evolution starts for the first time, you are asked whether you want to restore a previous backup.
Firefox would freeze momentarily for some strange reason. I run from the command line and I noticed that some pages that had references to Flash material would freeze Firefox while trying to locate the Flash plugin. This was solved be installing flashplugin-nonfree.
I installed the updated Greek layout, so I can now type ϡϠϸϕϟαϛϚϖϐʹ͵ϻϺ«»ᾶᾅἒᾥ in the same layout.
Update #1: Ubuntu 8.10 works better with a dual head configuration. In System/Preferences/Screen resolution, you can activate the second display. The utility realises that the (currently) hard-coded maximum virtual display is not big enough to accomodate both monitors, and it asks you to edit automatically the xorg configuration file in order to add the setting for you. After a logout and re-login sequences, dual head works. Sadly for my graphics card, this means that there is no 3D support in this mode. With Intel 965GM, if the virtual screen does not fit in 2048x2048, then you no can haz 3D. Actually, if I align the displays vertically, they do fit and I would be able to get 3D.
Update #2: Time to put the system temperature sensors (CPU, hard disk). For the backend, we install the lm-sensors and hddtemp packages. With lm-sensors, we need to run sudo sensors-detect so that the appropriate settings can be detected. If you have a recent Intel CPU, this will probably find that you need to add the coretemp kernel module to /etc/modules, then reboot to activate it. For the hard disk temperature, simply install hddtemp and choose yes when prompted to add the hddtemp service. For the front-end, install the sensors-applet applet. You need to logout and login again so that this applet, called Hardware Sensors Monitor, appears in the applets list. Once you add, click to enable all available sensors in the preferences.
Using Anjuta in Ubuntu 8.04 to develop a GNOME C++ application (gtkmm)
You can install Anjuta 2.4.1 from the Synaptic package manager. You also need to install a few development packages. I do not know if there is a nice meta-package such as build-essential (used to install compilers et al), so I'll just ask you to install the packages by hand. A more elegant way would be very much appreciated to see in the comments.
$ sudo apt-get install build-essential libgtkmm-2.4-dev autogen automake libtool intltool libglademm-2.4-dev
That is the order of installation when you go trial by error inside Anjuta to compile a project. Each package draws in several other packages. Also, if you have the Ubuntu 8.04 DVD in your drive, most of these packages will be installed in a jiffy. We have the Greek localisation enabled, so bear with us. Thanks to Giannis Katsampiris for completing the recent update of the Anjuta 2.4 localisation.

Once Anjuta is installed, you are presented with the Anjuta main window.
We then click on File/New/Project (Αρχείο/Νέο/1. Έργο),
We click on Forward here.
There are many many project types. We wade through and we pick to use C++ and GTKMM (C++ bindings for GTK+). We could pick any other variation; GTKMM was a request from the Ubuntu-gr mailing list.
We then fill in some contact details.
There is an option to specify at this stage external packages. We opt not to specify them now.
Once you click Apply (Εφαρμογή) - the button with the green tick, Anjuta will create an initial dummy package (actually a hello world application), and will run automatically the equivalent of ./configure for you.
Now, this is the final screen, when you start working. Here you would click on Κατασκευή/Κατασκευή έργου (Build/Build Project), so that the project gets compiled.
Then, you would click on Κατασκευή/Εκτέλεση προγράμματος... (Build/Run program...) to run the program!
Here is shows that we have located the source file (main.cc), and we see main().
It takes about 3 second to compile a program with g++ (at least on my system). Therefore, the dead time between (a) Let's compile it and (b) Oh, I am running my program!, is under 5 seconds, which is good.
How to easily modify a program in Ubuntu (updated)?
Some time ago we talked about how to modify easily a program in Ubuntu. We gave as an example the modification of gucharmap; we got the deb source package, made the change, compiled, created new .deb files and installed them.
We go the same (well, similar) route here, by modifying the gtk+ library (!!!). The purpose of the modification is to allow us to type, by default, all sort of interesting Unicode characters, including ⓣⓗⓘⓢ , ᾅᾷ, ṩ, and many more.
The result of this exercise is to create replacement .deb packages for the gtk+ library that we are going to install in place of the system libraries. Because these new libraries will not be original Ubuntu packages, the update manager will be pestering us to rollback to the official gtk+ packages. This is actually good in case you want to switch back; you will have the enhanced functionality for as long as you postpone that update.
There is a chance we might screw up our system, so please make backups, or have a few drinks first and come back. I take no responsibility if something bad happens on your system. If you are having any second thoughts, do not follow the next steps; use the safer alternative procedure. You may try however this guide just for the kicks; up to the dpkg command below, no changes are being made to your system.
We use Ubuntu 7.10 here. This should work in other versions, though your mileage may vary.
The compilation procedure takes time (about 30 minutes) and space. Make sure you use a partition with >2GB of free space. We are not going to use up 2GB (a bit less than 1GB), but it's nice not to fill up partitions.
We are going to use the generic instructions on how to recompile a debian package by ducea.
First of all, install the development packages,
sudo apt-get install devscripts build-essential
Next, we use the apt-get source command to get the source code of the GTK+ 2 library,
cd /home/ubuntu/bigpartition_over2GB/apt-get source libgtk2.0-0
We then pull in any dependencies that GTK+ may require. They are normally about a dozen packages, but we do not have to worry for the details.
apt-get build-deplibgtk2.0-0
At this stage we need to touch up the source code of GTK+ before we go into the compilation phase. Visit the bug report #321896 – Synch gdkkeysyms.h/gtkimcontextsimple.c with X.org 6.9/7.0 and download the patch (look under the Attachment section). You should get a file named gtk-compose-update.patch. If you have a look at the patch, you will notice that it expects to find the source of gtk+ in a directory called gtk+. Making a link solves the problem,
ln -s libgtk2.0-0 gtk+
We then attempt to apply the patch (perform a dry run), just in case.
patch -p0 --dry-run < /tmp/gtk-compose-update.patch
If this does not show an error message, you can the command again without the --dry-run.
patch -p0 < /tmp/gtk-compose-update.patch
Finally, we are ready to build our fresh GTK+ library.
cd libgtk2.0-0debuild -us -uc
This will take time to complete, so go and do some healthy cooking.
At the end of the compilation, if all went OK, you should have about a dozen .deb files created. These are one directory higher (do a "cd .."). To install, use dpkg,
dpkg -i *.deb
If you have any other deb files in this directory, it's good to move them away before running the command. If all went ok, the .deb files should install without a hitch.
The final step is to restart your system. To test the new support, see the last section at this post. Use Firefox and OpenOffice.org to type those Unicode characters.
If you managed to wade through all these steps, I would appreciate it if you could post a comment.
Good luck!










