Go to site menu

Linux reference

Window manager shortcuts

Volume controls (in ⌘+V)

Use the left and right arrows to switch between channels, and use the up and down arrows to increase or decrease the volume of that channel. Press m on the keyboard to mute or unmute the current channel, a little MM will show at the bottom of a muted channel where the level would normally display.

Or just use the volume shortcuts on the keyboard.

Running commands

To run a command with administrator privileges, prepend the command with sudo. For example, to run pacman -S krita as an administrator you'd run sudo pacman -S krita. You'll only ever need to do this with pacman, I'm pretty sure. Running random commands with sudo can be iffy, because the blast radius for over-enthusiastic commands is a lot larger when you give then admin privileges.

Running a command in the terminal is the same thing as double-clicking on a program icon to run it, except that we're able to provide extra options to change how the program runs. For example, running firefox would just launch firefox normally, but running firefox breadpunk.club would launch firefox and immediately open a tab to https://breadpunk.club.

Wifi networks

To list all available networks, run networks in a terminal. If one of the networks has a > to the left, it means that you're currently connected to that network. You can also see that you're connected to a network if the top bar has an IP address in the [wifi --] bit.

TODO: We can change the IP address in the top bar to be a network name instead, depending on which is more useful.

To disconnect from the current network, run disconnect in a terminal.

To connect to a network, type connect "{networkname}" in a terminal. You'll be asked for the network password if you've never connected to that network before.

Using the package manager

The package manager, pacman, is used to install and uninstall programs from the repositories. The repositories are a big collection of curated, ready-to-install, free software.

pacman has a very terse syntax, which can look quite cryptic at first. When telling pacman to do something, we supply a dash followed by an upper-case letter that determines the main action, and optionally one or more lower-case letters that provide additional instructions.

To install a package we use sudo pacman -S {packagename}. If you have any issues, run sudo pacman -Syu and try again. The y tells pacman to re-download the big index that lists every package that exists, which is necessary when the packages in the repositories are changed or updated. The u tells pacman to update all of the packages that you've got installed, which is necessary if the package you're trying to install wants to pull in, say, version 2.5 of a dependancy package, but another program that you've already got installed relies on version 2.4 of that package.

To search through the list of all the packages that we could install, we use pacman -Ss {searchterms}. This will list all packages that contain the search terms in their name or description. The list of package names will look like extra/gnome-sudoku, where extra is the name of the repository that it lives in and gnome-sudoku is the actual package name. To install it, you'd run sudo pacman -S gnome-sudoku.

To uninstall a package, we use sudo pacman -Rs {packagename}. The -R tells pacman to uninstall a package, and the s tells pacman to also uninstall any newly-orphaned dependancy packages.

To see a list of all the files that were installed by a package, we use pacman -Ql {packagename}. The -Q tells pacman to query your installed packages, and the l tells pacman to list files from those installed packages. Any files that look like /usr/bin/{filename} are programs that you can run. For example, seeing a file /usr/bin/vlc would mean that you can type vlc into the terminal to run it. Sometimes a package has a different name to the program it installs, which is why we need to do this sometimes.

TODO: Ben should probably just wrap that whole -Ql thing into a lil' script, so that you can just type huh {packagename} to get a clear list of program names that the package installed.