Tag : mini

Laptop without Windows, an update for Dell, Asus, Acer, Compaq

It is very difficult to buy a computer without Windows (that is, to buy it with either Linux, FreeDOS or no OS) in the European market.

Why would you want to buy a laptop without pre-installed Windows?

  1. Because you are simply not going to use Windows (for example, you plan to use a Linux distribution)
  2. Because your school has an Developer Academic Alliance (formerly MSDN AA) with Microsoft and they provide the Windows software for you
  3. Because your organisation has a company-wide agreement for Microsoft software, and you do not wish to pay twice for Windows.
  4. Because you somehow have a Windows license or Windows package installation box already.

Sadly, when talking to the sales personnel of a manufacturer, it might look an easier strategy to just mention points 2 or 3. There is already some prior knowledge with the sales personnel that large organisations do not need the pre-installed Windows software.

Dell used to sell the N Series laptops with Ubuntu Linux, however they do not sell them anymore, at least in Europe. I contacted a Dell customer care manager on this issue and I was told that N Series laptops are available when you call Dell Sales by phone. I did just that, however the telephone salesperson explained that they do not have N Series laptops anymore. He verified with his own manager.

Dell does sell netbooks with Ubuntu Linux in Europe. For example, the Dell Mini or the Dell Latitude 2100. The situation with the netbooks is almost perfect, but…

Dell UK Latitude 2100, Choose early between XP or Ubuntu

What would be desirable is to provide the option, when you customize the Latitude 2100, to be able to select the operating system under the Operating System options. In this way, the customer is in a position to make a better decision between the differences of the two options.

Dell Greece, select the operating system while customizing the computer

In a regional Dell website, it is possible to select the operating system while you are customizing the computer. In this case, when you select Ubuntu Linux, you can easily see that you are saving €30 compared to the initial price.

It is not clear why Dell UK and Dell Germany do not provide the facility that we see with Dell Greece. Normally the localised editions of a website take any changes later than the main languages (English, German).

Updated (soon after posted): It is possible to get the Dell UK page for the Latitude 2100 so that both pre-installed Windows and Ubuntu appear in the same section. It might be an update that has been rolled out just recently. When you visit the Customise page,  you can now see that by selecting pre-installed Ubuntu Linux, you save £24 compared to pre-installed XP.

What would be ideal is for the consumer to have the option to avoid the pre-installed Windows, in a way shown above at the Dell Greece website for the Latitude 2100. Having options for Ubuntu Linux or FreeDOS (for those who already have a Windows license) would be the best value for the customers. This would make Dell the best company around.

So, what’s going on with the other laptop manufacturers?

Acer, Asus, Compaq and HP do not appear to sell computers without pre-installed Windows to the European market. I have not been able to locate retailers that would sell a laptop with FreeDOS, let alone a Linux distribution.

Is this the case with Acer, Asus, Compaq and HP in other markets?

Acer Laptop with FreeDOS (SE Asian market) Asus Laptop with FreeDOS (SE Asian market) Compaq Laptop with FreeDOS (SE Asian market)

This is an example of laptop models from the SE Asian market. The laptops come with FreeDOS and if you want pre-installed Windows, you pay extra (€53 or $74). The quoted price for the laptop is not subjected to local tax for the specific SE Asian country. Here is the price equivalent for each laptop,

Acer: €325 or $460

Asus: €525 or $745

Compaq: €365 or $515

Manufacturers such as Lenovo and Toshiba appear as black sheep to me, regarding the European market. Lenovo is supposed to sell laptops with SuSE Linux, however I could not find an example. Toshiba is completely out of the radar. They might not be a big laptop manufacturer.

What would be great for the European customer is to have the option to buy a product without pre-installed Windows. And this option of buying a computer without pre-installed Windows should be a visible and accessible option.

Create flash videos of your desktop with recordmydesktop

John Varouhakis is the author of recordmydesktop and gtk-recordmydesktop (front-end) which is a tool to help you record a session on your Linux desktop and save it to a Flash video (.flv).

To install, click on System/Administration/Synaptic Package Manager, and search for gtk-recordmydesktop. Install it. Then, the application is available from Applications/Sound&Video/gtkRecordMyDesktop.

Screenshot of gtk-recordmydesktop

Before you are ready to capture your Flash video, you need to select the video area. There are several ways to do this; the most common is to click on Select Window, then click on the Window you want to record. A common mistake is that people try to select the window from the preview above. If you do that, when you would have selected the recorder itself to make a video of, which is not really useful. You need to click on the real window in order to select it; then, in the desktop preview you can see the selected window. In the above case, I selected the OpenOffice Writer window.

