Skip to content

Instantly share code, notes, and snippets.

@jprice
Forked from vvilp/my Arch Linux cheat-sheet
Last active August 29, 2015 14:14
Show Gist options
  • Select an option

  • Save jprice/b9f79c05951916417d2b to your computer and use it in GitHub Desktop.

Select an option

Save jprice/b9f79c05951916417d2b to your computer and use it in GitHub Desktop.

Revisions

  1. @tungel tungel created this gist Jul 8, 2013.
    589 changes: 589 additions & 0 deletions my Arch Linux cheat-sheet
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,589 @@
    Installing Arch:


    sudo vim /etc/pacman.conf
    Update packages list: sudo pacman -Syy
    run sudo pacman -Syu before installing any software (to update the repositories first)

    * Timing issue:
    - Change hardware clock to use UTC time:
    sudo timedatectl set-local-rtc 0
    - Set timezone to Asia/Singapore
    sudo timedatectl set-timezone Asia/Singapore
    - Install Network Time Protocol
    sudo pacman -S ntp
    - Synchornize the system clock:
    sudo ntpd -qg
    - After updating the system clock, store the time to the hardware clock so that it is preserved when rebooting
    sudo hwclock -w


    * Pacman log file:
    /var/log/pacman.log

    * Downgrading package:
    cd /var/cache/pacman/pkg
    1) sudo pacman -Ud nvidia-utils-313.30-2-x86_64.pkg.tar.xz
    2) sudo pacman -Ud nvidia-313.30-5-x86_64.pkg.tar.xz
    3) sudo pacman -Ud virtualbox-host-modules-4.2.12-3-x86_64.pkg.tar.xz
    4) sudo pacman -U linux-3.8.11-1-x86_64.pkg.tar.xz
    5) sudo pacman -U virtualbox-4.2.12-3-x86_64.pkg.tar.xz

    * Installing X
    - Choose fastest mirror in /etc/pacman.d/mirrorlist
    + vim /etc/pacman.d/mirrorlist
    + Put the below line at the top:
    Server = http://mirror.nus.edu.sg/archlinux/$repo/os/$arch
    sudo pacman -S xorg
    sudo pacman -S xorg-twm xorg-xclock xterm
    startx
    ##### Take note that: never try to create /etc/xorg.conf file!!! Try to create
    this file will make X not able to start!!!

    * Sound:
    Sound is muted by default, so need to unmuted it:
    https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#Unmuting_the_channels
    sudo pacman -S alsa-utils

    * Set locale:
    sudo vim /etc/local.gen
    sudo locale-gen

    * Fixed truecrypt failed to set up a loop device
    https://wiki.archlinux.org/index.php/TrueCrypt
    lsmod | grep loop
    sudo modprobe loop
    sudo tee /etc/modules-load.d/truecrypt.conf <<< "loop"

    * WIFI:
    - The wireless here is "wlo1"
    sudo ip link set wlo1 up
    sudo wpa_supplicant -i wlo1 -c /etc/wpa_supplicant.conf &
    sudo dhcpcd wlo1
    - GUI config tool (optinal): sudo pacman -S wpa_supplicant_gui
    - network={
    ssid="Nha06-16-30 co j nhieu I"
    #psk="gaidepnhieuI"
    psk=35a7546f8885820d05a6fdbfa2e388191b977be3ba9d514b46da38623a7e0333
    }
    ap_scan=1
    - Fix issue can't start wpa_supplicant:
    + add no password require for user squallltt when he runs wpa_supplicant
    to /etc/sudoers
    - Connect WEP:
    sudo iwconfig wlo1 essid "NAAEC" key 0050263557
    (if using ASCII key: sudo iwconfig wlo1 essid "MyWiFiID" key s:asciikey)
    sudo dhcpcd wlo1
    - Connect WIFI - to Jurong East house:



    * Mount NTFS volume:
    - Install ntfs-3g: sudo pacman -S ntfs-3g
    mount -t ntfs-3g /dev/<device> /mnt/<folder>

    * Cannot find the fakeroot binary required for building as non-root user
    https://wiki.archlinux.org/index.php/Arch_User_Repository#Getting_started
    sudo pacman -S base-devel
    - Then can make package for Dropbox like so:
    makepkg -s

    * Fine tuning font:
    - sudo pacman -S ttf-dejavu
    - https://wiki.archlinux.org/index.php/Font_Configuration#Patched_packages
    - Download AUR: https://aur.archlinux.org/packages/freetype2-infinality/
    - Download https://aur.archlinux.org/packages/fontconfig-infinality/
    /usr/share/doc/fontconfig/infinality-ultimate/fontconfig
    - Manually install TTF fonts:
    + Copy fonts (Consolas font) to ~/.fonts
    + run command: fc-cache -fv

    * Enable thumbnail view in thunar file manager:
    sudo pacman -S tumbler


    * Installing Dropbox:
    - http://thinkingeek.com/2011/02/18/installing-dropbox-and-dropbox-nautilus-in-archlinux/
    - Download dropbox: http://aur.archlinux.org/packages.php?ID=23363
    - Download nautilus-dropbox: http://aur.archlinux.org/packages.php?ID=19615
    - Uncompress them using: tar xvfz <filename.tar.gz>
    - Go to dropbox folder and run: makepkg -s
    - Then install the built package: sudo pacman -U <filename.xz>
    - ##### IMPORTANT ##### :
    + never never edit any file in the Dropbox folder before the newly
    installed Dropbox has finished indexing the files; or else it will
    create file conflict!!!!

    * Disable beep sound:
    - sudo rmmod pcspkr
    - black list to prevent loading at boot:
    sudo echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf


    * Check error X:
    https://bbs.archlinux.org/viewtopic.php?id=102401
    cat /var/log/Xorg.0.log | grep EE
    /etc/X11/xorg.conf : if cannot start X, delete this file! - this evil file


    * Fix VLC no start:
    https://bbs.archlinux.org/viewtopic.php?pid=1211362
    pacman -S vlc
    /usr/lib/vlc/vlc-cache-gen -f usr/lib/vlc/plugins
    pacman -S vlc # just to be sure ;)

    * Terminal hack (display beautiful Arch Linux logo on terminal):
    https://aur.archlinux.org/packages/alsi/
    - Download the package
    - makepkg
    - Install alsi
    - In terminal, run: alsi
    - config files are in: ~/.config/alsi/

    * fix truecrypt Dropbox volume mount as read only
    - See log file: jounrnalctl -xn
    - The error is:
    Unable to monitor entire Dropbox folder hierarchy. Please run "echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches" and restart Dropbox to correct the problem.
    - Fix:
    + src: http://paulphilippov.blogspot.sg/2011/02/how-to-solve-dropbox-filesystem.html
    + sudo vi /etc/sysctl.conf
    + add this line at the end:
    fs.inotify.max_user_watches = 100000
    + save the file and reboot. That's it.

    * fix XFCE unable to start properly:
    - https://bbs.archlinux.org/viewtopic.php?id=129274
    - rm -R .gconf .gnome2 .config/xfce4 .config/xfce4-session .cache
    - I did pacman -Syu before and after the installation of xfce, but my problem was after the installation there was a file at /etc/profile.d/locale.sh that was causing a conflict and not allowing the system to update at all. I never noticed it and when it went back to the cursor so fast I automatically assumed everything was up to date and it had nothing to do. I removed the locale.sh file, ran pacman -Syu, and everything updated as it should and xfce works flawlessly now.
    - https://www.archlinux.org/news/initscripts-update-manual-intervention-required/
    - Summary: Please manually delete /etc/profile.d/locale.sh before updating. If . /etc/rc.conf fails in your login shell, please read the full announcement.

    * mount USB flash drive, thumbdrive
    http://mywaytoarch.tumblr.com/post/13111098534/pmount-safe-removal-of-usb-device
    https://aur.archlinux.org/packages.php?ID=54191
    pmount /dev/sdc1

    * Installing teamviewer:
    - Enable multilib: edit file /etc/pacman.conf
    #[multilib]
    Include = /etc/pacman.d/mirrorlist
    - The Teamviewer daemon must be running for Teamviewer 8 to work.
    Execute 'sudo systemctl start teamviewerd' in a terminal.


    * Openbox:
    - config auto start file: vim .config/openbox/autostart
    - obconf : theme configuration
    - Menumaker: sudo pacman -S menumaker
    + mmaker -vf OpenBox3 (this will rescan all the installed application
    and overwrite the existing menu.xml file)
    - tint2 : taskbar
    + https://wiki.archlinux.org/index.php/Tint2
    + tint2conf : GUI configure tint
    + config file: ~/.config/tint2/tint2rc
    - openbox --restart
    - xcompmgr
    + https://wiki.archlinux.org/index.php/Xcompmgr
    + xcompmgr -c &
    - Wallpaper:
    + https://wiki.archlinux.org/index.php/Feh
    + feh --bg-center ~/wallpapers/ArchLinux01.jpg
    - Suspend: pm-suspend
    + Install: sudo pacman -S pm-utils
    + Locking the screen saver on hibernate or suspend
    https://wiki.archlinux.org/index.php/Pm-utils#Locking_the_screen_saver_on_hibernate_or_suspend
    create file: /etc/pm/sleep.d/00screensaver-lock
    #!/bin/sh
    #
    # lock workstation on hibernate or suspend

    username=squallltt # add username here; i.e.: username=foobar
    userhome=/home/$username
    export XAUTHORITY="$userhome/.Xauthority"
    export DISPLAY=":0"

    case "$1" in
    hibernate|suspend)
    su $username -c "/usr/bin/slock" & # or any other such as /usr/bin/xscreensaver-command -lock
    ;;
    thaw|resume)
    ;;
    *) exit $NA
    ;;
    esac
    chmod to 755, and make sure it owns by root:root
    + Arch IRC members say don't use pm-*crap, use this instead:
    systemctl suspend
    . How to lock screen when suspend using the above command
    . Create file slock.service and put it in /etc/systemd/system/
    [Unit]
    Description=Lock X session using slock - Tung

    [Service]
    User=squallltt
    Environment=DISPLAY=:0
    ExecStart=/usr/bin/slock

    [Install]
    WantedBy=sleep.target
    . Then run: sudo systemctl enable slock.service
    . Then everytime we suspend by using: systemctl suspend, it will lock
    the screen as well
    . List systemctl service: systemctl -t service -a | grep slock


    - Adjust keyboard delay:
    + https://wiki.archlinux.org/index.php/Adjusting_typematic_delay_and_rate
    + Put this to ~/.config/openbox/autostart
    xset r rate 200 30
    - Theme:
    + sudo pacman -S lxappearance (this allows us to change gtk application theme)
    + For Qt:
    # https://wiki.archlinux.org/index.php/Uniform_Look_for_QT_and_GTK_Applications#GTK-QT-Engine
    # Install https://wiki.archlinux.org/index.php/Qt
    # add: export GTK2_RC_FILES="$HOME/.gtkrc-2.0" to .xinitrc file
    before start openbox
    # choose GTK+ theme for Qt by: /usr/bin/qtconfig-qt4
    + For transparentcy:
    # https://wiki.archlinux.org/index.php/Per_Application_Transparency
    # devilspie syntax documentation: http://www.foosel.org/linux/devilspie
    # install: sudo pacman -S transset-df
    # transset-df <value> (where value between 0..1)
    # sudo pacman -S devilspie
    # then start: xcompmgr &
    # then start: devilspie -a &
    # configure opacity: vim ~/.devilspie/opacity.ds
    - Control volume from keyboard:
    + https://wiki.archlinux.org/index.php/Openbox#Keyboard_volume_control


    * Graphic driver:
    - Install Bumblebee (for HP laptop - HP Pavilion dm3-1123tx)
    + https://wiki.archlinux.org/index.php/Bumblebee#Installing_Bumblebee_with_Intel_.2F_Nvidia
    + sudo pacman -S intel-dri xf86-video-intel bumblebee nvidia
    + add user to bumblebee group: gpasswd -a squallltt bumblebee
    + start bumblebee automatically at startup: systemctl enable bumblebeed
    + reboot!
    + by doing those previous steps, it fix the error:
    . "EnterVT failed for screen 0"
    . that means: every time a computer is suspended or press Ctrl+Alt+F2
    then the X server is terminated and all other applications are killed
    + The url link also provides a troubleshooting:
    Fatal IO error 11 (Resource temporarily unavailable) on X server
    Change KeepUnusedXServer in /etc/bumblebee/bumblebee.conf from false to true
    - For VirtualBox guest running Arch:
    + if the file ~/.xinitrc has:
    sudo VBoxClient-all &
    sudo systemctl start vboxservice.service
    then need to make sure that we don't need sudo password for
    VBoxClient-all and systemctl (or else, we will receive error
    EnterVT failed for screen 0). Solving by doing this:
    . sudo visudo -f /etc/sudoers
    . add:
    ## Allow sudo for user squallltt and let him run VboxClient-all without requiring a password
    squallltt ALL = PASSWD: ALL, NOPASSWD: /usr/bin/VBoxClient-all, /usr/sbin/ip, /usr/sbin/wpa_supplicant, /usr/sbin/dhcpcd, /usr/bin/truecrypt, /usr/bin/systemctl

    * Disable menu in Virtualbox:
    - VBoxManage setextradata global GUI/Customizations noMenuBar,noStatusBar



    * Vim: write to root permission file in vim
    - add to .vimrc file: cmap w!! w !sudo tee %
    - run: vim /path/to/file as usual
    - then when we want to save, just issue: w!!
    - then press l

    * irssi : IRC
    Source: http://blog.dhampir.no/content/irssi-auto-connect-and-auto-identify
    vim ~/.irssi/config
    There are loads of irssi scripts which do this, but the truth is irssi actually supports these things very well out of the box. Here's how.
    Start up irssi, then:
    /connect irc.freenode.net
    /nick MyIRCNick
    /SERVER ADD -auto -network freenode irc.freenode.net 6667 <password>
    (you may have to shutdown and restart irssi at this point for it to recognize the network name "freenode" in the next step)
    /CHANNEL ADD -auto #ubuntu freenode
    Another method of auto-identifying is seen below. The above is generally preferred.
    /NETWORK ADD -autosendcmd "/^msg NickServ IDENTIFY password;wait 2000" freenode
    Ignore join, part, quit message: add the following to config file:
    ignores = (
    {
    level = "JOINS PARTS QUITS";
    channels = ( "#archlinux", "#vim", "#python" );
    network = "FreeNode";
    },

    {
    level = "MODES";
    channels = ( "&amp;bitlbee" );
    network = "BitlBee";
    }
    );


    * Screen recording:
    gtk-recordmydesktop

    * Mount iso file
    fuseiso -p testimage.iso testimagemountpoint
    to unmount:
    fusermount -u <mountpoint>

    * Fix Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine"
    sudo pacman -S gtk-engines
    sudo pacman -S gtk-engine-murrine


    * Some useful commands:
    - Change resolution:
    + xrandr (to see what resolution available)
    + xrandr --output VGA1 --mode 1920x1080
    - See error log:
    + journalctl -xn
    - See which driver X org is using:
    lspci -nnk | grep -i vga -A3 | grep 'in use'
    - To remove a package and its dependencies which are not required by any other installed package
    pacman -Rs package_name
    sudo pacman -Rs nautilus (remove nautilus)
    - update system
    sudo pacman -Syu
    - list all packages no longer required as dependencies
    sudo pacman -Qdt
    - generate a list of installed packages:
    pacman -Q > pacman.txt
    pacman -Qqe > pacman.txt
    pacman -Qi | sed '/^Name/{ s/ *//; s/^.* //; H;N;d}; /^URL/,/^Build Date/d; /^Install Reason/,/^Description/d; /^ */d;x; s/^.*: ... //; s/Jan/01/; s/Feb/02/; s/Mar/03/; s/Apr/04/; s/May/05/; s/Jun/06/; s/Jul/07/; s/Aug/08/; s/Sep/09/; s/Oct/10/; s/Nov/11/; s/Dec/12/; / [1-9]\{1\} /{ s/[[:digit:]]\{1\}/0&/3 }; s/\(^[[:digit:]][[:digit:]]\) \([[:digit:]][[:digit:]]\) \(.*\) \(....\)/\4-\1-\2 \3/' | sed ' /^[[:alnum:]].*$/ N; s/\n/ /; s/\(^[[:graph:]]*\) \(.*$\)/\2 \1/; /^$/d' > pacman.txt
    pacsysclean > pacman.txt (display installed packages, sorted by size)
    sudo pacman -Qs gnome (search for keyword "gnome" in the installed package)
    - Turn off laptop screen:
    xrandr --output LVDS1 --off
    - Add new user:
    sudo useradd -m -g [initial_group] -G [additional_groups] -s [login_shell] [username]
    example: sudo useradd -m -g users -s /bin/bash newuser
    - Specify user password:
    sudo passwd [username]
    - Add group squallltt:
    sudo groupadd squallltt
    - Add user squallltt to group squallltt
    sudo gpasswd -a squallltt squallltt
    - List file in tar:
    tar -tvf em-4.0.15-lt.tar.gz | more
    - List file in .rar:
    unrar l file.rar
    - List file in .zip:
    unzip -l file.zip
    - Get IP address: ip addr
    - SSH service:
    + https://wiki.archlinux.org/index.php/Secure_Shell
    + Start manually: sudo systemctl start sshd
    + Auto start at startup: sudo systemctl enable sshd.service
    + Enable SSH Deamon socket so the deamon is started on the first
    incoming connection:
    sudo systemctl enable sshd.socket
    - Copy default config file:
    /etc/skel/
    - Transfer file via SSH:
    scp /path/to/my.file me@serverB:/path/to/destination/my.file
    - Copy all content inside a directory including sub-directories:
    cp -R * destination_path
    - Disable synaptics mouse / touch pad mouse:
    synclient TouchpadOff=1
    - Check laptop battery status:
    + sudo pacman -S acpi
    + check battery state: acpi
    + check temperature: acpi -t
    + check AC power status: acpi -a
    + check alltogether: acpi -V
    - Delete all ".tmp" files in the current directory
    find . -name "*.tmp" -exec rm -rfv {} +
    - Delete all conflicted files in Dropbox:
    find . -name "*conflict*" -exec rm -rfv {} +
    - Add to ignore list in SVN:
    svn propedit svn:ignore .
    - Ignore .git directory in SVN repo:
    svn propset svn:ignore .git .
    - Global ignore SVN:
    Edit file ~/.subversion/config
    global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo * .stripped
    - See log files:
    dmesg
    sudo journalctl -xb
    sudo cat /proc/kmsg
    - See memory:
    free -m


    * Change system wide editor to vim:
    - Add this to .bashrc
    # change system-wide editor
    export VISUAL="/usr/bin/vim -p -X"
    export EDITOR=vim


    * VNC:
    - https://wiki.archlinux.org/index.php/Vncserver
    - Install tightvnc:
    sudo pacman -S tightvnc
    - First time setup, run:
    vncserver
    - Edit xstartup file (which functions like an .xinitrc file)
    ~/.vnc/xstartup
    - Start a VNC server:
    vncserver -geometry 1440x900 -alwaysshared -dpi 96 :1
    - Shutdown a vncserver:
    vncserver -kill :1
    - Connect to a vnc server:
    vncviewer 192.168.0.150:1



    * Could not open a connection to your authentication agent.
    - Install openssh: sudo pacman -S openssh
    - This error happen when issue command: ssh-add
    - To fix this, run: eval `ssh-agent`
    - Then run: ssh-add without problem
    - To make it autostart for OpenBox:
    + https://wiki.archlinux.org/index.php/Openbox#SSH_agent_no_longer_starting
    + Put below code to file: vim ~/.config/openbox/environment
    SSHAGENT="/usr/bin/ssh-agent"
    SSHAGENTARGS="-s"
    if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
    eval `$SSHAGENT $SSHAGENTARGS`
    trap "kill $SSH_AGENT_PID" 0
    fi


    * Show/hide menu in Thunar:
    Ctrl + M

    * tool to format USB flash:
    + sudo pacman -S dosfstools

    * Kernel driver not installed (rc=-1908) - VirtualBox Error
    sudo modprobe vboxdrv

    * Enable shared folder in VirtualBox:
    - Run this command in the guest: sudo mount -t vboxsf
    - Don't copy file with this attribute:
    prw-r--r-- 1 squallltt users 0 May 5 12:30 nicklistfifo
    it will hang!
    - (mount -t vboxsf [-o OPTIONS] sharename mountpoint
    (Notes: sharename is optional or same as selected in the VirtualBox-Dialog , mountpoint of the shared directory in the hosts filesystem))

    * Installing yaourt:
    - https://wiki.archlinux.org/index.php/Yaourt
    - Download, makepkg and install package-query
    https://aur.archlinux.org/packages/package-query/
    - Download and install yaourt
    https://aur.archlinux.org/packages/yaourt/
    - Update system including AUR packages:
    yaourt -Syua

    * Tool to check ethernet (LAN cable)
    sudo pacman -S ethtool
    sudo ethtool enp3s0 | grep MDI-X
    sudo ethtool enp3s0

    * Ranger
    Copy default config files when first install
    ranger --copy-config=all

    * Map delete key to delete files to trash, enable delete file from CLI to trash
    - yaourt trash-cli
    - edit file: ~/.config/ranger/rc.conf
    map <DELETE> shell trash-put %s

    * RaspberryPi
    - pacman -S ttf-dejavu
    - resize root partition:
    http://raspberrypi.stackexchange.com/questions/499/how-can-i-resize-my-root-partition
    - WIFI issue:
    + https://github.com/xbianonpi/xbian/issues/217
    + http://raspberrypi.stackexchange.com/questions/1384/how-do-i-disable-suspend-mode/4518#4518
    + while true ; do ./wireless-cron-job.sh ; sleep 15; done
    - Backup:
    sudo dd if=/dev/sdc of=~/raspberrypi_backup_20130514.img
    - Set IP address:
    sudo ifconfig eth0 192.168.0.137
    - Connect Android to Raspberry Pi
    + http://www.raspberrypi.org/phpBB3/viewtopic.php?t=18916&p=331361
    + Create a file usb0 in /etc/network.d/
    CONNECTION="ethernet"
    DESCRIPTION="IP over USB"

    INTERFACE="usb0"

    IP="static"
    IFOPTS="192.168.42.42 netmask 255.255.255.0 network 192.168.42.0 broadcast 192.168.42.255"

    TIMEOUT=10

    #PRE_UP=
    #POST_UP="iptables -t nat -A POSTROUTING -o eth0 -s 192.168.
    + sudo systemctl enable dhcpcd@usb0
    + sudo systemctl enable netcfg@usb0
    + Then when the Pi is just turn on and booting, quickly enable USB tethering on the android, done!
    + Android IP: 192.168.42.129
    + Raspberry IP: 192.168.42.30
    + Enable access internet to the Pi:
    route add default gw 192.168.42.129 usb0
    - Fix /lib/i386-linux-gnu/libpthread.so.0: could not read symbols: Invalid operation when compiling raspi camera:
    + Add -lX11 -lpthread to the linker script



    ***** Testing
    https://aur.archlinux.org/packages/nvidia-173xx-utils/
    https://aur.archlinux.org/packages/nvidia-173xx/
    pacman -S intel-dri xf86-video-intel bumblebee nvidia
    https://wiki.archlinux.org/index.php/Bumblebee#Installing_Bumblebee_with_Intel_.2F_Nvidia
    gpasswd -a $USER bumblebee
    systemctl enable bumblebeed

    Softwares need to install:
    - sudo pacman -S vlc
    - sudo pacman -S truecrypt
    - sudo pacman -S firefox
    - PDF viewer:
    + sudo pacman -S zathura
    + sudo pacman -S zathura-pdf-poppler
    + sudo pacman -S zathura-djvu
    - Dropbox
    - sudo pacman -S chromium
    - Flash plugin for browser:
    + GNU flash: sudo pacman -S gnash-gtk
    + or Adobe Flash: sudo pacman -S flashplugin
    + sudo pacman -S gstreamer0.10-plugins (required for GNU flash to play video)
    - Git: sudo pacman -S git
    - image viewer: sudo pacman -S gpicview
    - awesome image viewer: sudo pacman -S sxiv
    - Screenshooter for xfce4: sudo pacman -S xfce4-screenshooter
    + Settings > Keyboard > Application Shortcuts > Add
    + xfce4-screenshooter assign to PrintScreen key
    - Music player: sudo pacman -S banshee
    - Java Development Kit
    + sudo pacman -S jdk7-openjdk
    - Simple lock screen: sudo pacman -S slock
    + To enable lock screen in XFCE:
    = XFCE Power Manager > Extended > Lock screen when going for suspend/hibernate
    = Session and Startup > Advanced > Lock screen before sleep
    - LaTex:
    sudo pacman -S texlive-most


    pacman -Sy # synchronize repository databases if neccessary
    pacman -Syy # force synchronization of repository databases

    pacman -Ss xyz # search repository database for packages for xyz

    pacman -S xyz # install package xyz
    pacman -Sy xyz # synchronize repo and install xyz
    pacman -Syy xyz # really synchronize repo and install xyz

    pacman -R xyz # remove package xyz but keep its dependencies installed
    pacman -Rs xyz # remove package xyz and all its dependencies (if they are not required by any other package)
    pacman -Rsc xyz # remove package xyz, all its dependencies and packages that depend on the target package

    pacman -Ql xyz # show all files installed by the package xyz
    pacman -Qo /path # find the package which installed the file at /pat