First, if you're going to keep running 32-bit binaries, you're not actually changing the processor architecture: you'll still be running an x86 processor, even if it's also capable of doing other things. In that case, I recommend cloning your installation or simply moving the hard disk, as described in Moving linux install to a new computer.
On the other hand, if you want to have a 64-bit system (in Ubuntu terms: an amd64
architecture), you need to reinstall, because you can't install amd64
packages on an i386
system or vice versa. (This will change when Multiarch comes along).
Many customizations live in your home directory, and you can copy that to the new machine. The system settings can't be copied so easily because of the change in processor architecture.
On Ubuntu 10.10 and up, try OneConf.
OneConf is a mechanism for recording software information in Ubuntu One, and synchronizing with other computers as needed. In Maverick, the list of installed software is stored. This may eventually expand to include some application settings and application state. Other tools like Stipple can provide more advanced settings/control.
One of the main things you'll want to reproduce on the new installation is the set of installed packages. On APT-based distributions, you can use the aptitude-create-state-bundle
command (part of the aptitude
package) to create an archive containing the list of installed packages and their debconf configuration, and aptitude-run-state-bundle
on the new machine. (Thanks to intuited for telling me about aptitude-create-state-bundle
.) See also Ubuntu list explicitly installed packages and the Super User and Ask Ubuntu questions cited there, especially Telemachus's answer, on how to do this part manually.
For things you've changed in /etc
, you'll need to review them. Many have to do with the specific hardware or network settings and should not be copied. Others have to do with personal preferences — but you should set personal preferences on a per-user basis whenever possible, so that the settings are saved in your home directory.
If you plan in advance, you can use etckeeper to put /etc
under version control (etckeeper quickstart). You don't need to know anything about version control to use etckeeper, you only need to start learning if you want to take advantage of it to do fancy things.
killall xfce4-panel
, then save the session to prevent xfce4-panel from starting again.
EDIT: A 'cleaner' way would be to create a ~/.xinitrc and start everything maunally(ie: xfwm4, xfsettingsd, etc). startxfce4
starts xfce's sessions manager which in turn, starts all that stuff like xfce4-panel
that you don't want.
You could also edit /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
or ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
and comment out or delete the xfce4-panel
part, but that is just doing the very same thing xfce4's session saving does via a text file.
Best Answer
Xfce usually stores its configuration files in
~/.config/xfce4
(as well as~/.local/share/xfce4
and~/.config/Thunar
). Copying these directories to your laptop should do the job. Keyboard shortcuts are stored in~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
, so they should get copied as well.It's possible that after you copy the files they are getting overwritten when you log out of the session, thus preventing the new settings from getting enabled. Perhaps you could try copying the aforementioned directories by logging in through a tty?
Note that there's a global set of configuration files in
/etc/xdg/xfce4
,/etc/xdg/Thunar/
,/etc/xdg/menus
, etc. (as well as/etc/xdg/xdg-xubuntu
if you're using Xubuntu). If you're copying the configuration files between two systems having completely different base installations, you'll have to copy these files as well.