Assuming that you do not need to do any further customisation, you can simple press Record to start recording. Generally, it is good to check the recording settings using the GNOME Sound recorder beforehand. While recording, you can notice a special icon on the top panel. This is gtk-recordmydesktop. Once you press it, recording stops and the program will do the post-processing of the recording. The resulting file goes into your home folder, and has the extension .ogv.

Some common pitfalls include

  • I did not manage to get audio recording to work well for my system; I had to disable libasound so that the audio recording would not skip. With ALSA, sound skips while with OSS emulation it does not. Weird. Does it work for you?
  •  The post-processing of the recording takes some time. If you have a long recording, it may take some time to show that it makes progress, so you might think it crashed. Have patience.

I had made one such recording, which can be found at the Greek OLPC mailing list. John told me that the audio part of the video was not loud enough, and one can use extra post-processing to make it sound better. For example, one could extract the audio stream of the video, remove the noise, beautify (how?) and then add back to the video.

It’s good to try out gtk-recordmydesktop, even for a small recording. Do you have some cool tips from your Linux desktop that you want to share? Record your desktop!

Vote NO with comments (on DIS 29500 / OOXML)

  • Vote “No, with comments,” which is the JTC1-prescribed way of indicating “conditional approval” (JTC1 Directives (DOC, pops), Section 9.8)
  • Recommend that OOXML be resubmitted as normal working item in JTC1/SC34:
    • Split into a multi part standard: WordProcessingML, SpreadsheetML, DrawingML, Office Open Math Markup, VML, etc.
    • Have each part progress independently, at its own speed, within normal ISO processing stages
    • Encourage participation from OASIS to identify opportunities for harmonization with existing ISO 26300 “ODF”
  • OOXML, as the default format in MS Office, is important. But as a standard it is full of inconsistencies, omissions, inaccuracies and errors. No standard is perfect, but OOXML, in its current state, does even not meet the minimum requirements.

source: Rob Weir‘s presentation slides, last slide (pdf)

 

 

OOXML is being rushed to become an ISO standard using the fast-track process. This is not good. As end-users we want real commodity document formats that are easy to implement and do not tie us to a specific office suite. Sadly, the purpose of rushing to standardise OOXML is simply to avoid letting it become a commodity document format. By letting OOXML become an ISO standard as it is now, a few companies get to gain a lot, but we are going to lose.

Spread the word.

 

I copy below the voting country list.

According to Rob Weir, all countries can cast a vote on this; sorry for this misinformation.

 

The voting countries (Participating countries) are (the list is being updated, please see Participating countries for new list)

  Brazil (ABNT)
Bulgaria (BDS)
China (SAC)
Colombia (ICONTEC)
Cyprus (CYS)
Czech Republic (CNI)
Côte-d’Ivoire (CODINORM)
Denmark (DS)
Finland (SFS)
France (AFNOR)
Germany (DIN)
India (BIS)
Italy (UNI)
Japan (JISC)
Kazakhstan (KAZMEMST)
Kenya (KEBS)
Korea, Republic of (KATS)
Netherlands (NEN)
Norway (SN)
Sweden (SIS)
Switzerland (SNV)
Thailand (TISI)
Trinidad and Tobago (TTBS)
Turkey (TSE)
USA (ANSI)
United Kingdom (BSI)

In addition, the following countries have observer status (Observer countries), (the list is being updated, please see Observer countries for new list)

  Australia (SA)
Chile (INN)
Greece (ELOT)
Hong Kong, China (ITCHKSAR)
Hungary (MSZT)
Ireland (NSAI)
Israel (SII)
Lithuania (LST)
Mexico (DGN)
Romania (ASRO)
Spain (AENOR)
Sri Lanka (SLSI)
Ukraine (DSSU)

The observer countries, though the cannot vote, they can submit comments.

Cannot write Greek Polytonic in Linux

For up to date instructions for Greek and Greek Polytonic see How to type Greek, Greek Polytonic in Linux.

The following text is kept for historical purposes. Greek and Greek Polytonic now works in Linux, using the default Greek layout.

General Update: If you have Ubuntu 8.10, Fedora 10 or a similarly new distribution, then Greek Polytonic works out-of-the-box. Simply select the Greek Polytonic layout. For more information, see the recent Greek Polytonic post.

Update 3rd May 2008: If you have Ubuntu 8.04 (probably applies to other recent Linux distributions as well), you simply need to add GTK_IM_MODULE=xim to /etc/environment. Start a Terminal (Applications/Accessories/Terminal) and type the commands (the first command makes a backup copy of the configuration file, and the second opens the configuration file with administrative priviliges, so that you can edit and save):

$ gksudo cp /etc/environment /etc/environment.ORIGINAL
$ gksudo gedit /etc/environment

then append

