mirror of
https://github.com/ClementTsang/bottom.git
synced 2026-09-29 14:05:42 +00:00
<!-- Please use this template (unless you have a very good reason not to). PRs that do not use the template may be closed. --> ## Description _A description of the change, what it does, and why it was made. If relevant (e.g. UI changes), **please also provide screenshots/recordings**:_ Rename a bunch of code/struct field names to use "colour". Note this should have no functional change to config settings as I was already aliasing "colour" for "color" settings, this just flips it internally. As for why, I'm Canadian, I grew up spelling it this way, sorry. ## Issue _If applicable, what issue does this address?_ Closes: #<issue-number> ## Testing _If relevant, please state how this was tested (including steps):_ _If this change affects the program, please also indicate which platforms were tested:_ - [ ] _Windows_ - [ ] _macOS (specify version below)_ - [x] _Linux (specify distro below)_ - [ ] _Other (specify below)_ ## Checklist _Ensure **all** of these are met:_ - [x] _If this PR adds or changes a dependency, please justify this in the description_ - [x] _If this is a code change, areas your change affects have been linted using (`cargo fmt`)_ - [x] _If this is a code change, your changes pass `cargo clippy --all -- -D warnings`_ - [x] _If this is a code change, new tests were added if relevant_ - [x] _If this is a code change, your changes pass `cargo test`_ - [x] _The change has been tested to work (see above) and doesn't appear to break other things_ - [x] _Documentation has been updated if needed (`README.md`, help menu, docs, configs, etc.)_ - [x] _There are no merge conflicts_ - [x] _You have reviewed your changes first_ - [x] _The pull request passes the provided CI pipeline_ ## Other _Anything else that maintainers should know about this PR:_
182 lines
8.3 KiB
Markdown
182 lines
8.3 KiB
Markdown
# Troubleshooting/Known Issues
|
|
|
|
## The graph points look broken/strange
|
|
|
|
It's possible that your graphs don't look great out of the box due to the reliance on
|
|
[braille characters](https://en.wikipedia.org/wiki/Braille_Patterns) 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>
|
|
<img src="../assets/screenshots/troubleshooting/no_braille.webp" alt="Example of a terminal with no braille font."/>
|
|
<figcaption><sub>An example of missing braille fonts in Powershell</sub></figcaption>
|
|
</figure>
|
|
|
|
Some possible solutions are included below.
|
|
|
|
### Use dot markers instead
|
|
|
|
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:
|
|
|
|
<figure>
|
|
<img src="../assets/screenshots/troubleshooting/dots.webp" alt="Example of running bottom with the dot marker flag"/>
|
|
<figcaption><sub>Example using <code>btm --dot_marker</code></sub></figcaption>
|
|
</figure>
|
|
|
|
### Use a font that supports braille fonts
|
|
|
|
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](https://yudit.org/download/fonts/UBraille/) or
|
|
[Iosevka](https://github.com/be5invis/Iosevka) and ensuring your terminal uses it should work.
|
|
|
|
#### Linux/macOS/Unix
|
|
|
|
Solutions mostly depend on what terminal emulator you are using, so unfortunately, I can't give specific instructions.
|
|
Here are some possible solutions:
|
|
|
|
- Uninstalling `gnu-free-fonts` if installed, as that is known to cause problems with braille markers
|
|
- Installing a font like `ttf-symbola` or `ttf-ubraille` for your terminal emulator to try and automatically fall back to
|
|
- Configuring your terminal emulator to use specific fonts for the `U+2800` to `U+28FF` range.
|
|
- For example for kitty, do `symbol_map U+2800-U+28FF Symbola`.
|
|
|
|
For some more possible solutions:
|
|
|
|
- Check out [this issue](https://github.com/cjbassi/gotop/issues/18) from gotop about the same issue.
|
|
- See ratatui's [FAQ](https://ratatui.rs/faq/#some-characters-appear-to-be-missing--look-weird) (ratatui is the underlying
|
|
library bottom uses to draw things).
|
|
|
|
#### Windows and Powershell
|
|
|
|
**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](https://github.com/be5invis/Iosevka). The steps you can take are:
|
|
|
|
1. Install the font itself.
|
|
2. Open the registry editor, which you can do either by `Win+R` and opening `regedit`, or just opening it from the Start Menu.
|
|
3. In the registry editor, go to
|
|
|
|
```
|
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
|
|
```
|
|
|
|
4. 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`).
|
|
|
|
<figure>
|
|
<img src="../assets/screenshots/troubleshooting/regedit_fonts.webp" alt="Regedit menu showing how to add a new font for Command Prompt/PowerShell"/>
|
|
<figcaption><sub>The last entry is the new entry for Iosevka</sub></figcaption>
|
|
</figure>
|
|
|
|
5. Then, open the Command Prompt/PowerShell, and right-click on the top bar, and open "Properties":
|
|
|
|
<figure>
|
|
<img src="../assets/screenshots/troubleshooting/cmd_prompt_props.webp" alt="Opening the properties menu in Command Prompt/PowerShell"/>
|
|
</figure>
|
|
|
|
6. From here, go to "Font", and set the font to your new font (so in this example, Iosevka):
|
|
|
|
<figure>
|
|
<img src="../assets/screenshots/troubleshooting/cmd_prompt_font.webp" alt="Setting a new font in Command Prompt/PowerShell"/>
|
|
</figure>
|
|
|
|
## Why can't I see all my temperature sensors on Windows?
|
|
|
|
This is a known issue, some sensors may require admin privileges to get sensor data.
|
|
|
|
## Why don't I see dual batteries on Windows reported separately? (e.g. Thinkpads)
|
|
|
|
This is a known issue which seems to be with how batteries are being detected on Windows.
|
|
|
|
## Why can't I see all my temperature sensors on WSL?
|
|
|
|
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.
|
|
|
|
## Why does WSL2 not match Task Manager?
|
|
|
|
This is a known limitation with WSL2. Due to how WSL2 works, the two might not match
|
|
up in terms of reported data.
|
|
|
|
## Why can't I see all my processes/process data on macOS?
|
|
|
|
You may have to run the program with elevated privileges to work around it - for example:
|
|
|
|
```bash
|
|
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!
|
|
|
|
## My configuration file isn't working
|
|
|
|
If your configuration files aren't working, here are a few things to try:
|
|
|
|
### Check the formatting
|
|
|
|
It may be handy to refer to the automatically generated config files or the
|
|
[sample configuration files](https://github.com/ClementTsang/bottom/tree/main/sample_configs). The config files also
|
|
follow the [TOML](https://toml.io/en/) format.
|
|
|
|
Also make sure your config option settings are in the right location - for example, to set your temperature type, you must
|
|
set it under the `[flags]` table:
|
|
|
|
```toml
|
|
[flags]
|
|
temperature_type = "f"
|
|
```
|
|
|
|
Meanwhile, if you want to set a custom colour or styling scheme, it would be under the `[styles]` table - for example:
|
|
|
|
```toml
|
|
[styles.tables.headers]
|
|
colour = "LightBlue"
|
|
bold = true
|
|
```
|
|
|
|
To help validate your configuration files, there is [JSON Schema](https://json-schema.org/) support if your IDE/editor
|
|
supports it.
|
|
|
|
### Check the configuration file location
|
|
|
|
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`<br/> `~/.config/bottom/bottom.toml` <br/> `$XDG_CONFIG_HOME/bottom/bottom.toml` |
|
|
| Linux | `~/.config/bottom/bottom.toml` <br/> `$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:
|
|
|
|
```bash
|
|
btm -C path_to_config
|
|
```
|
|
|
|
## My installation through snap has some widgets that are blank/show no data
|
|
|
|
Make sure bottom is given the correct permissions in order to collect data. [Snapcraft](https://snapcraft.io/docs/interface-management)
|
|
explains how to do so, but the TL;DR is:
|
|
|
|
```bash
|
|
sudo snap connect bottom:mount-observe
|
|
sudo snap connect bottom:hardware-observe
|
|
sudo snap connect bottom:system-observe
|
|
sudo snap connect bottom:process-control
|
|
```
|
|
|
|
## I don't see any NVIDIA GPU information while using a musl-based binary
|
|
|
|
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](https://forums.developer.nvidia.com/t/provide-driver-for-muslc-to-install-it-in-musl-distros/219586/7) 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](https://github.com/ClementTsang/bottom/releases)).
|
|
|
|
## Still having issues?
|
|
|
|
If you're still having issues, feel free to open a [discussion](https://github.com/ClementTsang/bottom/discussions/new/)
|
|
question about it, and I (or others) can try to help.
|