xmtop/README.md
寻觅 03f5163ccf
Some checks failed
Create pre-release / build (push) Has been cancelled
[文档] 更新说明文档
2024-07-17 15:33:14 +08:00

119 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div align="center">
<img src="./assets/logo/logo.png" width="20%" />
![](https://img.shields.io/github/v/release/xxxserxxx/gotop?display_name=tag&sort=semver)
</div>
<br><br>
一个基于终端的图形活动监视器, 基于[xmtop](https://github.com/xxxserxxx/gotop) 使用Go语言编写
看看 [更新日志](/更新日志.md) 最新版本都带来那些变化
<img src="./assets/screenshots/demo.gif" />
</div>
## 安装
目前xmtop主要适配 龙架构 和 x86架构 的linux系统
如果您手动安装xmtop或者您下载或创建新的布局或配色方案则需要将布局文件放在xmtop可以找到的地方。要查看xmtop查找文件的目录列表请运行`xmtop -h`。第一个目录始终是运行xmtop的目录。
- **二进制安装**:
```
wget
```
### 控制台(Console)用
xmtop需要一些特殊符合和Unicode代码点的字体一些发行版不提供此功能。在xmtop存储库中有一种字体使用此字体可能会改善xmtop在终端中的呈现方式。使用方法如下
```shell
curl -O -L https://raw.githubusercontent.com/xxxserxxx/gotop/master/fonts/Lat15-VGA16-braille.psf
setfont Lat15-VGA16-braille.psf
```
### 编译
xmtop需要使用go1.21或以后的版本编译
```shell
git clone ssh://git@gitea.whlug.cn:33262/LK/xmtop.git && cd xmtop
# This ugly SOB gets a usable version from the git tag list
# 这个丑陋的SOB从git标签列表中获取可用版本
VERS="$(git tag -l --sort=-v:refname | sed 's/v\([^-].*\)/\1/g' | head -1 | tr -d '-' ).$(git describe --long --tags | sed 's/\([^-].*\)-\([0-9]*\)-\(g.*\)/r\2.\3/g' | tr -d '-')"
DAT=$(date +%Y%m%dT%H%M%S)
go build -o gotop \
-ldflags "-X main.Version=v${VERS} -X main.BuildDate=${DAT}" \
./cmd/gotop
```
如果您想在Linux上尽可能压缩可执行文件请将`ldflags`行更改为:
```
-ldflags "-X main.Version=v${VERS} -X main.BuildDate=${DAT} -extldflags '-s -w'" \
```
编译完成后将`xmtop`可执行文件移动到$PATH中的某个位置。
如果Go没有安装或者是错误的版本并且您没有root访问权限或不想升级Go则会提供一个脚本来下载Go和gotops源编译gotops然后进行清理。请参见`scripts/install_without_root.sh`。
## 使用
运行`-h`可以获取帮助菜单。其中许多功能都可以通过创建配置文件来配置; 有关更多信息请参见下一节。键绑定可以在xmtop运行时通过按`?`键,或者可以使用`——list keys`命令打印出来。
除了键绑定之外,还可以使用鼠标来控制进程列表:
- 点击选择流程
- 鼠标滚轮滚动浏览进程
有关其他主题的更多信息,请参阅
- [Layouts](./docs/layouts.md)
- [Configuration](./docs/configuration.md)
- [Color schemes](./docs/colorschemes.md)
- [Device filtering](./docs/devices.md)
- [Extensions](./docs/extensions.md)
## 监控远程机器
--------------------------
gotops可以监视在远程计算机上运行的gotops并在单个实例中显示 (某些) 指标。Gottop希望在代理后面或者在安全的内部网内。文档中提供了一个
[远程监控实例](./docs/remote-monitoring.md)
设置
## 截图
#### '-l kitchensink' + colorscheme
<img src="./assets/screenshots/kitchensink.gif" />
#### "-l battery"
<img src="./assets/screenshots/battery.png" />
#### "-l minimal"
<img src="./assets/screenshots/minimal.png" />
#### Custom (layouts/procs)
<img src="./assets/screenshots/procs.png" />
## Built With
- [gizak/termui](https://github.com/gizak/termui)
- [nsf/termbox](https://github.com/nsf/termbox-go)
- [exrook/drawille-go](https://github.com/exrook/drawille-go)
- [shirou/gopsutil](https://github.com/shirou/gopsutil)
- [goreleaser/nfpm](https://github.com/goreleaser/nfpm)
- [distatus/battery](https://github.com/distatus/battery)
- [VictoriaMetrics/metrics](https://github.com/VictoriaMetrics/metrics) 看看这个!该API干净、优雅引入的间接依赖比Prometheus客户端少得多并且将二进制文件的大小减少了50%。
- [lingo](https://github.com/xxxserxxx/lingo) 基于 [jdkeke142's](https://github.com/jdkeke142/lingo-toml) 派生于 [kortemy's](https://github.com/kortemy/lingo) 的lingo.
## 项目历史
gotop的最初作者在Rust中启动了一个名为[ytop](https://github.com/cjbassi/ytop)的新工具并弃用了他的Go版本。这个项目是基于[gotop项目的xxxserxxx分支](https://github.com/xxxserxxx/gotop)制作的。主要目的是用来优化龙架构的使用体验和添加更丰富的功能。