This is just a brief description of the steps to perform after an Archlinux install to get a fully functional Gnome desktop. These are very specific for my usual setup. for a general discussion see the Beginners' guide or the Installation guide
The following steps are to be done inside the initial chroot during install.
Before creating the initramfs, edit
/etc/mkinitcpio.conf to add the necessary
modules for KMS (depending on graphics adapter of the systems). Use lspci to
know which one applies. For example nouveau, i915 or radeon. Also include the
'resume' hook to be able to boot from hibernate.
MODULES="nouveau" HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"
Then build the initramfs:
sudo mkinitcpio -p linux
Install bootloader (GRUB)
To install GRUB for BIOS boot in MBR disk:
pacman -S grub grub-install --recheck /dev/sda
/etc/default/grub to add support to resume from hibernation
(suspend to disk). Also change the GRUB_TIMEOUT to reduce boot time:
Finally build the Grub configuration file:
grub-mkconfig -o /boot/grub/grub.cfg
For other setups (UEFI, etc) see grub.
Install NetworkManager before reboot. This way network is available after reboot without needing to use dhclient and you can go on installing the rest of the packages:
pacman -S networkmanager systemctl enable networkmanager
Create your user account
I prefer Zsh to Bash. For administration I like sudo.
pacman -S sudo zsh
Configure sudo so that wheel group can execute commands.
/etc/sudoers and uncomment this line:
%wheel ALL=(ALL) ALL
useradd -s /bin/zsh -G wheel <myusername> passwd <myusername>
Disable PC speaker beep
PC speaker beep is annoying, so disable it. Create file /etc/modprobe.d/nobeep.conf with content:
Finish base install and reboot
Exit the chroot, umount root and home partitions:
exit umount /mnt/home umount /mnt reboot
After rebooting, login to your account and try to use sudo to check that everything is properly configured.
Some basic utilities
If you didn't install NetworkManager you will need to know your network interface (assuming ethernet) to activate it. Use
ip l to kget the name:
ip l sudo dhclient <interface> sudo dhclient enp4s0
Before installing the desktop, I like to setup some basic utilities. The vim package can be later changed to gvim when a desktop is available.
sudo pacman -S vim ctags htop strace lsof git sudo pacman -S unrar unzip zip sudo pacman -S python-virtualenvwrapper keychain
If you have a VPN you can install networkmanager-openvpn and edit
To install packages from the AUR yaourt is very useful. Download yaourt and package-query from AUR to install them manually:
cd /tmp curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz tar xzvf package-query.tar.gz tar xzvf yaourt.tar.gz
Install the compiler tools:
sudo pacman -S base-devel
MAKEFLAGS="-j2" PACKAGER="User Name <firstname.lastname@example.org>"
Compile the package-query and yaourt packages:
cd package-query makepkg -s sudo pacman -U package-query*.xz cd ../yaourt makepkg -s sudo pacman -U yaourt*.xz
SSH and firewall
sudo pacman -S openssh ufw sudoedit /etc/ssh/sshd_config (habilitar RSA authentication) sudo systemctl enable sshd sudo systemctl start sshd sudo ufw enable sudo ufw allow ssh sudo ufw limit ssh
sudo pacman -S ntp
Setup the server in
/etc/ntp.conf, for example:
Start the server, wait some seconds and check it is running:
sudo systemctl enable ntpd sudo systemctl start ntpd ntpq -p
NFS client + autofs
For ethernet gigabit networks I like to use NFS and autofs.
Add the hostname and IP of your NFS server to
sudo pacman -S nfs-utils sudo systemctl enable rpcbind.service sudo systemctl enable nfs-client.target sudo systemctl enable remote-fs.target sudo systemctl start rpcbind.service sudo systemctl start nfs-client.target sudo systemctl start remote-fs.target sudo pacman -S autofs sudo systemctl start autofs sudo systemctl enable autofs
Edit /etc/autofs/auto.master to uncomment the line starting with "/net".
This way you can find your NFS exports in /net/
Install CUPS and Avahi (to be able to automatically detect new printers).
sudo pacman -S avahi sudo systemctl enable avahi-dnsconfd.service sudo systemctl start avahi-dnsconfd.service sudo pacman -S cups cups-filters ghostscript gsfonts gutenprint sudo systemctl start cups-browsed.service sudo systemctl enable cups-browsed.service sudo systemctl enable org.cups.cupsd.service sudo systemctl start org.cups.cupsd.service
To give permissions to an user to be able to add/remove and administer printers with CUPS and from the web http://localhost:631 interface:
sudo groupadd printadmin sudo gpasswd -a <username> printadmin sudo gpasswd -a <username> lp
Edit /etc/cups/cups-files.conf and add printadmin:
SystemGroup sys root printadmin
Then restart CUPS:
sudo systemctl restart org.cups.cupsd.service
sudo pacman -S samba
Install Xorg server:
sudo pacman -S xorg-server sudo pacman -S mesa-vdpau libva-mesa-driver sudo pacman -S pulseaudio pulseaudio-alsa pavucontrol
Depending on your graphics hardware you will need any of these packages. For Nvidia:
sudo pacman -S xf86-video-nouveau
For ATI Radeon, although kernel module is called radeon, the package containing the driver is called 'ati':
sudo pacman -S xf86-video-ati
For Intel (i.e. i915):
sudo pacman -S xf86-video-intel
Additionally, if your laptop has a touch pad:
Configure your locale for X11:
sudo localectl set-x11-keymap es
Add some fonts (can be improved with infinality, see later):
sudo pacman -S ttf-dejavu ttf-droid ttf-ubuntu-font-family ttf-liberation
To install Gnome Shell desktop with GDM display manager (necessary to be able to lock screen):
sudo pacman -S gnome gnome-extra sudo pacman -S gdm sudo systemctl enable gdm sudo systemctl start gdm
The keyring isn't installed by default:
sudo pacman -S gnome-keyring seahorse
Don't install keyring because gnome-keyring provides the same funcionality inside Gnome. With keyring the gnome-keyring can't work as expected (id_rsa ssh key isn't unlocked with login, for example).
To use the dark theme in gnome-terminal (it doesn't recognize GTK_THEME environment variable):
yaourt -S gnome-terminal-dark-variant
Install Nemo (for recursive searches in remote paths without requiring a previous index)
sudo pacman -S nemo
KDE Plasma 5
To install KDE Plasma 5 desktop with KDM display manager:
sudo pacman -S plasma kde-applications sudo pacman -R kdegames sudo systemctl enable kdm sudo systemctl start kdm
If you don't want akonadi, this is a way to avoid loading it:
yaourt -S akonadi-fake
To integrate graphically the KDE4, GTK2 and GTK3 applications add:
sudo pacman -S breeze-kde4 yaourt -S gnome-breeze-git
LightDM display manager
With the GTK greeter:
sudo pacman -S lightdm-gtk-greeter
With the KDE greeter
sudo pacman -S lightdm-kde-greeter
greeter-session=lightdm-gtk-greeter # or for KDE greeter-session=lightdm-kde-greeter
Enable and run it:
sudo systemctl start lightdm sudo systemctl enable lightdm
To configure themes from KDE control panel use:
To install Infinality it is necessary to add the "bohoomil" repository:
sudo -i dirmngr < /dev/null sudo pacman-key -r 962DDE58 sudo pacman-key --lsign-key 962DDE58
/etc/pacman.conf and add the repository:
[infinality-bundle] Server = http://bohoomil.com/repo/$arch [infinality-bundle-fonts] Server = http://bohoomil.com/repo/fonts
Install Infinality (answer yes to the three questions to substitute packages):
sudo pacman -Sy sudo pacman -S infinality-bundle
Install improved fonts for Infinality:
sudo pacman -S otf-cantarell-ib ttf-dejavu-ib \ ttf-droid-ib ttf-ubuntu-font-family-ib
These are some of my favourite applications to install:
yaourt -S gnome-terminal-dark-variant sudo pacman -S firefox firefox-i18n-es-es gst-libav sudo pacman -S geary sudo pacman -S libreoffice-fresh libreoffice-fresh-es sudo pacman -S hunspell-en hunspell-es aspell-en aspell-es sudo pacman -S gimp inkscape darktable hugin luminancehdr sudo pacman -S vlc smplayer sudo pacman -S gnome-maps sudo pacman -S calibre fbreader sudo pacman -S pavucontrol sudo pacman -S quodlibet sudo pacman -S libvirt ebtables dnsmasq bridge-utils qemu sudo pacman -S gnome-boxes sudo pacman -S virtualbox net-tools
To install Thunderbird with Enigmail support (GPG crytofraphy) :
sudo pacman -S thunderbird thunderbird-i18n-es-es gpg --keyserver pgp.mit.edu --recv-keys DB1187B9DD5F693B yaourt -S thunderbird-enigmail
Drivers for Canon iR ADV C7055/7065
Printer drivers for Canon iR ADV C7055read more
Epson WF-2530 drivers for Linux
Printer drivers for Epson WF-2530read more
Configure PostgreSQL with PostGIS
Configure PostgreSQL with PostGIS in Archlinux.read more
Installing linux in an ASUS X551CA
This laptop works great under linux. I installed Lubuntu on it and everything went right but two things: wifi and BIOS booting. Both can be solved so I am happy with the purchase. The only drawback i found is that ethernet adapter is only 100 MHz and not gigabit. Too slow nowadays and not what I expected. Nothing that can't be solved with a cheap USB3 to ethernet adapter.
I will describe how to overcome this "small" problems (It took me hours to find out how, searching forums and wikis... thanks to everybody).
Booting with UEFI BIOS
The first ...
Sharing sound across computers with PulseAudio
There are several good articles on how to redirect an audio stream from one computer to another or how to multicast from one computer to many of them using PulseAudio. But I found some unexpected problems when trying to make it work.
One of the applications needed to set it up is paprefs (PulseAudio preferences setup GUI). This application was working fine in one of my computers but in the other most options of the GUI were grayed out/disabled. The difference was in was in the linux distribution I run in them. The one working was Debian Testing while ...read more