MozillaZine

Moving from Windows to Linux

From MozillaZine Knowledge Base

This article is written for users who are moving from Windows to Linux and want to continue to use Mozilla applications. It can be used with any Linux distribution or window manager, but is somewhat Ubuntu-centric due to that distribution's popularity.

Most Linux distributions have a package manager that supports Thunderbird and Firefox. Many distributions also provide packages for other Mozilla projects (SeaMonkey, Sunbird, ...). If you're using Ubuntu for example, you can use Synaptic to install it if it's not already installed. There is no need to use Automatrix or apt-get. This is the easiest and safest way to install the application, and will meet most users needs.

The tradeoff is that many Linux distributions only release updates for security fixes, since many companies don't want things to change. To help keep things stable, they will frequently disable Help -> Check for Updates, forcing you to wait for the next release of the Linux distribution for any new functionality.

How much of an impact this has depends upon the application. Mozilla strongly recommends you always update all of their applications (regardless of why a new version was released). However, most security updates for Thunderbird are for low priority issues that aren't a problem if you use common sense, while Firefox tends to have more serious security issues. This seems to explain why Ubuntu frequently releases updates whenever a new version of Firefox is available, but doesn't do so for Thunderbird.

Contents

Moving your profile data

  • Install Firefox and Thunderbird in Linux.
  • If you have any extension (add-on) installed that has platform-specific components in the profile, such as the Lightning calender for Thunderbird, you have to uninstall it first in your Windows profile. Once you have moved it to Linux, you can then reinstall the Linux version of that extension (in the case of Lightning, all your calendar data should be retained).
  • Some extensions (such as IE Tab for Firefox) work only on Windows. It is recommended that you uninstall (or at least disable) any of them that is installed in your Windows profile before moving.
  • Find your existing Firefox profile and Thunderbird profile.
  • Copy the the contents of the Firefox profile over the profile in the ".mozilla/firefox" subdirectory in your home directory. Copy the contents of the Thunderbird profile over the profile in the ".thunderbird" subdirectory in your home directory. They are hidden subdirectories, you need to find an option in your file browser to display them. In both Gnome and KDE you can use "Show -> hidden files" to show directories that begin with a period. If you're dual-booting, many distributions provide read-only access to your NTFS partition in the file manager, you don't have to copy the profile to some type of removable media.
  • Your package manager typically adds a menu command to run Firefox and Thunderbird when it installs them. For Ubuntu, it's at Applications -> Internet.

If the application doesn't start, type locate run-mozilla.sh in a terminal. It should return the directories that have that file, which also contain either the "firefox" or "thunderbird" shell scripts used to start the application. Type echo $PATH into a terminal and verify the directory is on the path.

If it starts but doesn't work correctly, try running in safe mode to temporarily disable any added extensions. While they normally also work under Linux you occasionally run into Gnome or KDE integration problems, or it might not be using a relative pathname to store its data. Exiting the application and deleting the extensions.rdf file in the profile also solves many problems (it will be recreated when you run the application).

You could have also used one of the other methods described in moving your profile to tell Firefox and Thunderbird where to look for the profile. For example, you might want to create a "profiles" directory that contains both your Firefox and Thunderbird profiles.

Other considerations

The Help -> Check for Updates menu is enabled in the build on the Mozilla web site, but it's frequently disabled (though you can still check for updates for add-ons) if you installed it using a package manager with a graphical front end such as Synaptic or Adept. Typically the package manager will check for updates once a day, and ask if you want to upgrade if it finds one.

Ubuntu installs an Alltray program to "dock any application with no native tray icon (like Evolution, Thunderbird, Terminals) into the system tray". If you don't get a new mail icon in the system tray try either installing it or the Mozilla New Mail Icon (Biff) extension.

The menus are different under Linux. Tools -> Options and Tools -> Account Settings are replaced by Edit -> Preferences and Edit -> Account Settings. Additional command line arguments are supported under Linux.