GTK_IM_MODULE=xim

save, and restart your computer. It should work now. Try to test with the standard Text editor, found in Accessories.

In Ubuntu 8.10 (autumn 2008), it should work out of the box, just by enabling the Greek Polytonic layout.

Update 20th June 2008: If still some accents/breathings/aspirations do not work, then this is probably related to your system locale (whether it is Greek or not). It works better when it is Greek. If you are affected and you do not use the Greek locale, there is one more thing to do.

$ gksudo cp /usr/share/X11/locale/en_US.UTF-8/Compose /usr/share/X11/locale/en_US.UTF-8/Compose.ORIGINAL
$ gksudo cp /usr/share/X11/locale/el_GR.UTF-8/Compose /usr/share/X11/locale/en_US.UTF-8/Compose

The first command makes a backup copy of your original en_US Compose file (assuming you run an English locale; if in doubt, read /usr/share/X11/locale/locale.dir). The second command copies the Greek compose file over the English one. You then logout and login again.

End of updates

To write Greek Polytonic in Linux, a special file is used, which is called the compose file. There is a bit of complication here in the sense that the compose file depends on the current system locale.

To find out which compose file is active on your system, have a look at

/usr/share/X11/locale/compose.dir

Let’s assume your system locale is en_US.UTF-8 (Start Applications/Accessories/Terminal and type locale).

In the compose.dir file it says

en_US.UTF-8/Compose: en_US.UTF-8

Note that the locale is the second field. If you have a different system locale, match on the second field. Many people make a mistake here. Actually, I think be faster for the system to locate the entry if the compose.dir file was sorted by locale.

Therefore, the compose file is

/usr/share/X11/locale/en_US.UTF-8/Compose

So, what’s the problem then?

Well, for the Greek locale (el_GR.UTF-8) we have a different compose file, a compose file in which Greek Polytonic actually works ;-).

Therefore, there are numerous workarounds here to get Greek Polytonic working.

For example,

  • If you speak modern Greek, you can install the Greek locale.
  • You can edit /usr/share/X11/locale/compose.dir so that for your locale, the compose file is the Greek one, /usr/share/X11/locale/el_GR.UTF-8/Compose.
  • You can edit the Greek compose file, take the Greek Polytonic section and update the Greek Polytonic section of en_US.UTF-8/Compose.
  • You can copy the Greek compose file in your home directory under the name .XCompose. I did not try this one, and also you may be affected by this bug. (not tested)

Of course the proper solution is to update en_US.UTF-8/Compose with the updated Greek Polytonic compose sequences. There is a tendency to add the compose sequences of all languages to en_US.UTF-8/Compose, and this actually is happening now. In this respect, it would make sense to rename en_US.UTF-8/Compose into something like general/Compose.

GUADEC Day #1

I am writing this in the morning of the second day (posted at the end of the second day). Just had breakfast and there is a bit of time before making it to the conference venue.

Yesterday Sunday, was the first of the two days of warm-up for the GUADEC conference. At 11am the registration started. I was in front of the queue and got my badge quickly, then picked up the bag with the goodies; three cool t-shirts, a copy of Ubuntu 7.04, Fedora 7 Live, Linux stickers, two Linux pens, a mini Google Code notebook (no, that’s an actual notebook (not that type of notebook, it was just the paper-based thing)).

During registration I met up with Dimitrios Glezos (of Greek Fedora fame) and a bit later with Dimitrios Typaldos. It was the first time I met both of them in person.

Between a choice of two sessions I went to the one on X.org developments (XDamage, xrender, etc extensions and how to use them). Ryan Lortie gave the presentation.

Next was lunch time, and Dimitrios T. recommended a pub for traditional English food and drink. Sayamindu came along.

The next session I went to was the Hildon desktop, which is what we used to call Maemo; GNOME for internet tables such as the Nokia 770 and Nokia 800. There are special technical issues to solve. Lucas Rocha mentioned refactoring issues with the source code. In addition, as far as I understood, there is an issue with the internationalisation support for the platform.

Next, Don Scorgie talked about the GNOME documentation project. Several things can be improved and one of them is the introduction of a simplified XML schema for the needs of GNOME documentation. When compared to DocBook XML, the new GNOME documentation schema has only 6 elements (or do they call them tags?). In addition to this, there is a documentation editor with a special rich-edit widget for this schema. Mallard is a type of duck(?).

I also attended the last 10 minutes of the presentation on project Jackfield (sadly no special significance between Jackfield and what the project is about). Jackfield is apparently a way to run Javascript scripts on the desktop. OS/X is supposed to have it, and there are already scripts available. With Jackfield, you can run those scripts unmodified on Linux. The demos where really impressive.

