Interfaces Audio Devices When using various Linux Distributions, you may (or may not) run into some issues with audio devices. See some of the configs, logs, and commands below for helpful output in troubleshooting these issues. GUI Tools / Applications If looking for a GUI Tool to select or view output / input audio devices, check out pavucontrol - sudo pacman -Syu pavucontrol pavucontrol will install and open the application, which provides a simple interface for selecting audio devices, and even provides application-level audio control, which enables you to easily specify the devices for individual applications instead of forcing a system-wide audio setting for all running apps. Commands :) Sound Card / Devices Search for all connected audio cards, and output the result. aplay -L | grep :CARD List all connected PCI devices (Sound cards are a PCI device) lspci Audible Sound Test The command below will send static to each speaker connected to the device, sequentially, one at a time. Running this will continually test all speakers on a loop, until the user exits with CTRL+C . speaker-test -D default:PCH -c 8 The output from the above test will look similar to the below, depending on your system and devices. The -D argument specifies the audio device you want to test. This is useful when not entirely sure which device is valid, you can test quickly with this cmd and make changes later in alsamixer or another config tool with the results of your findings. The -c argument specifies the number of audio channels you want to test, for my setup I only have a front left and right speaker, so 2 will suffice. If I had a surround sound with Left / Right speakers in the back and an additional center speaker, we would test over 5 channels. [kapper@kapper-pc ~]$ speaker-test -D default:PCH -c 2 speaker-test 1.1.9 Playback device is default:PCH Stream parameters are 48000Hz, S16_LE, 2 channels Using 16 octaves of pink noise Rate set to 48000Hz (requested 48000Hz) Buffer size range from 2048 to 16384 Period size range from 1024 to 1024 Using max buffer size 16384 Periods = 4 was set period_size = 1024 was set buffer_size = 16384 0 - Front Left 1 - Front Right Time per period = 5.648263 0 - Front Left 1 - Front Right Time per period = 5.973649 0 - Front Left ^CWrite error: -4,Interrupted system call xrun_recovery failed: -4,Interrupted system call Transfer failed: Interrupted system call Sound Mixer / Settings To open alsa mixer, run the below and use the F6 key to ensure the proper device is selected. This tool can also be used to change volume levels, be careful messing with settings you are unfamiliar with, you could easily blow a speaker. At the least, connect a cheaper pair. alsamixer To check device audio settings / levels via CMD - amixer to list devices and settings amixer sset Master unmute to mute the Master device. Master can be changed to any valid device name given from the output of amixer Also, see Advanced Linux Sound Architecture for more information on various documented issues encountered. Disk Management Show all disks, usage, and format type sudo df -T -h Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 930M 4.0K 930M 1% /dev tmpfs tmpfs 191M 1.5M 190M 1% /run /dev/sda1 fuseblk 29G 25G 4.5G 85% /isodevice /dev/loop0 iso9660 1.6G 1.6G 0 100% /cdrom /dev/loop1 squashfs 1.5G 1.5G 0 100% /rofs /cow overlay 22G 17G 4.1G 81% / tmpfs tmpfs 954M 5.2M 949M 1% /dev/shm tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs tmpfs 954M 0 954M 0% /sys/fs/cgroup tmpfs tmpfs 954M 56K 954M 1% /tmp tmpfs tmpfs 191M 8.0K 191M 1% /run/user/999 tmpfs tmpfs 191M 20K 191M 1% /run/user/70000 google-drive-ocamlfuse fuse.google-drive-ocamlfuse 15G 9.1G 6.0G 61% /home/kapper/gdrive Check /var directories for disk usage, sort and limit results to 10 sudo du -ah /var | sort -nr | head -n 10 924K /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_disco-updates_universe_i18n_Translation-en 924K /var/cache/apparmor/26b63962.0/usr.lib.libreoffice.program.soffice.bin 912K /var/lib/texmf/web2c/pdftex/pdflatex.fmt 912K /var/lib/texmf/web2c/pdftex/latex.fmt 888K /var/cache/apt/archives/libgtkmm-3.0-1v5_3.24.0-2_amd64.deb 852K /var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_disco-security_main_i18n_Translation-en 828K /var/lib/app-info/icons/ubuntu-disco-multiverse 824K /var/lib/dpkg/info/linux-headers-5.0.0-38-generic.md5sums 817K /var/lib/dpkg/info/linux-headers-5.0.0-13-generic.md5sums 804K /var/log/syslog.3.gz Scan this disk for usage, sort the results by directories > 1.0GB, show largest 5 results sudo du -xh / | grep '^\S*[0-9\.]\+G' | sort -rn | head -n 5 19G / 9.8G /home/kapper 9.8G /home 6.7G /usr 5.7G /home/kapper/.cache Show the largest 5 files on the system (greater-than 100MB), using block size of 1MB. sudo find / -xdev -type f -size +100M -exec ls -l --block-size=M {} \; | sort -nk 5 -r | head -n 5 -rw-r--r-- 1 kapper kapper 174M Nov 30 06:13 /home/kapper/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/213.5744.254/lib/platform-impl.jar -rw-r--r-- 1 kapper kapper 174M Nov 30 03:14 /home/kapper/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/213.5744.248/lib/platform-impl.jar -rw-r--r-- 1 kapper kapper 174M Nov 27 05:41 /home/kapper/.local/share/JetBrains/Toolbox/apps/WebStorm/ch-0/213.5744.224/lib/platform-impl.jar -rw-r--r-- 1 kapper kapper 174M Nov 23 11:21 /home/kapper/.local/share/JetBrains/Toolbox/apps/datagrip/ch-0/213.5744.178/lib/platform-impl.jar -rw-r--r-- 1 kapper kapper 174M Dec 1 08:26 /home/kapper/.local/share/JetBrains/Toolbox/apps/Goland/ch-0/213.5744.269/lib/platform-impl.jar Show the 10 files consuming the most data on this system sudo find / -printf '%s %p\n'| sort -nr | head -10 140737477885952 /proc/kcore 24244125696 /isodevice/casper-rw 3296907264 /media/lubuntu/37aba99c-8b85-4ddc-92eb-6f50251041e8/encrypted.block 1890263040 /media/lubuntu/37aba99c-8b85-4ddc-92eb-6f50251041e8/home/.shadow/362074638d2508061facd43743c9f08ff66866b8/mount/ASTjdxE5eNzc0F3lkW870B/4HICtmqSNBNCh4oi+U7116prbiG 1657700352 /isodevice/lubuntu-19.04-desktop-amd64.iso 1589342208 /cdrom/casper/filesystem.squashfs 471728128 /media/lubuntu/37aba99c-8b85-4ddc-92eb-6f50251041e8/home/.shadow/362074638d2508061facd43743c9f08ff66866b8/mount/ASTjdxE5eNzc0F3lkW870B/MK3nlrbwT+ZzY8n1fczEqB/Yqt2q,akFt0uJ7WDNJaHdNA0GbkTnhX7kza2zeVnGMI/E1hEyvd6NZ1+JT6hgxI2zA/JekSpYOtLWQPV0kgorVJuFbCcIG/LRriMSOWaunntY7RsNUiUC/x+gYqqpRFtEjXG+JzztvwlQ4LDeq82QY 268435456 /sys/devices/pci0000:00/0000:00:02.0/resource2_wc 268435456 /sys/devices/pci0000:00/0000:00:02.0/resource2 137797651 /home/kapper/.local/share/Steam/ubuntu12_64/libcef.so Print information on all connected block devices sudo lsblk sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 128M 0 part ├─sda2 8:2 0 925.5G 0 part └─sda3 8:3 0 5.9G 0 part Print the UUIDs of all connected block devices, along with some other hardware information sudo blkid /dev/sdb2: UUID="436b3ae3-4301-4b8a-80d3-fdf52c7d7059" TYPE="swap" PARTUUID="590670f6-3b89-41b5-b474-fcd6c048628d" Print information on partitions one all connected block devices sudo parted -l Model: HDD A12345678-B3210 (scsi) Disk /dev/sdb: 2000GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 1000MB 999MB fat32 boot, esp 2 1000MB 17.0GB 16.0GB linux-swap(v1) 3 17.0GB 117GB 100GB ext4 4 117GB 217GB 100GB ext4 5 217GB 427GB 210GB ext4 Print information given a specific block device (partitions) sudo tune2fs -l /dev/sdb3 tune2fs 1.45.4 (23-Sep-2019) Filesystem volume name: Last mounted on: / Filesystem UUID: fagbraetd325t9-6gafdee7-4d2344agdd-93d2-6f4safsafsa5d6 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Filesystem created: Mon Oct 14 12:34:48 2019 Last mount time: Thu Oct 24 12:27:30 2019 Last write time: Thu Oct 24 12:27:30 2019 Mount count: 50 Maximum mount count: -1 Lifetime writes: 50 GB Default directory hash: half_md4 Directory Hash Seed: 4e7gds499c3-8532e0-452356c-432890c-d0fds43e2be81ee Journal backup: inode blocks Checksum type: crc32c Checksum: 0xb054235dk Wireless I didn't end up having luck with iw , but I'm sure it is very useful. It seems I just wasn't able to interactively enter a password, so in the end I couldn't connect to WiFi. Worth looking at iw though. sudo iw dev wlp0s20f3 scan sudo iw dev wlp0s20f3 scan | grep SSI sudo iw dev sudo iw list sudo iw wlp0s20f3 connect "Reed WIFI-2G" See examples in man nmcli-examples . A lot of good information between this page and the SEE ALSO section at the bottom. Network configurations tree /etc/NetworkManager/ . ├── conf.d │ └── default-wifi-powersave-on.conf ├── dispatcher.d │ ├── 01-ifupdown │ ├── 99tlp-rdw-nm │ ├── no-wait.d │ ├── pre-down.d │ └── pre-up.d ├── dnsmasq.d ├── dnsmasq-shared.d ├── NetworkManager.conf └── system-connections ├── Mi Casa.nmconnection ├── FAKE WIFI-2G.nmconnection └── FAKE WIFI-5G.nmconnection 8 directories, 7 files Terminal NetworkManager UI made using curses library can be installed and ran with the following commands sudo apt install network-manager nmtui Gnome NetworkManager GUI for editing wireless and bluetooth connections using a GUI application build for Gnome desktops sudo apt install network-manager-gnome nm-connection-editor Wifi can be toggled with wifi on and wifi off wifi on wifi = on rfkill ID TYPE DEVICE SOFT HARD 0 wlan phy0 unblocked unblocked 1 bluetooth hci0 unblocked unblocked Connecting to WiFi nmcli device wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY * 40:B8:9A:D7:EC:AF FAKE WIFI-2G Infra 1 195 Mbit/s 100 ▂▄▆█ WPA2 40:B8:9A:D7:EC:B0 FAKE WIFI-5G Infra 149 405 Mbit/s 94 ▂▄▆█ WPA2 FA:8F:CA:95:43:9B Living Room Infra 6 65 Mbit/s 75 ▂▄▆_ -- FA:8F:CA:82:9D:D4 Family Room TV.b Infra 6 65 Mbit/s 57 ▂▄▆_ -- 14:ED:BB:1F:44:6D Hi Infra 8 130 Mbit/s 57 ▂▄▆_ WPA2 14:ED:BB:1F:44:76 ATT9eu7M6L Infra 149 540 Mbit/s 44 ▂▄__ WPA2 4C:ED:FB:AD:D8:08 Fluffymarshmellow Infra 1 540 Mbit/s 30 ▂___ WPA2 70:77:81:DE:43:59 WIFIDE4355 Infra 1 195 Mbit/s 24 ▂___ WPA2 70:5A:9E:6C:D4:29 TC8717T23 Infra 6 195 Mbit/s 19 ▂___ WPA2 A8:A7:95:E8:68:82 Wildflower-2G Infra 1 195 Mbit/s 14 ▂___ WPA2 CC:2D:21:57:E0:71 Rudy Infra 6 130 Mbit/s 14 ▂___ WPA1 WPA2 CE:A5:11:3C:E4:C2 Orbi_setup Infra 9 130 Mbit/s 14 ▂___ -- A8:6B:AD:EB:B4:56 Gypsy-2 Infra 6 195 Mbit/s 12 ▂___ WPA1 WPA2 CE:A5:11:3C:EF:8E Orbi_setup Infra 9 130 Mbit/s 12 ▂___ -- Now bring up a connection with the access point we want, and pass the --ask flag to enter a password for authentication. nmcli c up "FAKE WIFI-2G" --ask Passwords or encryption keys are required to access the wireless network 'FAKE WIFI-2G'. Password (802-11-wireless-security.psk): ••••••••••••••••••• Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9) Disable transmission devices with rfctl rfkill list 0: phy0: Wireless LAN Soft blocked: no Hard blocked: no 1: hci0: Bluetooth Soft blocked: yes Hard blocked: no Block WiFi rfkill block wlan Block Bluetooth rfkill block bluetooth Bluetooth You can use bluetoothctl and bluetooth to control bluetooth devices To check the status of bluetooth rfkill ID TYPE DEVICE SOFT HARD 0 wlan phy0 unblocked unblocked 1 bluetooth hci0 blocked unblocked To turn bluetooth on (replace on with off to turn bluetooth off) bluetooth on bluetooth = on kapper@xps:~/dot$ rfkill ID TYPE DEVICE SOFT HARD 0 wlan phy0 unblocked unblocked 1 bluetooth hci0 unblocked unblocked rfkill ID TYPE DEVICE SOFT HARD 0 wlan phy0 unblocked unblocked 1 bluetooth hci0 unblocked unblocked To scan and connect to devices, run bluetoothctl to enter a bluetooth shell bluetoothctl Agent registered [bluetooth]# Now, we can start a scan with scan on [bluetooth]# scan on Discovery started [CHG] Controller AC:74:B1:85:27:98 Discovering: yes [NEW] Device 6A:0C:07:6A:09:EC Inspire HR [NEW] Device 48:FE:3D:EB:C8:C3 48-FE-3D-EB-C8-C3 [NEW] Device EB:28:A2:3E:99:3F One After scanning for some time, type devices to see the devices discovered in a list. While doing this, we can stop the scan so our output isn't messed with. [bluetooth]# scan off Discovery stopped [CHG] Controller AC:74:B1:85:27:98 Discovering: no [CHG] Device 6B:98:C9:C1:86:6C RSSI is nil [CHG] Device 59:A5:50:BA:7E:4E RSSI is nil [CHG] Device 66:05:2D:A4:AF:D2 RSSI is nil [CHG] Device 50:32:37:84:CB:D4 TxPower is nil [CHG] Device 50:32:37:84:CB:D4 RSSI is nil [CHG] Device 03:0D:0F:0F:E9:51 RSSI is nil [CHG] Device 6A:81:34:01:76:C0 RSSI is nil [CHG] Device EB:28:A2:3E:99:3F TxPower is nil [CHG] Device EB:28:A2:3E:99:3F RSSI is nil [CHG] Device 48:FE:3D:EB:C8:C3 RSSI is nil [CHG] Device 6A:0C:07:6A:09:EC RSSI is nil [bluetooth]# devices Device 50:32:37:84:CB:D4 50-32-37-84-CB-D4 Device 90:DD:5D:98:3A:E7 90-DD-5D-98-3A-E7 Device F9:EB:78:07:17:4B Dell Keybd KB7221W Device 28:11:A5:34:08:2C Dumbo Device 34:82:C5:F8:04:F3 Sam Device E6:4E:7A:3F:FD:E7 Dell Mouse MS5320W Device F9:EB:78:08:17:4B Dell Keybd KB7221W Device E6:4E:7A:57:FD:E7 Dell Mouse MS5320W Device F9:EB:78:04:17:4B Dell Keybd Device 6A:0C:07:6A:09:EC Inspire HR Device 48:FE:3D:EB:C8:C3 48-FE-3D-EB-C8-C3 Device EB:28:A2:3E:99:3F One Device 6A:81:34:01:76:C0 Family Room TV Now, if we want to pair, simply type pair followed by the ID for the device [bluetooth]# pair F9:07:78:DA:17:4B Attempting to pair with F9:07:78:DA:17:4B [CHG] Device F9:07:78:DA:17:4B Connected: yes [agent] Passkey: 221692 [NEW] Primary Service (Handle 0x4461) /org/bluez/hci0/dev_F9_07_78_DA_17_4B/service000a 00001801-0000-1000-8000-00805f9b34fb Generic Attribute Profile [NEW] Primary Service (Handle 0x4461) /org/bluez/hci0/dev_F9_07_78_DA_17_4B/service000b 0000180a-0000-1000-8000-00805f9b34fb Device Information [NEW] Characteristic (Handle 0x4461) /org/bluez/hci0/dev_F9_07_78_DA_17_4B/service000b/char000c 00002a29-0000-1000-8000-00805f9b34fb Manufacturer Name String [NEW] Characteristic (Handle 0x4461) /org/bluez/hci0/dev_F9_07_78_DA_17_4B/service000b/char000e 00002a50-0000-1000-8000-00805f9b34fb PnP ID [CHG] Device F9:07:78:DA:17:4B UUIDs: 00001800-0000-1000-8000-00805f9b34fb [CHG] Device F9:07:78:DA:17:4B UUIDs: 00001801-0000-1000-8000-00805f9b34fb [CHG] Device F9:07:78:DA:17:4B UUIDs: 0000180a-0000-1000-8000-00805f9b34fb [CHG] Device F9:07:78:DA:17:4B UUIDs: 0000180f-0000-1000-8000-00805f9b34fb [CHG] Device F9:07:78:DA:17:4B UUIDs: 00001812-0000-1000-8000-00805f9b34fb [CHG] Device F9:07:78:DA:17:4B ServicesResolved: yes [CHG] Device F9:07:78:DA:17:4B Paired: yes Pairing successful [CHG] Device F9:07:78:DA:17:4B Name: Dell Keybd KB7221W [CHG] Device F9:07:78:DA:17:4B Alias: Dell Keybd KB7221W [CHG] Device F9:07:78:DA:17:4B Modalias: usb:v413Cp2511d0001 [Dell Keybd ]# This device just happens to be a keyboard, so I'm asked to type the pascode 221692 on the keyboard, then press enter. Once I do this, the pair is completed and the devices are paired. Next time you enable bluetooth with bluetooth on , and then you turn on this keyboard, the devices will automatically attempt to connect. System Sensors Your system likely has many sensors built in for displaying useful information on internal hardware status. For example, the commands below will help in finding the path to system temperature sensors. user@host ~ $:sensors -f coretemp-isa-0000 Adapter: ISA adapter Package id 0: +80.6°F (high = +176.0°F, crit = +212.0°F) Core 0: +73.4°F (high = +176.0°F, crit = +212.0°F) Core 1: +73.4°F (high = +176.0°F, crit = +212.0°F) Core 2: +69.8°F (high = +176.0°F, crit = +212.0°F) Core 3: +68.0°F (high = +176.0°F, crit = +212.0°F) acpitz-acpi-0 Adapter: ACPI interface temp1: +82.0°F (crit = +221.0°F) temp2: +85.6°F (crit = +221.0°F) nouveau-pci-0100 Adapter: PCI adapter GPU core: +0.97 V (min = +0.60 V, max = +1.27 V) fan1: 691 RPM temp1: +89.6°F (high = +203.0°F, hyst = +37.4°F) (crit = +221.0°F, hyst = +41.0°F) (emerg = +275.0°F, hyst = +41.0°F) power1: 36.13 W (crit = 275.00 mW) asus-isa-0000 Adapter: ISA adapter cpu_fan: 0 RPM We can see that the CPU and GPU temperature sensors are known to our system as coretemp-isa-0000 and nouveau-pci-0100 , respectively. Run the command below to list the system path to all connected temperature devices by name, and cross-check these two outputs to gather the needed information for your sensors. user@host ~ $:for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/n ull || echo $(basename ${i%_*})) $(readlink -f $i)"; done acpitz: temp1 /sys/devices/virtual/thermal/thermal_zone0/hwmon0/temp1_input acpitz: temp2 /sys/devices/virtual/thermal/thermal_zone0/hwmon0/temp2_input coretemp: Package id 0 /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input coretemp: Core 0 /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input coretemp: Core 1 /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input coretemp: Core 2 /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp4_input coretemp: Core 3 /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp5_input nouveau: temp1 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon3/temp1_input Displays When attempting to manage displays, whether its the orientation or enabling / disabling, look to the man pages for xrandr . See the commands below for some examples. # Output information on displays xrandr # List the output names for displays xrandr --output # Move DP-2 to the right of HDMI-1 xrandr --output DP-2 --right-of HDMI-1 `` #### Timezone To see date / time, run `date` To adjust local TZ settings, run `tzselect`. Pay attention to the final output of this tool as it will explain how to make your change permenant. For me, I had to add the following to the end of my `~/.profile` : ```bash TZ='America/New_York'; export TZ Memory Some useful commands to find information on memory usage - # Output various memory details cat /proc/meminfo #Can be used with grep, awk, etc for more specific output.. # ex) Show MiB of memory available grep -w MemAvailable: /proc/meminfo | awk '{print $2 / 1024 "MiB"}' Input Devices Run the following to get information on input devices attached to the machine - # In the output shown below, my keyboard is AT Translated Set 2 keyboard xinput list # Example output: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Elan Touchpad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ TOSHIBA Web Camera - HD: TOSHIB id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)] # Test the device.. xinput test "AT Translated Set 2 keyboard" # Example output: key release 36 key press 40 dkey release 40 key press 50 key release 50 # The output above shows me pressing / releasing keys in real time. # Exit with CTRL-C Power Supplies / AC Adapters # List power supplies, AC adapters - ls -l /sys/class/power_supply/ # Example output... lrwxrwxrwx 1 root root 0 Mar 23 23:02 AC -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/ACPI0003:00/power_supply/AC lrwxrwxrwx 1 root root 0 Mar 23 23:02 BAT0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/PNP0C09:00/PNP0C0A:00/power_supply/BAT0 # Above, my battery is seen as BAT0, my AC port for charging is AC