Not all of the fonts that you're used to are available. You may want to install the Microsoft TrueType Fonts. With Ubuntu (or any Debian based distribution) you can use either the package manager or Automatrix to install the msttcorefonts package . For other distributions (Fedora, openSUSE etc.) you could install the rpm's from this web site if you can't find a more convenient solution.

Using a package manager

Debian

Debian distributes rebranded versions of Firefox (Iceweasel) and Thunderbird (Icedove). Packages for testing/sarge and unstable/sid users are available in the standard Debian repository. You can fetch and install them using apt-get. You need root access to use it. Type

su .

That will prompt you for the root password. Then update your apt repository.

apt-get update

and fetch/install the desired application.

apt-get install mozilla-firefox
apt-get install mozilla-thunderbird

Gentoo

Install it from a root prompt using Emerge.

su -

will prompt you for the root password. Then fetch/install the desired application using:

emerge firefox
emerge thunderbird

You can use firefox-bin and thunderbird-bin instead to install the official binary build. If you run into problems you may need to resync using emerge --sync .

Mandriva

Configure urpmi on your system, using the instructions at easyurpmi. Then use System/Configuration/Packaging/Install Software in the Mandriva Control Center and search for firefox or thunderbird. You could also just type the following from the root in a console:

urpmi firefox
urpmi thunderbird

The applications should be listed in the menu.

openSUSE

The easiest way to install Mozilla applications is through YaST, the SUSE/openSUSE package manager (you have other options with the 10.2+ versions). Those RPM software packages are customized versions of the regular releases. You will have to decide which repository to use:

  • The standard repositories provide you with the currently available RPMs that were QA-checked by SUSE and distributed through their online repositories and their media. Those have the advantage that they are automatically updated by openSUSE when using YOU (YaST Online Update) or Automated Updates. The disadvantage is that it may take a while until the RPMs and delta-RPMs are verified and uploaded. No additional steps are necessary to use those packages.

