xfce install

Installing Debian Wheezy with the XFCE Desktop Environment from Netinstall CD
updated Oct 2013


Wheezy is the new Debian stable (come November 2014 it will be Jessie!).  If you'd prefer to follow the next testing Debian, for better package updates, you can add "jessie" or "testing" to sources list instead of "wheezy".  Adding "testing will continue following the testing branch even when the present Testing becomes stable (i.e Jessie becomes Debian 8).  

However, when Testing is still new in life there may be some things that could break your system... I run wheezy and find it stable and very sufficient.  There are a few packages I install from testing as well, which is still possible, using apt-get and the "-t testing" option.  But I'm moving onto Jessie pretty soon.

Upgrading to Testing later on is also possible - see my page upgrade debian

I made the notes on this page after using the Internet-based install CD.  This installs a basic Debian system with no desktop environment or software packages and needs to connect to the internet to retrieve all of that afterwards -but it is possible to install the very basic system from it with no internet connection.  You can get a Debian Live CD with a full Desktop Environment of your choice if you prefer, but then you lose the fun of keeping the install cut down to exactly what packages you want.

Get the Debian Netinstall ISO

Download the Debian 7.0 Wheezy installer CD from here (under "Small CDs") http://www.debian.org/distrib/netinst

Debian Jessie (Testing) from here (under "Netinst") http://www.debian.org/devel/debian-installer/

Other Debian install methods:

