원문 보기: https://dawoum.duckdns.org/wiki/Bottom_(software)
Bottom은 터미널에서 사용하도록 설계된 고도로 사용자 정의 가능한 크로스 플랫폼 그래픽 실시간 프로세스와 시스템 모니터입니다. 그것은 gtop, gotop, 및 htop과 같은 도구에 의해 영감을 받았습니다. Bottom은 러스트 프로그래밍 언어로 작성된 오픈-소스 응용 프로그램입니다.
Bottom은 공식적으로 다음 운영 시스템과 해당 아키텍처를 지원합니다:
- macOS (x86_64, aarch64)
- Linux (x86_64, i686, aarch64)
- Windows (x86_64, i686)
또한, 비공식적으로 지원되고 컴파일/작동할 수 있는 플랫폼의 일부에 대한 비포괄적인 목록은 다음과 같습니다:
- FreeBSD (x86_64)
- Linux (armv6, armv7, powerpc64le, riscv64gc)
- Android (arm64)
Installation
설치와 관련하여 개발자가 제공하는 다양한 방법이 있습니다.
게다가, 개발자가 제공하는 데비안 패키지도 존재합니다.
어쨌든, 데비안 저장소에서 패키지가 제공되지 않고, 개발자가 제공하는 패키지가 동작하지 않으면, 패키지를 제작할 수 있습니다.
데비안 패키지 제작에서, cargo-deb를 사용할 수 있지만, 라이선스 파일이나 자동 완성 파일 등을 추가하기 위해, Building binary deb packages를 이용할 수 있습니다.
이때, 아치 패키지 제작 파일을 이용할 수 있습니다:
이제, 소스를 가져와서 제작을 시작합니다:
- git clone --recurse-submodules --depth 1 https://github.com/ClementTsang/bottom
- cd bottom
- BTM_GENERATE=true cargo build --release --features deploy
- gvim bottom.install
#!/bin/bash
pkgname=bottom
pkgdir=bottom_0.11.0-1_all
# binary
install -vDm755 -t "$pkgdir/usr/bin" target/release/btm
# license
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
# documentation
install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" *.md
cp -vr docs sample_configs "$pkgdir/usr/share/doc/$pkgname"
rm -f "$pkgdir/usr/share/doc/$pkgname/docs/.gitignore"
cd target/tmp/bottom
# man page
install -vDm644 -t "$pkgdir/usr/share/man/man1" manpage/btm.1
# completions
install -Dm644 completion/_btm "$pkgdir/usr/share/zsh/site-functions/_btm"
install -Dm644 completion/btm.bash "$pkgdir/usr/share/bash-completion/completions/btm"
install -Dm644 completion/btm.fish "$pkgdir/usr/share/fish/vendor_completions.d/btm.fish"
cd -
mkdir -p "$pkgdir/DEBIAN/"
다음으로 데비안 control 파일을 적절히 만들고, 패키지를 묶습니다.
- gvim bottom_0.11.0-1_all/DEBIAN/control
- dpkg-deb --build --root-owner-group bottom_0.11.0-1_all
- cd ..
- sudo dpkg -i bottom_0.11.0-1_all.deb
Configurations
데비안 설정 파일은 다른 파일과 마찬가지로 $HOME/.config/bottom/bottom.toml입니다.
이 파일은 설치 시에 /usr/share/doc/bottom/sample_configs/default_config.toml 파일을 복사한 것이며, 다른 파일로는 같은 디렉토리에 demo_config.toml 파일을 참조할 수 있습니다.
어쨌든, default_config.toml 파일은 이미 설정과 관련된 부분이 주석 처리되어 있기 때문에 필요에 따라 해당 부분을 주석 해제해서 사용할 수 있습니다.
Keybindings
실행 후에, ?를 눌러서 키보드 단축키를 확인할 수 있습니다.
Features
- Graphical Visualization Widgets: CPU 사용량, RAM과 스왑 사용량, 및 시간 경과에 따른 네트워크 I/O 사용량을 추적하는 시각적으로 매력적인 그래픽 위젯을 제공합니다. 이들 위젯은 특정 시간 간격에 초점을 맞추기 위해 확대와 축소를 지원합니다.
- Informative Widgets: 디스크 용량과 사용량, 온도 센서, 및 배터리 사용량에 대한 실시간 정보를 표시하는 위젯을 제공합니다.
- Advanced Process Management: 전용 프로세스 위젯을 사용하면 사용자가 실행 중인 프로세스에 대한 정보를 보고, 정렬하고, 검색할 수 있습니다. 역시 킬 신호를 보내고 계층적 트리 구조에서 프로세스를 보는 것도 지원합니다.
- Cross-Platform Compatibility: Linux, macOS, 및 Windows 운영 시스템에서 원활하게 실행됩니다.
- Customizability: 명령-줄 인수와 구성 파일을 통해 광범위한 사용자 지정 옵션을 제공합니다. 사용자는 테마를 개인화하고, 위젯 동작을 수정하고, 위젯 레이아웃을 조정하고, 위젯 항목을 필터링할 수 있습니다.
- Additional Modes: htop에서 영감을 받은 기본 모드와 자세한 분석을 위해 단일 위젯에 초점을 맞춘 확장 모드가 포함되어 있습니다.
Screenshots