The final session for the day was a presentation by Richard Rothwell on free software for the socially excluded. No, you do not have to go to Africa for this. His work relates to families in Nottingham, UK. It reminds me the situation and effort in Farkadona, Greece, that was described by Kostas Boukouvalas. I think it would have been helpful if Kostas Boukouvalas could have attended this. Richard is running a 3-year project that provides a number of PCs (in the hundreds?) with Linux to socially excluded families. Even in the UK, funding is hard to come by.

Multimedia support in Ubuntu Linux 6.10

This is a follow-up to the article Multimedia support in Ubuntu Linux 6.06 on how to add extended multimedia support to the Ubuntu Linux distribution.

The new version of Ubuntu Linux, 7.04, has a new functionality to help add multimedia support in a seamless way; when you try to play a media file that requires a new codec, you will be asked to install it at that time. The new functionality was made available thanks to the work on the gstreamer multimedia library (bug #161922 – script to provide plugin installation info), and work with the Ubuntu distribution. It is important to note that the new version of Fedora Linux 7 has a similar mechanism of automatic multimedia support installation.

In Ubuntu 6.10, start System/Administration/Synaptic Package Manager. Under Settings/Repositories, select the universe and multiverse repositories. Click ok, then Reload to update your package cache.

Subsequently, click on Search and type in

gstreamer-0.10

You will get quite a few results; you can install packages found apart from those which names end with -dev (development packages, not normally required) and -dbg (debug packages, not normally required).

Finally, the w32codecs package (do a new search for this) adds support to other binary codecs that no native Linux software exists yet.

Video playback problems (black) after installing Beryl (or Compiz)

Note: Here we describe a workaround. The proper solution is to fix the graphics drivers and the X.Org X server. Such work is taking place, and for several cases you do not need this workaround. Especially with newer versions of Linux.

You just installed your 3D Linux desktop and you are really enthusiastic about it. But when you try to play some videos, you get a strange black output. What’s going on?
The common software video players that come with the Linux desktop are able to display the video stream to several types of output devices. This includes several types of output for the graphical interface, and also obscure output devices such as text mode, using ASCII characters.
The default output device is XVideo (or Xv) for players such as those based on GStreamer (totem) and VLC.
As you guessed, there is a bug with XVideo when using Beryl/Compiz. Therefore, to fix, you need to switch to another output device that works.
For GStreamer players (such as totem, the default movie player in GNOME, Ubuntu and so on), you need to run from the command line the command
gstreamer-properties
(with older distributions such as Ubuntu 6.06 there is an option in System/Preferences for this).
and pick
Video, then for Default Video Plugin choose X Window System (No Xv). Click on test to verify that it actually works. Click Close and you are set.
VLC is not installed by default in Ubuntu 6.10. You need to install manually using the Synaptic Package Manager (under System/Administration), once you have activated the Universe repository in Repositories.
Start VLC and click on Settings, then Preferences. Expand Video and then expand Output modules. You will notice several options for output device. How do we actually choose which one should be the active output device? Well, it appears it’s a bit tricky. Select the item Output modules, and notice the checkbox at the bottom right that says Advanced options. Check the box, and now you have the option to select a different output device. Pick X11 video output, click on Save and you are set!

Update (17 Jun 2007): Added section at UbuntuGuide.org, How do I fix black windows during video playback.

For how long have I been using my computer?

Do you want to check how many hours you have been using your computer/laptop?

Do you want to find out if that second-hand hard disk salesman is saying the truth?

Are you about to buy a second-hand laptop that had been used only sparingly?

You can figure out what’s going on, with the help of your Linux box and the smartmontools package. Especially since I decided to keep my old hard disk that sits next to me.
Modern hard disks support a feature called Self-Monitoring, Analysis, and Reporting Technology (S.M.A.R.T.), which helps make them more reliable.

One of the data recorded by S.M.A.R.T. is the total number of hours a hard disk has been in operation. This is the S.M.A.R.T. attribute 09 called Power-On Hours (POH). When your computer is on, your hard disk is on as well, therefore you can get the total number
of hours your computer has been on. Let’s see how we put all of these in action.

You need to install the smartmontools package, available from the standard Ubuntu repositories.

  1. Start System/Administration/Synaptic Package Manager and search for smartmontools. Select the package for installation and click to Apply.
  2. Assuming your hard disk corresponds to device /dev/hda, run the command sudo smartctl –all /dev/hda on a terminal window.

You will get a long list of information and attributes. Wade through the output and notice the attribute list and the line with ID 09.
On my system it is

ID# ATTRIBUTE_NAME   …   UPDATED  WHEN_FAILED RAW_VALUE
9   Power_On_Hours     …   Always                 –                      24

Here you can see that this hard disk has been in operation for 24 hours in total. Yes, it’s a new hard disk.
If your hard disk is a bit exotic, you may see a strangely large raw value. Other manufacturers measure the time in minutes or seconds, so you need to convert accordingly.
Other information you may extra from S.M.A.R.T. include the temperature of the hard disk. The temperature has ID 194. For me it is

ID# ATTRIBUTE_NAME        …   UPDATED  WHEN_FAILED RAW_VALUE
194 Temperature_Celsius  …    Always                 –                     41

That is 41 degrees Celsius.

You can also perform self-tests on your hard disk in order to check if it is about to fail. In S.M.A.R.T. terminology there are short (1min duration) and long (30min duration) tests, and the last five results are saved in the hard disk non-volatile memory. The entry includes the number of hours the hard disk has been in operation as explained above. Therefore, when you loan a laptop to a hard working person that has to finish an essay, you can perform a test so that the current number of hours are recorded, and then perform another test when you receive it back. If you are said hard working person, leave the laptop on as much as possible.
Apparently, most USB/Firewire caddies/enclosures do not pass the S.M.A.R.T. information, therefore you cannot access the relevant attributes. You need to connect the hard disk on the IDE/SCSI/etc channel.

International Call for Artists’ film and video

AT HOME IN EUROPE

Generous European Culture2000 funding enables ISIS Arts (UK) and it’s
international project partners BEK (Norway), InterSpace (Bulgaria) and
RIXC (Latvia) to curate a NEW SCREENING PROGRAMME around the theme of
European Identity for the Big M, ISIS Art’s inflatable touring space.

Daily, more and more European people decide to live in other European
countries. With a shifting concept of nationality it becomes
increasingly important to consider what it means to be European. Is
there such a thing as European Identity and how does it relate to
national identity?
For this programme we invite submissions of films or video works on this
theme from artists of any nationality.

Selected works will become part of the new screening programme which
will tour to the four partnering countries between May 2007 and
September 2007.
Work will be selected through open submission. In order to be considered
individual works must:

  • Have a running time of 5 minutes or less
  • Be single channel and non interactive
  • Address the project theme

Selected artists will receive an exhibition fee of € 300 (The Big M is
not a commercial venture and admission is free). Copyright remains
solely with the artist.

The Big M is a highly stylised inflatable structure that functions as a
temporary and mobile venue for the presentation of video and digital
media. Unique in both design and function, the Big M provides an
alternative to the conventional gallery setting and exhibits work by
emerging and established artists to diverse audiences.
See: http://www.isisarts.org.uk/index2.html

To submit pieces for consideration please send work on DVD, CD Rom (720x
576 dpi QuickTime movie) or mini DV, titled and with a synopsis of 50
words maximum, a CV and a stamped addressed envelope (if you want your
materials returned) to:

BEK
C Sundtsg 55
9. etage
5004 Bergen
Norway

Deadline for receipt of submissions is the 3rd of February 2007

Further inquiries to isis at isisarts dot org dot uk

Further project information can be found on
http://www.athomeineurope.eu/

Downloaded Fedora Core 6 DVD :)

