ArchLinux Notes
Useful packages
archey3 - say no more
i3/i3status/i3lock - personal preference, I like the window tiling
feh - image viewer
gnome-screenshot - basic screenshot (no gnome dependencies)
foxitreader - only use it for annotating pdf files, should use an alternative
screen - switch between terminal screens, like tabbing but better. Stop using haha.
bash-completion - attempts to complete bash commands!
pkgfile - attempts to find the command/package if
Command not found
- combine with thebashrc
to be useful
Many more but sometimes I forget about these packages so I listed them here.
Miscellaneous:
Fonts
Arch Linux gives me so much pain with fonts - especially with your configuration changes due to 'something'.
User config is in
~/.config/fontconfig/fonts.conf
System wide is elsewhere and is usually overwritten.
GTK
If you're using GTK themes for Chromium/Firefox for example, they have their own default fonts - you need to change below!.
You may have versions
2.0
and3.0
installed, edit files:/usr/share/gtk-2.0/gtkrc
/usr/share/gtk-3.0/settings.ini
GTK+ 2
# ~/.gtkrc-2.0
gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "DejaVu Sans 11"
GTK+ 3
# $XDG_CONFIG_HOME/gtk-3.0/settings.ini
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = DejaVu Sans 11
Look out for
So it took me a while why Chromium didn't default to
DejaVu Sans
despite what I had set:fontconfig
matched the correct family names.I later attempted to default to
DejaVu Sans
without font family matching, this causedmonospace
fonts to not render e.g. code blocks were inSans
font...
Chromium Settings had
DejaVu Sans
set by default.
Make sure to check if you're using a
GTK
orGNOME
theme and what its font defaults are.
Installing on a VM
For VMware workstation, some has documented the steps well.
Change the boot options on the VM to EFI before booting Follow this guide - installing ArchLinux on VMware workstation
Pay close attention when making the partition types: Microsoft Basic Data and Linux Filesystem
Before executing
pacstrap
- remember to update your mirrorlist with a pacman mirrorlist generator
VMware Tools
Useful for input peripherals and having the screen resolution auto adjust.
Windows resizing
# install open-vm-tools and not the official tools
pacman -S open-vm-tools
# some reports necessary
pacman -S gtkmm3
# potentially others
pacman -S gtk2 gtkmm
# check status vmtoolsd is enabled and running
systemctl enable vmtoolsd
systemctl start vmtoolsd
Last resort
Edit the mkinitcpio.conf
file:
/etc/mkinitcpio.conf
MODULES="vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmwgfx"
And then run:
mkinitcpio -p linux
reboot
Installation tips
A few issues I had when installing Arch Linux for the ASUS Zenbook UX303LB-C4028H
Sorry for those thinking this was an installation guide - I didn't doc my steps before when I had so many issues with the official guide.
Partitioning
When partitioning with
fdisk -l
fdisk /dev/sda/
Don't include the number!
When partitioning with
cfdisk
Pay attention to the partition types as well
When partitioning an EFI type, use:
mkfs.fat -F32 /dev/sdb1
Getting some GUI
Don't we all want this...
pacman -S xorg-server
# to use startx
pacman -S xorg-xinit
# if you have command not found errors
pacman -S xterm
pacman -S i3-wm i3status dmenu
# if you don't have any fonts installed - i3 might look weird
pacman -S ttf-dejavu
# start xorg server
startx /usr/bin/i3
Configuring X11
# if it doesn't exist
cp /etc/X11/xinit/xinitrc ~/.xinitrc
Autologin
Create a new service file similar to
getty@.service
by copying it to/etc/systemd/system/
cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
You will then have to symlink that
autologin@.service
to the getty service for the tty on which you want to autologin, for example for tty1:ln -s /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
Modify
autologin@.service
and reload daemon files, start service
ExecStart=-/sbin/agetty --autologin gcho300 --noclear -s %I 115200,38400,9600 $TERM
systemctl daemon-reload
systemctl start getty@tty1.service
Somewhere an argument isn't happy
Auto
startx
for tty1 in~/.bash_profile
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx /usr/bin/i3
fi
Hotkey issues for laptops
Install
acpilight
from AURNot all the steps, it you're using
i3
as a WM, use itsbindsym
features to adjustsys/proc
Using
i3
, you can use theirbindsym
Actually the latest updates seems to have fixed the brightness keys!!xbacklight
can be used to adjust them manually
Basics
sudo wifi-menu -o
# generate profile to /etc/netctl
# and hash the password
xrandr
Set the resolutions
xrandr --output HDMI1 --mode 1920x1080_60.00
xrandr --output HDMI1 --mode 1920x1080 --rate 60
# don't attempt to turn off a laptop screen...
dotfiles
/etc/bash.bashrc
initializes variables for interactive shells only. It also runs scripts but (as its name implies) is Bash specific./etc/environment
is used by thePAM-env
module and is agnostic to login/non-login, interactive/non-interactive and also Bash/non-Bash, so scripting or glob expansion cannot be used. The file only accepts variable=value pairs.
.bash_profile
Bash is invoked as a login shell, it reads
/etc/profile
first, then others like.bash_profile
,.bash_login
Now
.bash_profile
is useful for:If you want specific programs to run at the login shell and not every time you run
bash
Transient settings and aliases/functions which are not inherited are put in
.bashrc
so that they can be re-read by every new interactive shell.Place
env
variables here, they will be inherited by child processes of fork() from the initialBASH
UNSW
netctl
Problems connecting to
uniwide
andeduroam
with their auth methods - this is when I wished I still ran Linux Mint!
Description='UNSW WIFI Uniwide'
Interface=wlp2s0
Connection=wireless
Security=wpa-configsection
ESSID=uniwide
IP=dhcp
WPAConfigSection=(
'ssid="uniwide"'
'key_mgmt=WPA-EAP'
'eap=PEAP'
'pairwise=TKIP CCMP'
'phase2="auth=MSCHAPV2"'
'identity="z1234567"'
'password="pass"'
)
Last updated