docs/content/troubleshooting.md
It's possible that your graphs don't look great out of the box due to the reliance on braille characters to draw them. This could cause problems if your terminal's font does not support them, or your terminal is not configured properly to draw them.
<figure><figcaption><sub>An example of missing braille fonts in Powershell</sub></figcaption>
Some possible solutions are included below.
One alternative is to use the --dot_marker option to render graph charts using dots instead of the braille characters,
which generally seems better supported out of the box, at the expense of looking less intricate:
<figcaption><sub>Example using <code>btm --dot_marker</code></sub></figcaption>
Another (better) alternative is to install a font that supports braille fonts, and configure your terminal emulator to use it. For example, installing something like UBraille or Iosevka and ensuring your terminal uses it should work.
Solutions mostly depend on what terminal emulator you are using, so unfortunately, I can't give specific instructions. Here are some possible solutions:
gnu-free-fonts if installed, as that is known to cause problems with braille markersttf-symbola or ttf-ubraille for your terminal emulator to try and automatically fall back toU+2800 to U+28FF range.
symbol_map U+2800-U+28FF Symbola.For some more possible solutions:
Note: I would advise backing up your registry beforehand if you aren't sure what you are doing!
Let's say you're installing Iosevka. The steps you can take are:
Install the font itself.
Open the registry editor, which you can do either by Win+R and opening regedit, or just opening it from the Start Menu.
In the registry editor, go to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
Here, add a new String value, and set the Name to a bunch of 0's (e.g. 000 - make sure the name isn't already used), then set the Data to the font name (e.g. Iosevka).
<figcaption><sub>The last entry is the new entry for Iosevka</sub></figcaption>
This is a known issue, some sensors may require admin privileges to get sensor data.
This is a known issue which seems to be with how batteries are being detected on Windows.
This is a known limitation with WSL. Due to how it works, hosts may not expose their temperature sensors and therefore, temperature sensors might be missing.
This is a known limitation with WSL2. Due to how WSL2 works, the two might not match up in terms of reported data.
You may have to run the program with elevated privileges to work around it - for example:
sudo btm
!!! Warning
Please note that you should be certain that you trust any software you grant root privileges.
There are measures taken to try to maximize the amount of information obtained without elevated privileges. For example,
one can modify the instructions found on the [htop wiki](https://github.com/hishamhm/htop/wiki/macOS:-run-without-sudo)
on how to run htop without sudo for bottom. However, **please** understand the potential security risks before doing so!
If your configuration files aren't working, here are a few things to try:
It may be handy to refer to the automatically generated config files or the sample configuration files. The config files also follow the TOML format.
Also make sure your config options are under the right table - for example, to set your temperature type, you must
set it under the [flags] table:
[flags]
temperature_type = "f"
Meanwhile, if you want to set a custom color scheme, it would be under the [styles] table:
[styles.tables.headers]
color="LightBlue"
To help validate your configuration files, there is JSON Schema support if your IDE/editor supports it.
Make sure bottom is reading the right configuration file. By default, bottom looks for config files at these locations:
| OS | Default Config Location |
|---|---|
| macOS | $HOME/Library/Application Support/bottom/bottom.toml |
~/.config/bottom/bottom.toml | |
$XDG_CONFIG_HOME/bottom/bottom.toml | |
| Linux | ~/.config/bottom/bottom.toml |
$XDG_CONFIG_HOME/bottom/bottom.toml | |
| Windows | C:\Users\<USER>\AppData\Roaming\bottom\bottom.toml |
If you want to use a config file in another location, use the --config or -C flags along with the path to the configuration file, like so:
btm -C path_to_config
Make sure bottom is given the correct permissions in order to collect data. Snapcraft explains how to do so, but the TL;DR is:
sudo snap connect bottom:mount-observe
sudo snap connect bottom:hardware-observe
sudo snap connect bottom:system-observe
sudo snap connect bottom:process-control
The underlying interface we use for NVIDIA GPU information, nvml, only works with glibc and does not work with musl at the moment (see this forum post for some more details). As such, bottom may fail to get NVIDIA GPU information when using a musl-based binary until this is resolved. This applies to Linux and Windows from my understanding.
To resolve this, use glibc-based binary builds if possible (e.g. the gnu binaries/non-musl packages in releases).
If you're still having issues, feel free to open a discussion question about it, and I (or others) can try to help.