I finished downloading Fedora Core 6 using the Bittorrent protocol in about two days. The download speed was 90Kbps (1Mbps downstream link).

It is interesting to note that quite often, downloading files with Bittorrent does not yield good speeds. One reason could be the traffic shaping that the ISP may implement (not common). Another reason is the operating system places a limit on the number of concurrent half-open connections. This is especially true when there are 2000+ users in the swarm and the download speed is stuck to 0. For example, Windows XP SP2 sets the limit to 10, which makes it slow for your torrent client to pick up the fastest download buddies in the swarm. In other cases, the modem may not be capable to handle several concurrent connections and drops the link.

Are there any other problems?

Multimedia support in Ubuntu Linux 6.06

With Ubuntu Linux 6.06, it is much clear how to install those codecs in order to get broad multimedia file support.

In Ubuntu, the multimedia infrastructure is handled by GStreamer; you install GStreamer plugins and any application that uses GStreamer can immediately benefit from the new codec support.

A typical installation of Ubuntu will bring in the free and open-source codecs by default. This includes the base gstreamer plugins package, gstreamer0.10-plugins-base that covers

  1. /usr/lib/gstreamer-0.10/libgstadder.so
  2. /usr/lib/gstreamer-0.10/libgstaudioconvert.so
  3. /usr/lib/gstreamer-0.10/libgstaudiorate.so
  4. /usr/lib/gstreamer-0.10/libgstaudioresample.so
  5. /usr/lib/gstreamer-0.10/libgstaudiotestsrc.so
  6. /usr/lib/gstreamer-0.10/libgstcdparanoia.so
  7. /usr/lib/gstreamer-0.10/libgstdecodebin.so
  8. /usr/lib/gstreamer-0.10/libgstffmpegcolorspace.so
  9. /usr/lib/gstreamer-0.10/libgstogg.so
  10. /usr/lib/gstreamer-0.10/libgstplaybin.so
  11. /usr/lib/gstreamer-0.10/libgstsubparse.so
  12. /usr/lib/gstreamer-0.10/libgsttcp.so
  13. /usr/lib/gstreamer-0.10/libgsttheora.so
  14. /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
  15. /usr/lib/gstreamer-0.10/libgstvideo4linux.so
  16. /usr/lib/gstreamer-0.10/libgstvideorate.so
  17. /usr/lib/gstreamer-0.10/libgstvideoscale.so
  18. /usr/lib/gstreamer-0.10/libgstvideotestsrc.so
  19. /usr/lib/gstreamer-0.10/libgstvolume.so
  20. /usr/lib/gstreamer-0.10/libgstvorbis.so