1. download a Debian Live CD with any desktop of your choice (most of the install method on this page, below, will not be needed and the resulting install will not be very minimal, or with exactly what packages you'd like installed).....

2. for more advanced users who already have a Linux OS to work from, make your own Debian Live CD with Live Helper -see my Remote install page.

3. If you have a Debian system already running and at hand, you could clone it with refractasnapshot and run it as a LiveCd or install it to another machine -see my System backup page.

Then put the ISO onto a usb stick with a few easy steps with Unetbootin - see my usbinstaller page

This YouTube vid shows the netinstaller in action http://www.youtube.com...

Prepare to install using the Netinstall method...

The netinstall CD image that you have downloaded and burned to USB stick or DVD will install only the very basic Debian Linux system and all other necessary packages needed to enjoy a desktop environment and run programs will be retrieved over the internet.

Wireless firmware 
Debian Wi-Fi page https://wiki.debian.org/WiFi#PCI_Devices

notes for Broadcom 802.11 
Many other wireless chips are supported in the Linux kernel and so the netinstall CD will (hopefully) automatically set up your wireless hardware.

The following might work for the BCM4312 chipset, which will be helpful if you're installing from Netinstall CD with wireless as the only internet option: 
If you have a *ubuntu CD lying around, or it's installed on your machine, copy the two dir's /b43 and /b43-open, either on the cd (in /pool/restricted/b/bcmwl) in the bcmwl-kernel-source .deb archive, or found in /lib/firmware if installed.  Put them onto a usb stick, to insert when prompted for wireless firmware files during the debian install (Configure Network Hardware).  This worked once for me, but didn't more recently!  So a plug in to ethernet cable was my only choice.

Otherwise, once Debian is up and running, you'll need to find the wireless chipset (if its Broadcom), with the terminal command: 
lspci -vnn -d 14e4:
if its not Broadcom:
lspci -nn | grep Network

and check the list to see if its b43 driver compatible list
To install for BCM4306, BCM4311, BCM4218 run in terminal: sudo apt-get install wireless-tools firmware-b43-installer
To install for BCM4312 LP-PHY run: sudo apt-get install wireless-tools firmware-b43-lpphy-installer
you can download the deb packages with another PC if the new machine is wireless-only  wireless-tools  firmware-b43-installer  firmware-b43-lpphy-installer
also you will need b43-fwcutter installed first which is a dependency (apt would download this)

or it may be brcm802.11 compatible list
To install for BCM4313 run: sudo apt-get install wireless-tools firmware-brcm80211
or you can download the deb package  wireless-tools  firmware-brcm80211

and you'll need to reboot to get it working or try restarting the network manager

Debian Sources List Generator -if you like, you can make your sources list and keep the lines handy.
(although debian netinstall CD should offer better mirrors for main)

Get a partition ready! 
Use Gparted to make some free space on a PC which already has another OS installed.  Gparted is on just about any Live CD or you should install it if you have a Linux OS already.
1. shrink a large partition which has some unused space -you can use the Windows partition editor to try and reduce the partition size, after clearing some disk usage (see below), and if not much space can be saved, you could shrink the partition with Gparted (which has worked well for me - but back up of the partition might be preferable to avoid destroying a Windows installation and that's bad if you have no Windows CD or restore options).   

Note: actually shifting the Windows (Win 7) partition along the HDD, say to make more space for a Linux partition, will LIKELY render the Windows OS unbootable as the boot sector will be changed. Then you will need a Windows 7 Disk to run the repair boot option (which can fix the boot issue).  But the Debian install will not see the Win OS and so you will need to do some work to add the W OS to the boot menu later.  Some tips on my GRUB page (6.. custom entry).

Note: if you are installing to a PC with Windows installed and intend to make it dual boot with Debian (i.e. have two OS's installed and choose from Grub menu which one to boot) it will be easy as chips if your Win OS partition was custom sized and all your data was on other partitions -then you just need to resize any data partition to make space for Debian.  However, if your PC came with factory-installed Windoze, then the OS partition may indeed take up half of the hard-disk space, like 250Gb or something daft.  Then you'll need to run some operations in W so that you can shrink the OS partition down to a more moderate 30Gb or something (W7 needs at least 60GB!).
I ran the following tasks in Win7 to do this: disk clean-up, disable page file and kernel memory dump [system>advanced tab], turn off system restore [system>system protection], turn off hybernation [power>change when computer sleeps>sleep>hibernate>0], turn off search feature [prog and features>turn windows features on or off], turn off indexing for drives [rightclick drive>properties>uncheck index>click Apply>click Ignore all], defrag [admin tools], try to shrink partition in disk management.  Finally I shrunk it right down to where I wanted it with Gparted (but you may want to back up the partition before doing this).
If you'd like to wipe the W partition (yeah!) but there is data on it, back-up what you need to external drive or data partition if present, or if that's not practical, shrink down the W partition and make a temporary partition to move stuff onto.

2. make an Extended partition =total size of the partitions needed for Linux, or else resize existing Extended partition to add Logical partitions to it.
3. make a Logical partition for Linux root, ~12Gb (generous) formatted with ext3, or ext4
4. another one for the home partition (if you choose to make it separate), can have anything from 2Gb to 20Gb... formatted ext3 or ext4 also.  
5. then a swap area (but no need to make if there's an existing swap of a Linux install) which just needs 1Gb to work fine in my opinion and formatted as Linux swap.

Get an ethernet cable internet connection, or have the ESSID of your wireless network to hand, if wireless connection is your only option!

The Install..
1. I chose Graphical expert install but plain Graphical install does the job and it might be faster.
2. configure network hardware: insert usb stick at firmware prompt for network hardware (if you have Broadcom 802wireless card etc) -it prompts twice, just go through each.
3. then set up the network by either Ethernet (eth0) or wireless (wlan0), if you have the ESSID ready (your wireless network name)
4. Partitioning: 
  • choose Manual, go down the list to select the new root partition, 
  • press Enter on "do not use" and change to Ext3 journaling file system (or what you previously formatted it to)
  • set mount point to / 
  • set bootable flag to on
  • do not format (unless a previous install on it was unsuccessful)
  • choose the home partition and tap again on  "do not use" change it to ext3; mount as /home
  • choose the swap if it's the first Linux install on the machine and set it to swap. Done 
5. install software.. uncheck all (tap Spacebar) including graphical desktop (which installs the bloated Gnome, or Xfce with a lot of extras), select laptop if installing to a laptop. 

6. Install GRUB (if for clean install) or otherwise don't -add the new install to GRUB later.  I used "Grub Customizer" loaded on another Debian OS on the same box but there are other ways to do it (see my GRUB page-the netinstaller didn't detect my other OS so couldn't set up grub. -also Live Build CD GRUB install failed and I had to cancel the Configure Mirror stage to stop the installer attempting GRUB install which follows straight after that stage.
Then finish the install to set-up users and passwords... restart and boot into a system with, as yet, no desktop.

7. Sources list
! if the installer failed to download the apt files and didn't make the sources.list properly,
you need to login with "root" and the root or administrative password that you made during the Netinstall CD process, then enter
nano /etc/apt/sources.list 
(and hit Enter at end)

add the repository lines, from where all Debian software will be downloaded/installed from (using the best location for you)
deb http://ftp.uk.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ wheezy main contrib non-free

deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free

then apt-get update

Or you can use "http.debian.net" which will retrieve from your most local mirror:
deb http://http.debian.net/debian wheezy main contrib non-free

also you can add the multimedia repository 
deb http://www.deb-multimedia.org testing main non-free
write to file by Ctrl-O Enter and Ctrl-X

then as root
apt-get update
apt-get install deb-multimedia-keyring && apt-get update

My sources list looks like so

deb http://http.debian.net/debian wheezy main contrib non-free
deb-src http://http.debian.net/debian wheezy main contrib non-free

#deb http://ftp.uk.debian.org/debian/ 
wheezy main contrib non-free
#deb-src http://ftp.uk.debian.org/debian/ wheezy main contrib non-free

deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
#deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free

deb http://www.deb-multimedia.org 
wheezy main non-free

you can make an upgrade now as well if you like, to make sure all is up to date, including the kernel etc.
apt-get upgrade && apt-get dist-upgrade


"norecommends" file 
Setting up this file does the same thing as adding the option --no-install-recommends to every apt-get install line. It prevents all the "recommended" packages being installed which are promoted by the ones we want (ie with no recommends the below apt-get retrieves 172mb from the mirror compared to 370mb without the option)

still as root, type
nano /etc/apt/apt.conf.d/norecommends
fill the file with
Install-Recommends "false";
Install-Suggests "false";
nano /etc/apt/apt.conf
APT::Install-Recommends "0";
APT::Install-Suggests "0";
and save it with Ctrl-X, y and Enter

Also you can knock out the downloading of language packs with every apt-get update:
nano /etc/apt/apt.conf
Acquire {
           Languages "none";

8. Install the desktop environment
Follow this only when using the Netinstall CD (Debian Live CD will have a desktop env already -though you might still need some of the following packages)
(the next line you will need handy on paper as you won't have a desktop at this stage of install)

Apologies for anything that no longer works!!! I don't run Xfce any more and so I can't really make corrections here.

If you like, you can make some files with package lists (e.g. desktop, apps, build) which you can save to a USB stick.  In the shell, after netinstall CD and reboot, you mount the stick and cd to the dir with those files you made.  then run sudo apt-get install $(< desktop) etc.

as root, type
apt-get install --no-install-recommends xorg xfce4 lightdm network-manager-gnome pm-utils hdparm cpufrequtils xfce4-power-manager chromium-browser leafpad xfce4-power-manager xfce4-notifyd tango-icon-theme firestarter dmz-cursor-theme xcursor-themes rxvt-unicode

I took out synaptic apt-xapian-index gdebi as I hardly need them (package manager, and gui package installer) also xfce-terminal 

This gets you a window manager, light desktop, display manager (login), network manager, power manager, browser, text editor and a cool terminal.
Some prefer iceweasel (open-source firefox) which is less memory-consuming than chromum, or midori as web-browsers.
wicd is an alternative to network-manager-gnome (but the latter may handle mobile/vpn better).
With wheezy, lightdm or slim is your choice of display manager.  Gnome's gdm3 comes with bloat of dependencies at 40Mb. 

to install the most recent xfce desktop (4.10) you can pull it from testing (but you must have testing line in your sources file and run update):
apt-get -t testing install xfce4

install thunar
from wheezy repository (1.2): apt-get install thunar
from testing (1.6): apt-get -t testing install thunar

apt-get install thunar-volman thunar-archive-plugin tumbler tumbler-plugins-extra thunar-media-tags-plugin zip unzip bzip2 p7zip-full xdg-user-dirs

prepare for bluetooth, bash, NTFS support, and Java
apt-get install bluetooth blueman command-not-found bash-completion ntfs-3g blktool open
jdk-6-jre icedtea6-plugin

some extras
apt-get install expect locate less git

before booting into the desktop, you could even set up the wireless and edit sudoers file first
type reboot to terminate processes and boot into the desktop!

9. sudoers
Boot into xfce then add user to sudoer file 
    add this line after the root's line: 
    yourusername     ALL=(ALL:ALL) ALL
write to file by Ctrl-O Enter and Ctrl-X

10. enable the wireless 
If you don't have the wireless firmware installed yet, see how to identify and install the correct driver at top of this page
sudo nano /etc/network/interfaces
comment out everything but the lines
auto lo
iface lo inet loopback

check if user is added to netdev group with groups <user> 
if not sudo adduser your_username netdev
lastly (if system is booted) sudo /etc/init.d/network-manager restart

problem: can't add a connection to nm-applet, get this error message:
Failed to add connection (32) Insufficient privileges debian
The newer gnome-network-manager needs polkit to be running, and non-gnome display managers might need tweaking.

sudo leafpad /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla

add this content, save and restart network manager by above command or logout:

run firestarter to start it and set it up to start on dial-up or at boot-up, enable DHCP

11. bluetooth
add to start up applications with /etc/init.d/bluetooth as command
a mouse takes some effort to get it paired -the mouse needs to send a signal to the bluetooth manager and you click accept always.

if you installed bluetooth in a booted system, start it with, terminal:
/etc/init.d/bluetooth start

see the Arch wiki page https://wiki.archlinux.org/index.php/bluetooth
and how to have connections at boot http://askubuntu.com/questions/17504/...

12. Mount partitions (fstab file)
Hopefully you know that Linux uses a file to handle disk partitions so the system can mount them with all kinds of preferred options?  You need to get this file tidy so that your partitions are nicely mounted at boot and you can read/write to them without the file manager saying "no permissions" etc.

to write to NTFS file systems you need ntfs-3g (install line above)

Find the disks and their sizes on system to note names (e.g. sda2)
sudo fdisk -l
Get uuid of disks
sudo blkid
add an fstab entry for each harddisk partition that needs mounting at boot sudo leafpad /etc/fstab
! First of all omit the usb device lines if you installed debian from usb
example of line for NTFS partition
     UUID="B04C39A04C3961F0" /media/FILES ntfs-3g defaults,nls=utf8,uid=1000,umask=000 0 0
example of a data partition with ext3 format
     UUID=a482820a-ca98-4d19-albe-d2dd53b49b06 /media/Data    ext3    users,defaults    0  2
don't touch the lines for your linux install or home partition, or swap, and don't give two lines the same mount point (especially not both "/")!
create mounts for partitions in /media 
sudo mkdir /media/FILES
sudo mkdir /media/VIDEO
sudo mkdir /media/Data
and link the partitions to the mounts (or just reboot if you want to skip this) 
sudo mount –t ntfs-3g /dev/sda2 /media/FILES
sudo mount –t ntfs-3g /dev/sda3 /media/VIDEO
sudo mount /dev/sda6 /media/Data
(my examples)
check the partitions are mounted
df -hT
reboot and find the drives mounted in /media.

If you can't write to the partition (it's read-only):
sudo chown -R <user> /media/FILES (where it's mounted)

If your installation CD (e.g. Debian Live Build) left you with NO fstab file at all, you will need to add good root, home (if separate) and swap lines above the ones for data partitions.
example (tab separated):
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# sda5
UUID=cc3bca0d-aee4-4b9c-95c2-57212cc36d4d    /               ext3    defaults,noatime    0       1
# sda6 
UUID=ab67d8fe-d76b-4e21-abbe-e10d162e1d27    /home           ext3    defaults        0       2
# sda7 
UUID=a7db1e95-4acd-4754-a043-a8d27405c316    none            swap    sw              0       0

currently, I put /var on its own partition as the contents are changing alot (e.g. apt cache) and / is on a solid state disk that shouldn't need so many write operations
UUID=5d327347-dd0a-4540-9a2e-9e86a05db5c6    /var    ext3    defaults,noatime    0    2

since Debian 7 /tmp is on tmpfs (RAM) so it doesn't need moving to another partition

there's an fstab documentation here ..ubuntu.com/community/Fstab

13. add mixer to the panel and Left click on it >add master, speaker, PCM, Pc Beep (so as to silence it!) and unmute sound. 

Check that your user is in the audio group with groups <user>
and add to audio group if not added with sudo adduser <user> audio (then reboot)

While adding user to groups, I also need dialout plugdev lpadmin admin clamav fuse
to add user to a new group:
sudo groupadd <group>
sudo useradd <user> <group>

14.  RC on top panel and in preferences >items >edit Window buttons >uncheck show labels, check flat buttons; change workspace switcher to labels, remove "show desktop" button, adjust panel to smaller size -see the Xfce page in my tutorials for more on panels.
15. windows manager: adjust window buttons, and window focus options, theme default-4.2e, hide window content while resizing/moving, Bitstream charter 10; Display: select theme, Tango icons
16. set power options, like close laptop lid suspends, critical battery, inactivity time, screen sleep, uncheck lock screen etc,
    removable media: check auto mount when hot-plugged or inserted

17. If you install Synaptic and you want a launcher: copy the .desktop file from /usr/share/app's to ~/.local/share/applications/ change "Exec=synaptic" to: Exec=gksu /usr/sbin/synaptic
For gparted, use gksu /usr/sbin/gparted
18. add launcher for terminal with command exo-open --launch TerminalEmulator

19. on login, the default session shows Xsession, not Xfce  
    sudo leafpad /etc/lightdm/lightdm.conf 
    change user-session=lightdm-xsession to user-session=xfce
    or uncomment (remove "#") by usersession=default and change "default" to xfce

20. thunar: no Documents, Music, Video etc in home -go to them in Go menu and they will appear in home! Then drag them to the shorcuts on the left.
to set the directory location of these by editing the ~/.config/user-dirs.dirs file, e.g.
    XDG_MUSIC_DIR="$HOME/Music" <-just edit the path to your music dir, and restart the file manager if it's opened.
21. Set up GTK accels so that the shortcut keys on menus in GTK windows can be changed just by hovering them and pressing a new (available) key-combo...
in your ~/.gtkrc-2.0 file, put the line 

Prepare to install software..
add the debian multimedia repository if you haven't already
nano /etc/apt/sources.list
add the line
deb http://www.deb-multimedia.org testing main non-free
(this changed 05/2012)
check mirror list ...debian-m-testing

apt-get update && sudo install deb-multimedia-keyring && apt-get update

Get dependencies needed for building software from source (or leave it for another time)
sudo apt-get install --no-install-recommends build-essential intltool pkg-config libalglib-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libx11-dev libgtk2.0-dev libwnck-dev x11-xserver-utils libgudev-1.0-dev libgtkmm-2.4-dev libssl-dev libnotify-dev gcc make cmake checkinstall

Note: bear in mind that the build dependencies will need updating all the time, whenever you have to build from source, to enable compiling without meeting dependency problems.

Step2  - video editors, ffmpeg, XnViewMP, Libre Office, Google Earth

david quinton,
Oct 17, 2013, 8:22 PM