After installing from the livecd you should follow these steps to customise Fedora into something more comfortable for everyday use.
First thing's first - add youself to the wheel group...
su -
usermod -a -G wheel yourusername
Uncomment the appropriate line from the /etc/sudoers file by deleting the single # (hash) character highlighted in the extract below, on or about line 78:
EDITOR=gedit visudo
## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL
Now close the terminal window and open a new one.
Add the following three software repositories:
sudo rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
sudo rpm -Uvh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
At this point you should update the whole system:
sudo yum update
If you have just installed, this will take a while. Wait patiently...
Install the following packages to be able to play music and videos, also from the local network:
sudo yum install gstreamer-ffmpeg gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-rtsp rhythmbox-upnp
Optional, for weedy/old systems:
sudo yum install mplayer
To play DVDs you will need a decryption library from the Livna repository:
sudo rpm -Uvh http://rpm.livna.org/livna-release.rpm
sudo yum install libdvdcss
Install the flash plugin for 32bit systems:
sudo yum install flash-plugin
...or for 64bit systems, try this:
sudo yum install flash-plugin nspluginwrapper.x86_64 nspluginwrapper.i686 alsa-plugins-pulseaudio.i686 libcurl.i686
Enable chat on the local network by dissabling the firewall (don't panic):
sudo system-config-firewall-tui
...and then running Applications > Internet > Empathy IM Client. Create a new 'People Nearby' account. Enable it.
Enable media streaming over chat:
sudo yum install telepathy-sofiasip telepathy-stream-engine
If you're wondering which programs are listening to the network:
sudo netstat -lntup
The basics: reading and 'rithmatic:
sudo yum install openoffice.org-writer openoffice.org-calc
The 3 kinds of pictures:
sudo yum install gimp inkscape pitivi
Optional, for creating and annotating PDF files:
sudo yum install scribus xournal
Enable full-text search, unless this is an old/weedy machine:
sudo yum install tracker-search-tool
Read books?
sudo yum install calibre chmsee
If you like, you can install Google's Chromium web browser:
sudo gedit /etc/yum.repos.d/chromium.repo
[fedora-chromium] name=Chromium web browser and deps baseurl=http://repos.fedorapeople.org/repos/spot/chromium/fedora-$releasever/$basearch/ enabled=1 gpgcheck=0
sudo yum install chromium
Recommended: AdBlock
If you like, you can install Skype:
sudo gedit /etc/yum.repos.d/skype.repo
[skype] name=Skype Repository baseurl=http://download.skype.com/linux/repos/fedora/updates/i586/ enabled=1 gpgkey=http://www.skype.com/products/skype/linux/rpm-public-key.asc gpgcheck=0
sudo yum install skype
Running a 64bit system? Install the 32bit libraries for the 32bit-only (for Fedora) Skype:
sudo yum install qt.i686 qt-x11.i686 dbus-qt.i686 pulseaudio-libs.i686 alsa-plugins-pluseaudio.i686 libv4l.i686 libXv.i686 libXScrnSaver.i686
sudo yum install skype
ldconfig
(This probably still doesn't work. Pull your finger out, Skype...)
Scanning?
sudo yum install gnome-scan xsane
Printing with an HP printer?
sudo yum install hpijs hplip
Never going to connect a print to this machine or print over the network? Dissable the printer daemon to save memory and speed up the boot process:
sudo chkconfig --levels 2345 cups off
Turn off the following unnecessary services to save memory and speed boot:
sudo chkconfig atd off sudo chkconfig livesys off sudo chkconfig livesys-late off sudo chkconfig netfs off sudo chkconfig portreserve off sudo chkconfig sendmail off sudo chkconfig smolt off
You can fine tune these settings with a graphical interface:
sudo yum install system-config-services
...or you can quickly check which services are running:
chkconfig --list | grep :on
Add the following commands to the /etc/rc.local file if this is a laptop or an old/weedy machine with not enough memory:
sudo gedit /etc/rc.local
sysctl -w vm.swappiness=10 sysctl -w vm.vfs_cache_pressure=50 echo 1500 > /proc/sys/vm/dirty_writeback_centisecs echo 5 > /proc/sys/vm/laptop_mode
Modify the /etc/fstab file with the highlighted options:
sudo gedit /etc/fstab
??? / ext4 defaults,noatime,commit=120 1 1 ??? /boot ext4 defaults,relatime 1 2 ??? /home ext4 defaults,relatime,commit=120 1 3 tmpfs /tmp tmpfs defaults,relatime,size=512m,nr_inodes=200k,mode=01777 0 0
The following steps customize the user experience for one login. This only needs to be done once for each user and does not need to be repeated if you have preserved or backed up the /home directory.
Install the following Firefox plugins:
Optionally:Show icons in the menus and buttons, as they used to be. Run the following two commmands in a terminal (Applications -> System Tools -> Terminal):
gconftool-2 --type bool --set /desktop/gnome/interface/buttons_have_icons true gconftool-2 --type bool --set /desktop/gnome/interface/menus_have_icons true
Fix compiz for small screens (netbooks):
gconftool-2 --type bool --set /apps/compiz/plugins/move/allscreens/options/constrain_y flase
Fix the Nautilus file browser to always show useful interface elements:
gconftool-2 --type bool --set /apps/nautilus/preferences/always_use_browser true gconftool-2 --type bool --set /apps/nautilus/preferences/always_use_location_entry true
Double-click the window title to roll it up like a window shade:
gconftool-2 --type string --set /apps/metacity/general/action_double_click_titlebar toggle_shade
Decrease the spacing around various button and menu widgets so that small laptop screens can display large dialogue windows. Add the following to the ~/.gtkrc-2.0 file:
gedit ~/.gtkrc-2.0
gtk-icon-sizes = "panel=16,16 : panel-menu=16,16 : gtk-menu=16,16 : gtk-button=16,16 : gtk-small-toolbar=16,16 : gtk-large-toolbar=16,16 : gtk-dialog=32,32 : gtk-dnd=32,32"
Add the following to ~/.bashrc, remembering to change you@example.com to your own email address.
# Support high colors in the Gnome Terminal (not console) if [ "x$COLORTERM" == "xgnome-terminal" ]; then export TERM="xterm-256color" fi HISTSIZE=9000 # Lots of history. HISTFILESIZE=9000 # Lots of history in the file. HISTCONTROL=ignoreboth # Ignore entries with leading white space and dupes. HISTIGNORE="ls:ll:cd:fg:j:jobs" # Uninteresting commands to not record in history. PROMPT_COMMAND='history -a' # Write history after every command. shopt -s histappend # Append history to file, don't overwrite. shopt -s histverify # Show expanded history before running it. shopt -s cmdhist # Store multiline cmds as single shopt -s dirspell shopt -s cdspell shopt -s no_empty_cmd_completion FIGNORE='.o:~:.pyc:.pyo' # Suffixes to ignore for file completion. GLOBIGNORE='.:..:.*' # Ignore filenames which match the following globs when tabbing. export EMAIL="you@example.com" alias emacsclient='emacsclient --alternate-editor="" --create-frame' export EDITOR=emacsclient export GREP_OPTIONS="--color=tty -d recurse \ --exclude=*.so --exclude=*.o --exclude=*.pyc --exclude=*.class \ --exclude-dir=.svn --exclude-dir=.CVS --exclude-dir=.git --exclude-dir=.hg" export LS_COLORS=di=36 alias ls="ls --color=auto" alias ll='ls -lhrtB --hide=*.pyc --hide=*.orig' alias l='ls -B --hide=*.pyc --hide=*.orig' alias j=jobs
sudo yum install bash-completion man-pages words
sudo yum install emacs emacs-el emacs-gtypsit emacs-htmlize gnutls-utils w3m-el w3m-img
sudo yum install wget htop lynx nmap unrar system-config-services
Enable SSH? If this is going to be exposed on a public network then dissable password authentication by editing the following file and setting PasswordAuthentication to no.
sudo gedit /etc/ssh/sshd_config
# To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication no
sudo chkconfig sshd on
sudo service sshd start
Install compilers etc.
sudo yum groupinstall 'Development Tools'
For fetching source code:
sudo yum install mercurial git bzr
For debugging:
sudo yum install valgrind wireshark nmap
For Android development:
sudo yum install eclipse
For App Engine development:
sudo yum install pychecker pylint pydb
What doesn't link against these?
sudo yum install zlib-devel openssl-devel