With a properly encoded multimedia file, you can play music or video with subtitles. Such good codecs are Ogg, Vorbis and Theora. You can also rip CDs; cdparanoia is also there.
By default you also get the good package, gstreamer0.10-plugins-good
It contains

  1. /usr/lib/gstreamer-0.10/libgst1394.so
  2. /usr/lib/gstreamer-0.10/libgstaasink.so
  3. /usr/lib/gstreamer-0.10/libgstalaw.so
  4. /usr/lib/gstreamer-0.10/libgstalpha.so
  5. /usr/lib/gstreamer-0.10/libgstapetag.so
  6. /usr/lib/gstreamer-0.10/libgstavi.so
  7. /usr/lib/gstreamer-0.10/libgstautodetect.so
  8. /usr/lib/gstreamer-0.10/libgstcacasink.so
  9. /usr/lib/gstreamer-0.10/libgstcdio.so
  10. /usr/lib/gstreamer-0.10/libgsteffectv.so
  11. /usr/lib/gstreamer-0.10/libgstgoom.so
  12. /usr/lib/gstreamer-0.10/libgstid3demux.so
  13. /usr/lib/gstreamer-0.10/libgstlevel.so
  14. /usr/lib/gstreamer-0.10/libgstefence.so
  15. /usr/lib/gstreamer-0.10/libgstmulaw.so
  16. /usr/lib/gstreamer-0.10/libgstossaudio.so
  17. /usr/lib/gstreamer-0.10/libgstrtp.so
  18. /usr/lib/gstreamer-0.10/libgstrtsp.so
  19. /usr/lib/gstreamer-0.10/libgstsmpte.so
  20. /usr/lib/gstreamer-0.10/libgsttaglib.so
  21. /usr/lib/gstreamer-0.10/libgstudp.so
  22. /usr/lib/gstreamer-0.10/libgstvideobox.so
  23. /usr/lib/gstreamer-0.10/libgstvideoflip.so
  24. /usr/lib/gstreamer-0.10/libgstwavenc.so
  25. /usr/lib/gstreamer-0.10/libgstwavparse.so
  26. /usr/lib/gstreamer-0.10/libgstauparse.so
  27. /usr/lib/gstreamer-0.10/libgstdebug.so
  28. /usr/lib/gstreamer-0.10/libgstnavigationtest.so
  29. /usr/lib/gstreamer-0.10/libgstalphacolor.so
  30. /usr/lib/gstreamer-0.10/libgstcairo.so
  31. /usr/lib/gstreamer-0.10/libgstflxdec.so
  32. /usr/lib/gstreamer-0.10/libgstmatroska.so
  33. /usr/lib/gstreamer-0.10/libgstvideomixer.so
  34. /usr/lib/gstreamer-0.10/libgstcutter.so
  35. /usr/lib/gstreamer-0.10/libgstmultipart.so
  36. /usr/lib/gstreamer-0.10/libgstflac.so
  37. /usr/lib/gstreamer-0.10/libgstjpeg.so
  38. /usr/lib/gstreamer-0.10/libgstpng.so
  39. /usr/lib/gstreamer-0.10/libgstspeex.so
  40. /usr/lib/gstreamer-0.10/libgstgconfelements.so
  41. /usr/lib/gstreamer-0.10/libgstshout2.so
  42. /usr/lib/gstreamer-0.10/libgstvideobalance.so
  43. /usr/lib/gstreamer-0.10/libgsticydemux.so
  44. /usr/lib/gstreamer-0.10/libgstximagesrc.so
  45. /usr/lib/gstreamer-0.10/libgstannodex.so
  46. /usr/lib/gstreamer-0.10/libgstgdkpixbuf.so
  47. /usr/lib/gstreamer-0.10/libgsthalelements.so
  48. /usr/lib/gstreamer-0.10/libgstdv.so