To install or update Mozilla applications from those repositories:

  1. Start YaST and go into "Software Management".
  2. Enter the application name into the "Search" field.
  3. If not yet checked, check those applications you want to install (note that some applications may have multiple packages, e.g., SeaMonkey's mail/news and IRC are separate packages in addition to the base RPM).
  4. Continue with the installation and let YaST resolve any dependencies to other packages and libraries

To update, run YaST Online Update for the regular repositories. For the openSUSE Build Service repository, repeat the sequence above and change the Lock symbol to the "Z"-like symbol for updating this package.

RHEL/Fedora

Firefox and Thunderbird are installed by default under both RHEL and Fedora. You can install an updated version from a root account in a terminal:

su yum update firefox
su yum update thunderbird

If you want to use packages from the Fedora Development repository (used to test new releases, so it could break other packages):

su yum -y --enablerepo=development update firefox
su yum -y --enablerepo=development update thunderbird

Ubuntu

Use either the Synaptic (Gnome) or Adept (KDE) package manager to install the application depending upon which type of Ubuntu you're running.

For example, select Applications, System, Synaptic Package Manager and enter your password at the prompt. Press the Search button and enter firefox (or thunderbird). Scroll through the list and find the firefox package. Click on the box to the left of it, selecting "Mark for installation". Then press the Apply button. This will install the firefox package plus several other packages it requires.

This should add the application to the menu. You could also add it to the panel (the equivalent of a windows shortcut), or run it from the terminal.

If later on you ever get confused whether you're running a Ubuntu or a Mozilla build run the following from a terminal:

ls ~/.thunderbird/*.default/*Mail
ls ~/.mozilla-thunderbird/*.default/*Mail

Builds from Mozilla.org look in ~/.thunderbird for the profile while builds from the Ubuntu repository (Synaptic, Adept, apt-get) look in ~/.mozilla-thunderbird.

Using a build from the Mozilla web site

If you don't want to use a build provided by the package manager you can download and install a release from the Mozilla web site. It has the latest release, and doesn't disable automatically checking for updates. You also avoid the risk of a third party build adding code from the trunk (code that is not ready for use by everybody yet) without you knowing about it like Ubuntu sometimes does.

The following instructions are written for Firefox but also apply to Thunderbird, SeaMonkey, Sunbird, etc.

  • Download the latest release to your home directory with your browser. If it was Firefox version 2.0.0.6 the file would be firefox-2.0.0.6-tar.gz.
  • Extract the contents with an archiving utility such as Ark or tar. If you're using Ubuntu you can right clink on the file in the file browser, and select "Open with Archive Manager" instead.
tar zxf firefox-<version>.tar.gz

or (for Firefox 3.0 and above, and mutatis mutandis for Thunderbird 3.x, SeaMonkey 2.x, Sunbird 1.x, ...)

tar -jxf firefox-<version>.tar.bz2
  • You can use the files where they are, or move them to a publicly accessible location such as /usr/local or /opt. That is useful if you have multiple users. If you're the only user or the distribution installed its own copy of Firefox its recommended you store it in the home partition to avoid potential problems.
su
<password>
mv firefox /usr/local
chown -R root:root /usr/local/firefox
  • Verify it works by using the cd command to change the directory to wherever you stored the application and then type:
./firefox
If you get an error message similar to /firefox-bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory your release was built requiring libstdc++5 rather than libstdc++6. Install libstdc++5 using whatever package manager your distro supports. Don't get rid of libstdc++6.
If you still get error messages for missing libraries and you are running a 64-bit operating system, the respective 32-bit libraries may not be installed (the Mozilla builds are currently all 32-bit only). Thus, make sure to install the 32-bit packages as well.
  • Create a link to launch Firefox. If you're using Gnome, use System- > Preferences -> Main Menu -> New Item and then browse to the "firefox" shell script in the directory. Or right click on the panel (taskbar), select Add to Panel, Custom application launcher, and then browse to the "firefox" shell script.

Step by step example using Thunderbird 2.0.0.22 for Ubuntu

This example doesn't use the default profile location in order to make it easier to troubleshoot. It uses the Mozilla build for Ubuntu, not the Ubuntu third party build.

  • Open the file browser. Right click on thunderbird-2.0.0.22.tar.gz and extract it using the Archive Manager into your home directory. This will create a thunderbird subdirectory.
  • Launch the Synaptic package manager and type libstdc++ in the Quick search window. If it doesn't list libstdc++5 install it. Exit Synaptic. (Typically only libstdc++6 is installed by default in Ubuntu. Thunderbird won't use the newer version.)
  • Expand the thunderbird subdirectory, select thunderbird (its listed as a shell script in the Type column but it doesn't have a. sh file extension), right click and select properties and then permissions. Verify "allow executing file as program" is checked.
  • Open a terminal window in the thunderbird subdirectory. If you had installed nautilus-open-terminal you could right click on the thunderbird subdirectory in the file browser and select "Open in terminal". Otherwise you need to run the terminal application from Applications -> Accessories and navigate there.
  • Type:
./thunderbird

and verify Thunderbird runs. It should start the new account wizard. Abort and exit Thunderbird.

  • Create a Profiles subdirectory in your home directory using File -> Create folder. You may want to create a Thunderbird and Firefox subdirectory in it.
  • Check "view hidden files" in the View menu in the file browser and copy your profile to the Profiles subdirectory you just created. You should be able to double click your windows partition in the file browser and have it automatically mount the NTFS partition (your boot drive) for you if you're using a recent version of Ubuntu. Otherwise burn the profile to a CD-R disk, copy it to a USB flash drive or copy it to a FAT32 partition under Windows beforehand.

    Don't copy the windows directory named Profiles. The Thunderbird profile directory normally has a weird name like vyzo5c3k.default and is a subdirectory of Profiles. The subdirectory you want to copy has an abook.mab and a prefs.js file. It will also be pointed to by the Windows version of profiles.ini.

  • Edit the profiles.ini file in the .thunderbird directory (its normally hidden due to it starting with a dot) to point to where you copied the profile. Change IsRelative from 1 to 0 and use the full path in Path. You can edit the file by right clicking on the filename and selecting Open with "Text Editor".

For example:

[General]
StartWithLastProfile=1

[Profile0]
Name=Tanstaafl
IsRelative=0
Path=/home/eric/Profiles/Thunderbird/tanstaafl
  • In the thunderbird directory (where the program is, not the .thunderbird directory that has a incomplete profile and a profiles.ini file) type:
./thunderbird
Verify everything is working correctly. Exit Thunderbird.
  • Right click on the panel (taskbar), select Add to Panel, Custom application launcher, and then browse to the "thunderbird" shell script. Press OK. Verify it launches Thunderbird. Exit Thunderbird.
  • The icon it added was actually a custom application launcher icon.
    • Right click on it.
    • Select properties.
    • Press the square icon on the left side of the window. That will display a "browse icons window".
    • Browse to the thunderbird/icons directory. It won't list any files. Press the OK button.
    • Now it will list a mozicon16.xpm and a mozicon50.xpm file. Select mozicon50.xpm and press OK.
    • Press close. The icon should change to a Thunderbird icon (blue bird and a envelope).
  • Uncheck "view hidden files" in the View menu in the file browser. You're done.

Note: The exact name and location of the icons depends upon the version. With Thunderbird 3.0 its a default*.png file in thunderbird/chrome/icons/default/ . However, its always a image file whose name mentions "icon" in a icons subdirectory.

Installation alternatives

You can get a copy of Firefox and Thunderbird from many sources. Typically (especially if they're part of a Linux distribution) they will identify themselves as Mozilla builds in the help menu, but they may not be identical. They may be a trunk build for the next release, and identify themselves as that version even though Mozilla hasn't released it yet. Or the location its installed in may be modified.

Swiftfox is an optimized build of Firefox. It installs it in the /opt directory. SwiftWeasel has optimized builds for Firefox (Swiftweasel) and Thunderbird (Swiftdove) that are frequently released within a couple of days of a Mozilla release. [1] The Community Builds/Binaries forums has other 3rd party builds.

Automatrix will install Thunderbird and Firefox using apt-get calls to the Ubuntu repositories, but doesn't provide any update mechanism. Since it's essentially duplicating what you can do with Synaptic, but Synaptic doesn't know the package is installed, you're better off using the package manager.

Ubuntuzilla

Ubuntuzilla is a python script that can install 32bit or 64bit builds of Firefox, Thunderbird and/or SeaMonkey under Ubuntu. It provides an option for it to check for updates and notify you. However, the popup is only displayed for a few seconds so you may need to use a checkforupdatetext command if you're unsure whether a update is available.

Synaptic installs Firefox/Thunderbird in /usr/share. Ubuntuzilla installs the programs in /opt and changes the links to run its version by default. It stores the Thunderbird profile in ~/.thunderbird rather than ~/.mozilla-thunderbird. You could change the launcher to use the "mozilla-thunderbird" command instead of "thunderbird" if you want to use the one from the Ubuntu repository. While popular, it has a history of causing problems with the Ubuntu version. Its recommended you choose one or the other, not both.

Cultural differences

Many distributions try to make somebody migrating from Windows more comfortable by hiding many of the differences. A few that you might run into when troubleshooting Firefox or Thunderbird are:

  • Any files or folders beginning with a period are hidden. Case matters. Filename. (with a dot at the end) is not the same as Filename (with no dot at the end). Thunderbird won't display hidden folders in the Attach File(s) window unless "display hidden files and folders" is enabled in the file manager.
  • In paths, the directory separator is the forward slash / , not the backslash \ . Also, Unix/Linux paths don't begin with a "drive letter": there is a single directory hierarchy covering all currently accessible (i.e. "mounted") filesystems.
  • It can be tough finding where stuff is installed since there is no top down hierarchy in the file browser like there is in Windows Explorer, and it installs the software in more directories (not just the equivalent of "\Program Files" and "\Windows"). One advantage of installing something using a package manager front-end such as Synaptic, Adept, Yum, Yast, rpmdrake, up2date etc. rather than typing apt-get or rpm commands in a terminal is typically you can select the package and look in properties to find where it installed the files.
  • Executables don't have standard file extensions. You frequently can't run an executable directly. When you launch (or type in a terminal) "thunderbird" its actually running a "thunderbird" shell script which calls the "run-mozilla.sh" shell script to run "thunderbird-bin". However, if you double clicked on "thunderbird-bin" (the actual executable) it does nothing.
  • The Microsoft power toys have an "open command window here" extension for Windows Explorer. The equivalent in Ubuntu for the file manager would be the nautilus-open-terminal package.
  • Some terminal commands are named differently, have different meanings, or for some commands with more than one synonymous names on Dos/Windows, not all of these names are accepted on Linux. Here are a few of the most common of these "renamed" commands:
Dos / Windows Unix / Linux
cls clear
cd or chdir (with dirname) cd (with dirname)
cd or chdir (to home directory) cd ~ or cd (alone)
cd or chdir (alone) pwd
md or mkdir mkdir
rd or rmdir rmdir
copy name1 name2 cp name1 name2
copy file1+file2+file3 file_n cat file1 file2 file3 > file_n
type file cat file
ren mv
del or erase rm
dir /w ls
dir ls -l
In addition, some commands have different arguments. When in doubt, use man command
  • ~/ is your home directory. i.e. /home/eric/downloads and ~/downloads are the same directory if you are logged in as eric.
  • Typically there is no need to install an anti-virus scanner unless you're sharing files with a Windows user. If you feel you need one ClamAV is most frequently recommended though most major anti-virus companies have one for Linux. This article compares the anti-virus scanners for Linux. Most free anti-virus scanners won't intercept your browsers downloads or your mail traffic - they seem focused on users manually launching them to check a file, or scanning most of the hard disk.

Lightning

If you install the Lightning extension from mozilla.org (rather than one provided by your Linux distro) you probably need to also install "libstdc++5" before installing Lightning since most Linux distributions provide "libstdc++6", which is incompatible with Lightning. See Lightning system requirements for more information.

Troubleshooting

  • Check that you didn't accidentally change the case of any subdirectories (or files). Windows doesn't care about the case, but Linux does.
  • Check that all of the files didn't get changed to read-only (if you burned them to a CD-ROM in order to move them).
  • Use a text editor to look at the relative version of any directory settings (they have -rel in the name) and check whether their syntax is compatible with whatever file system you're using under Linux. Don't worry about the absolute version of the settings (Thunderbird tries the relative version first), though it wouldn't hurt to fix them if they're wrong.

    For example, mail.server.server1.directory points to drive C: (which doesn't exist under ext3) but mail.server.server1.directory-rel (the relative version of that setting) is still valid, so in that case there is no problem.

user_pref("mail.server.server1.directory", "C:\\Users\\eric\\Profiles\\Thunderbird\\tanstaafl\\Mail\\Local Folders");
user_pref("mail.server.server1.directory-rel", "[ProfD]Mail/Local Folders");

The system requirements state that Thunderbird will not run without the following libraries or packages:

  • GTK+ 2.10 or higher
  • GLib 2.12 or higher
  • Pango 1.14 or higher
  • X.Org 1.0 or higher (1.7 or higher is recommended)
  • libstdc++ 4.3 or higher

and recommends you also have:

  • NetworkManager 0.7 or higher
  • DBus 1.0 or higher
  • HAL 0.5.8 or higher
  • GNOME 2.16 or higher

Starting with Thunderbird 12.0 libcanberra will be used rather than esound for sounds. [2]

Useful resources

Most distributions also have their own forums.

See also

External links