💾 Archived View for breadpunk.club › ~toast › linux_reference.gmi captured on 2023-01-29 at 03:17:53. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
████████╗ ██████╗ █████╗ ███████╗████████╗ ╚══██╔══╝██╔═══██╗██╔══██╗██╔════╝╚══██╔══╝ ██║ ██║ ██║███████║███████╗ ██║ ██║ ██║ ██║██╔══██║╚════██║ ██║ ██║ ╚██████╔╝██║ ██║███████║ ██║ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═╝
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.
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`.
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.
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.