This includes generic AVI support, access to digital video and Firewire devices, visualisers, the Matroska codec, access to shoutcast servers, the speex audio codec, the flac codec and many more.

At this point, you can install Pitivi, a gstreamer-enabled video editor written in Python that helps you create your own movie. Make sure you install gstreamer0.10-gnonlin which enables non-linear editing in gstreamer.

Up to here you got free and open-source software.

You can continue with more codecs by installing the package gstreamer0.10-plugins-ugly. This package is not part of the official Ubuntu distribution; you need to enable the Universe repository. Use System/Administration/Synaptic Package Manager to install these additional packages.
Ugly are the plugins and codecs that may have distribution problems in some countries.

Ugly includes

  1. /usr/lib/gstreamer-0.10/libgsta52dec.so
  2. /usr/lib/gstreamer-0.10/libgstasf.so
  3. /usr/lib/gstreamer-0.10/libgstdvdlpcmdec.so
  4. /usr/lib/gstreamer-0.10/libgstdvdread.so
  5. /usr/lib/gstreamer-0.10/libgstdvdsub.so
  6. /usr/lib/gstreamer-0.10/libgstiec958.so
  7. /usr/lib/gstreamer-0.10/libgstmad.so
  8. /usr/lib/gstreamer-0.10/libgstmpeg2dec.so
  9. /usr/lib/gstreamer-0.10/libgstmpegaudioparse.so
  10. /usr/lib/gstreamer-0.10/libgstmpegstream.so
  11. /usr/lib/gstreamer-0.10/libgstrmdemux.so
  12. /usr/lib/gstreamer-0.10/libgstsid.so

This package will bring in, among others, DVD playback and subtitle support, ASF file support, MP3 support (MAD package) and MPEG2 video playback.
You can also get MP3 support if you install the gstreamer0.10-fluendo-mp3 plugin which is available from Universe as well. This package is probably free to use in any country thanks to the efforts of the Fluendo team.

It appears that if you install ugly, it is good to install gstreamer0.10-ffmpeg so that you get support for

FFmpeg plugin for GStreamer

This GStreamer plugin supports a large number of audio and video compression
formats through the use of the FFmpeg library. The plugin contains GStreamer
elements for encoding 40+ formats (MPEG, DivX, MPEG4, AC3, DV, …), decoding
90+ formats
(AVI, MPEG, OGG, Matroska, ASF, …), demuxing 30+ formats, and
colorspace conversion.

Finally, there is a package gstreamer0.10-plugins-bad with plugins of potentially suboptimal quality. It includes

  1. /usr/lib/gstreamer-0.10/libgstbz2.so
  2. /usr/lib/gstreamer-0.10/libgstcdxaparse.so
  3. /usr/lib/gstreamer-0.10/libgstdtsdec.so
  4. /usr/lib/gstreamer-0.10/libgstfreeze.so
  5. /usr/lib/gstreamer-0.10/libgstgsm.so
  6. /usr/lib/gstreamer-0.10/libgstmms.so
  7. /usr/lib/gstreamer-0.10/libgstmodplug.so
  8. /usr/lib/gstreamer-0.10/libgstmusepack.so
  9. /usr/lib/gstreamer-0.10/libgstqtdemux.so
  10. /usr/lib/gstreamer-0.10/libgsttrm.so
  11. /usr/lib/gstreamer-0.10/libgstspeed.so
  12. /usr/lib/gstreamer-0.10/libgstswfdec.so
  13. /usr/lib/gstreamer-0.10/libgsttta.so
  14. /usr/lib/gstreamer-0.10/libgstvideo4linux2.so
  15. /usr/lib/gstreamer-0.10/libgstwavpack.so
  16. /usr/lib/gstreamer-0.10/libgstxingheader.so
  17. /usr/lib/gstreamer-0.10/libgstneonhttpsrc.so

With bad you get GSM audio codec support, MMS support, QT playback support for some formats, Flash (SWF) playing support, Video4Linux2 support, MUSEPACK support and a few more.

How to easily modify a program in your Ubuntu?

Suppose we want to change the functionality of an Ubuntu application but we do not want to go into all the trouble of finding the source code, installing in /usr/local/, breaking dependencies with original versions and so on.

Let’s change Character Map (gucharmap), and specifically change the default font size from 20pt to 14pt, so that when you start it there is more space in the character window. Currently Character Map does not offer an option to save this setting.

We get the source code of Character Map,

# apt-get source gucharmap

Then,

cd gucharmap-1.4.4/

and now we edit the file gucharmap/main.c

