LoginSignup
3
0

【bottom】【diskonaut】【topgrade】PCマネージメント簡単化ツール

Last updated at Posted at 2023-12-11

/darallium/です!ご覧いただきありがとうございます. 😊

「CLI初心者でも感動するような,それでいて汎用性・拡張性の高いCLIツール」を紹介する7日間の3日目の記事です 🙇

本日は「コンピュータ管理の強化」をテーマに,bottom, diskを紹介します:relaxed:

bottom

image.png

topとかその辺を統合してUIを最強にしたようなツールである.

install

dependencies

  • rust cargo

windows

winget install bottom

linux/mac

# nixos, mac, snap, pacmanのみ
$ <brew/port/nix-env/snap/pacman> install 

#otherwise
$ cargo install bottom --locked

チュートリアル

image.png

bottomであるが,実行ファイル名はbtmであることに注意.

大枠の四角で囲まれた部分をwidgetと呼ぶ.ショートカットキーはwidgetごとに独立している.

全体

  • <H/J/K/L>: widget間を上下左右に移動;シフト押しながらであることに注意

赤矢印のwidget

  • <+/-/=>:横メモリの拡大/縮小/縮尺のリセット

process

  • : 上下移動
  • <c/m/p/n/M/C>: cpu/memory/pid/プロセス名/GPU-ram/GPUでソート
    • : ソート項目選択画面を出す
  • <gg\G>: 上/下の端まで移動
  • </>: 検索;下に出るショートカット通りに打つと検索に縛りがかかる
  • <dd>: プロセスを殺す

disk

  • <d/m/u/n/t/p/r/w>: 名前/マウンテッド/使用/空き容/総使用量/使用/使用
  • : 上下移動
  • <gg\G>: 上/下の端まで移動

コンフィグいじり

bottomは起動時にコンフィグファイルが自動生成される.デフォルトでは,windowsは%appdata%/bottom/bottom.yaml,linux/macOSでは~/.config/bottom/bottom.yamlに生成される.

bottom.yamlでは,カラースキームから表示レイアウト,オプションまですべてを設定できる.デフォルト値を反転してコメントアウトされているので,必要なものをコメントアウトするのが良いだろう.

参考までに,筆者のコンフィグをいかに掲示する.

筆者のコンフィグ [flags] rate = "1s" current_usage = true unnormalized_cpu = true group_processes = false case_sensitive = false whole_word = false regex = false hide_time = false default_widget_type = "proc" hide_table_gap = true battery = true color = "nord" mem_as_value = true tree = true process_command = true

[[row]]
ratio=30
[[row.child]]
type="cpu"
[[row]]
ratio=80
[[row.child]]
ratio=4
type="mem"
[[row.child]]
ratio=3
[[row.child.child]]
type="process"
[[row]]
ratio=30
[[row.child]]
type="net"
[[row.child]]
type="disk"
default=true

[mount_filter]
is_list_ignored = true
list = ["/mnt/.*", "/boot"]
regex = true
case_sensitive = false
whole_word = false

※battery項目は,自力ビルド&ビルド時にbatteryオプションをつけないと利用できないため注意.

diskonaut

image.png

ディスクの使用領域を視覚的に割合で表示し,ディスクの整理のお供になるツールである.余談だが筆者はこれを用いてこのLinuxPCのディスクの6割をクリーンアップした.

installation

dependencies

  • rust / cargo

windows

> cargo install diskonaut

macOS

$ brew install diskonaut

Linux

#dnf yay nixos
$ <dnf/yay/nix-env> install diskonaut

#otherwise
$ cargo install diskonaut

チュートリアル

$ diskonaut /
  • <h/j/k/l>: 項目の移動
  • <-/+>: 拡大縮小
  • <Backspace>: 選択した項目の削除

topgrade

手元の環境を晒したくないので公式より引用.
topgrade_demo.gif

手元の環境のエコシステムをいい感じに検出していい感じにアップグレードしてくれる良い感じのツールである.

anyenvを更新して,pyenvを更新して,apt updateして,cargo updateして,...という煩雑な作業から解放される.

installation

dependencies

  • cargo / rust

macOS

$ brew install topgrade

windows

> scoop install 

linux

# <nix-env/pacman>
$ <nix-env/pacman> install 

# otherwise
$ cargo install topgrade

チュートリアル

$ topgrade --dry-run

--dry-runをつけて実行することで,実際にはアップデートせずに実行できる.

# neovimとpipとdenoを除外して動作
$ topgrade --disable nvim pipx deno

# neovimとdenoだけ動かす
% topgrade --only neovim deno

コンフィグいじる

topgradeの
Windowsの場合は%appdata%/topgrade.toml %appdata%/topgrade/topgrade.tomlLinuxの場合は~/.config/topgrade.toml ~/.config/topgrade/topgrade.toml
のいずれかに配置すると機能する.デフォルトでは浅いほうに生成されるようだ.
ただし,[include]節のpathにファイルを置くか,topgrade.dいかにファイルを分割できるようなので見やすいように配置するとよいだろう.個人的にはパッケージマネージャごとにファイルを作るって全部includeするのが良いのではないかと思っている.

大まかには,[misc]で全体として,またはシステムレベルの設定,[マネージャ]でそのパッケージマネージャの設定である.[commands]で自分の好きな分を用意することもできる.

参考までに筆者のコンフィグも掲載する
[misc]

 sudo_command = "sudo"

display_time = true

assume_yes = true

no_retry = true

disable = ["vim", "deno"]


[git]
max_concurrency = 5

pull_only_repos = [
    # ぷらいばしー
]

pull_predefined = false

pull_arguments = "--rebase --autostash"

push_arguments = "--all"

[windows]
accept_all_updates = false

open_remotes_in_new_terminal = true

[firmware]
upgrade = true

あとがき

なんだかんだシステムの管理はめんどくさい.IaCとかいう概念が生まれるぐらいには多くなると人の手を離れやすい.1つのPCすら管理がめんどくさいのだから当然だろう.しかし,手元の開発環境ぐらいは最もきれいな状態にしておきたいと思ったことはないっだろうか?そんな欲望を手助けするようなソフトウェアを紹介した.

#references

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0