We know what to edit because we visited the GNOME CVS Website, at http://cvs.gnome.org/viewcvs/gucharmap/

and we examined the logs for the file http://cvs.gnome.org/viewcvs/gucharmap/gucharmap/main.c?view=log

which show that for Revision 1.69, the following change took place,

Log:

2004-02-01  Noah Levitt

* gucharmap/gucharmap-table.c: Improve square size.

* gucharmap/main.c: Increase default font size.

When we click on the link Diff to previous 1.68 of the above page, we pinpoint the change,

version 1.68, Sun Feb 1 03:46:21 2004 UTC version 1.69, Mon Feb 2 00:48:05 2004 UTC
Line 93 main (gint argc, gchar **argv)
Line 93 main (gint argc, gchar **argv)

gint default_size = PANGO_PIXELS (1.5 * pango_font_description_get_size (window->style->font_desc));

gint default_size = PANGO_PIXELS (2.0 * pango_font_description_get_size (window->style->font_desc));

The change in the multiplier (from 1.5 to 2.0) changes the font size from 15pt to 20pt.

20pt is too big for us, therefore we edit the file gucharmap/main.c and change the 2.0 to 1.4 (14pt).
At this point we can compile the package using the command line

$ dpkg-buildpackage -rfakeroot -uc -b

dpkg-buildpackage: source package is gucharmap
dpkg-buildpackage: source version is 1:1.4.4-1ubuntu1
dpkg-buildpackage: source changed by Sebastien Bacher
dpkg-buildpackage: host architecture i386
fakeroot debian/rules clean

……….

At this point it is possible that you will get an error that an essential package is missing. The above command line will name the missing files, therefore you can simply install by

# apt-get install package-name

In case you do not have the basic compiler packages, you would need to install the build-essential meta-package. Do

# apt-get install build-essential

Finally, after the dpkg-buildpackage command completes, it will create one or more .deb packages in the directory above gucharmap.

# cd ..

# ls -l *.deb

gucharmap_1.4.4-1ubuntu1_i386.deb

libgucharmap4_1.4.4-1ubuntu1_i386.deb

libgucharmap4-dev_1.4.4-1ubuntu1_i386.deb
#

You can now install them (over the original packages) by running

# dpkg -i gucharmap_1.4.4-1ubuntu1_i386.deb libgucharmap4_1.4.4-1ubuntu1_i386.deb libgucharmap4-dev_1.4.4-1ubuntu1_i386.deb

Now we start the Character Map from Applications/Accessories/ and we get the default character size of 14pt!

Is there something we should pay attention on top of this? Yes, we should investigate the GNOME Bugzilla in case there is relevant work on this issue. We visit

http://bugzilla.gnome.org/

and specifically we click on the link Browse.

There, we select the package gucharmap (how do we know that Character Map is gucharmap? We either click on Help/About in Character Map which shows the internal name, or we run ps ax at a Applications/Accessories/Terminal while Character Map is running; the name gucharmap will pop up at the end of the long list.).

gucharmap is under the Desktop heading in the Browse list; or click on this direct link of bug reports on gucharmap.
If you start perusing the gucharmap bugs list, you will notice Bug #140414, titled remember settings. This report describes a superset of the problem we tried to solve above. That is, the bug report asks to enable Character Map to use the GNOME configuration database (gconf) so that it saves/remembers the user settings. However, this specific bug report is still pending.

The correct way to solve the configuration settings issue of gucharmap is to implement what is described in Bug #140414. If you have Ubuntu 6.06, you most likely have a very recent version of the source code of gucharmap. Therefore, the differences would be rather minimal. You can give it a go and try to get the gconf functionality in place.

You compile, install and test. If it works, you can make a patch of your changes; visit another directory and download a fresh copy of the source code using the apt-get source packagename command. Rename gucharmap-1.4.4 to gucharmap-1.4.4.ORIGINAL

# mv gucharmap-1.4.4 gucharmap-1.4.4.ORIGINAL

and make sure you clean the original gucharmap-1.4.4/ directory from compiled files (enter the directory were you did the source code changes and run make clean).

Finally, create a diff file,

# diff -ur ~/tmp/gucharmap-1.4.4.ORIGINAL ~/gucharmap-1.4.4/ > remember-settings.patch

In ideal terms, it is preferable if you could produce a patch for the latest version of gucharmap. That is, the version of gucharmap you get from http://cvs.gnome.org/viewcvs/gucharmap/. By doing so, the developers will love you because they will be able to simply apply the patch and limit the burden of adding the feature. Indeed, if it is too much effort to get a build system running, you can start off with simple patches and if you feel you are doing well with it, make the extra mile to have a build system. More on this in a future post.