Jak mogę ustawić domyślne ustawienia htopa?

46

Czasami muszę sprawdzać zasoby na kilku komputerach w naszych centrach danych w celu uzyskania rekomendacji konsolidacyjnych i tym podobnych. Wolę htop, głównie ze względu na interaktywność i wyświetlacz.

Czy istnieje sposób na domyślne ustawienie niektórych ustawień mojej konfiguracji htop? Na przykład chciałbym zawsze pokazywać średnie obciążenie procesora.

ważna uwaga: ustawienie tego na konkretnych polach nie jest możliwe - szukam może sposobu, aby ustawić to dynamicznie za każdym razem, gdy ssh do tego pola.

Czy to w ogóle jest możliwe?

MrDuk
źródło
1
Czy nie to właśnie pokazują liczby dla średnich obciążeń na górze? Ta odpowiedź wyjaśnia, co one oznaczają.
Anko

Odpowiedzi:

44

htopma ekran konfiguracji, dostępnego za pośrednictwem F2, który pozwala dostosować górną część ekranu, w tym dodawanie lub usuwanie „Load average” pola i ustawienie go za styl (tekst, bar, itp.)

Te wydają się być automatycznie zapisywane w $HOME/.config/htop/htoprc, co ostrzega:

# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.

Tj. Edytuj to na własne ryzyko. Jednak powinieneś być w stanie przenieść go z jednego systemu do drugiego (różnice w wersjach mogą czasami powodować pewien problem).

Możesz także skonfigurować konfigurację, wyjść, a następnie skopiować plik, aby zachować zestaw różnych konfiguracji poprzez zamianę / dowiązanie symboliczne htoprc.

Złotowłosa
źródło
Dzięki. Właśnie ślepo skopiowałem konfigurację htop z dobrze wyglądającego serwera na brzydko wyglądający serwer. Sprawiło, że brzydko wyglądający serwer wyglądał świetnie!
Thamme Gowda,
1
Pamiętaj również, że jeśli utracisz uprawnienia do htoprc, na przykład przez przypadkowe dotknięcie go jako root / sudo, htop nie będzie w stanie zaktualizować tego pliku i po cichu nie zapisze twoich zmian.
Cerin,
@Cerin To jest ważna kwestia - myślę, że byłoby wspaniale, gdyby autor dodał ją do swojej odpowiedzi.
Amr Bekhit,
30

Najprostszym sposobem jest użycie ustawień w programie, a następnie zapisanie i zamknięcie programu za pomocą F10, a nie za pomocą CTRL+ C. Następnym razem możesz zamknąć program tak, jak chcesz.

keiner
źródło
7
TL; DR: Wyjdź z F10, a nie CTRL-C.
camomileCase
Przynajmniej na Linuksie, wyjście z 'Q' również NIE zapisuje twoich zmian ...; (
ljwobker
2
Aby usunąć powiązanie F10 z otwieraniem menu Plik okna terminalu w systemie Ubuntu, w oknie terminalu: Edytuj> Preferencje> Ogólne: odznacz „Włącz klawisz akceleratora menu (domyślnie F10)”
David Oliver,
3

W przypadku dowolnego komputera Mac htopplik konfiguracyjny może znajdować się w jednym z dwóch miejsc:

  1. w podkatalogu config w domu: $HOME/.config/htop/htoprc
  2. prawo w katalogu domowym: $HOME/.htoprc,

Pierwsza opcja ( .config/htop/preferowana jest poniżej - jak wspomniano na stronie podręcznika htopa, a także w moich własnych eksperymentach.

Na MacBooku 2014 2014 wykorzystano drugą lokalizację, podczas gdy na MacBooku 2017 2017 zastosowano pierwszą lokalizację, chociaż w obu przypadkach zainstalowano Homebrewhtop , a oba laptopy (stan na 29.10.17) działają pod macOS 10.12 .6. (dzięki @iconoclast za wskazanie rozbieżności)

W obu przypadkach można użyć tego samego formatu pliku konfiguracyjnego, aw obu przypadkach zaleca się zmianę dowolnych ustawień poprzez htopwłasną konfigurację zamiast bezpośredniej edycji pliku konfiguracyjnego, ponieważ jest on generowany automatycznie.

TCAllen07
źródło
na moim Macu jest to$HOME/.config/htop/htoprc
iconoclast
Tak, to samo dotyczy mojej nowej MBP. Nie jestem pewien, dlaczego ta różnica istnieje, ale zaktualizowałem odpowiedź, aby ją odzwierciedlić. Dzięki za notatkę!
TCAllen07
1

Miałem tylko ten sam problem, ale zamknięcie htopa za pomocą F10 nie pomogło zapisać ustawień. Wyglądało na to, że ten użytkownik ~/.confignależy do roota.

Aby to sprawdzić:

$user@host:~$ ls -hal ~ |grep config

drwx------  4 root root 4.0K Mar 25  2015 .config

Jeśli zawiera listę użytkowników innych niż ty, powinieneś chownkatalog, aby Twój htop mógł w nim pisać:

sudo chown user:mygroup ~/.config

(zamień „user” i „mygroup” na swoją nazwę użytkownika i grupę)

Istnieje „bardziej miękki” sposób, gdy dajesz sobie prawo do pisania, ale nie zmieniasz właściciela. Ale nie mogę sobie wyobrazić, dlaczego nie należy ich posiadać ~/.config. Powiedz mi, jeśli się mylę.

Nick Volynkin
źródło
Też się z tym spotkałem. Wiem, że sudo htopw pewnym momencie uruchomiłem , co prawdopodobnie zakończyło się zapisaniem pliku konfiguracyjnego z użytkownikiem i grupą roota.
1

Okej, chociaż ten post może być stary, miałem ten sam problem.

Skorzystaj z ustawień htop, które pytający już zrobił, ale ustawienia nie były zapisywane po SSH, co jest prawdopodobne, ponieważ nie ma htoprc. Po utworzeniu, htop użyje go do zapisania i załadowania ustawień, zamiast domyślnego ustawienia podstawowego.

Po przeczytaniu odpowiedzi @goldilocks i @ TCAllen07 starałem się sprawdzić, czy w ogóle mam htoprc. Nie było go. Tak więc, mimo że posiadałem katalog config od instalacji, jeśli zmieniłem konfigurację, ustawienia zostałyby utracone. Aby go rozwiązać, po prostu utworzyłem plik htoprc w jego katalogu touch .config/htop/htoprc, następnie edytowałem ustawienia z poziomu interfejsu htop i cat .config/htop/htoprcsprawdzałem, czy zmiany zostały zapisane.

System operacyjny: Fedora 25 LK: 4.9.9-200.fc25.x86_64

Th'Ink-King
źródło
@ Fox odpowiedź jest podana. To też skorzystaj z konfiguracji htop, co pytał już zrobił, ale ustawienia nie były zapisywane w SSH, co jest prawdopodobne, ponieważ nie ma htoprc. Po utworzeniu, htop użyje go do zapisania i załadowania ustawień, zamiast domyślnego ustawienia podstawowego.
Th'Ink-King
1

Możesz także użyć folderu współdzielonego przez wszystkie twoje maszyny. Powiedzmy, że /media/sharedjest zamontowany jednakowo na wszystkich maszynach. Można ustawić go jako $HOMEFOR htop, wtedy zapisać i załadować tam swoją konfigurację.

HOME=/media/shared htop

Rozpocznie htopsię to od czystej konfiguracji. Skonfiguruj i zamknij za htoppomocą F10(lub q). Możesz także skopiować bieżącą konfigurację:

cp ~/.config/htop/htoprc /media/shared/.config/htop/htoprc

Teraz uruchom htopna innych maszynach:

HOME=/media/shared htop

Należy go skonfigurować tak, jak na poprzednim komputerze. :)

hzpc-joostk
źródło
1
Nie bądź „mądry” i ustawiaj $HOMEglobalnie w sesji powłoki, robiąc export HOME=/media/shared. Może to powodować bóle głowy. :-)
hzpc-joostk
1

Zresetuj ustawienia w pliku konfiguracyjnym

Są to domyślne ustawienia htopa w systemie Ubuntu 18.04. Zastąp zawartość pliku $HOME/.config/htop/htoprci wszystko powinno być w porządku. Najpierw wykonaj kopię zapasową.

# Beware! This file is rewritten by htop when settings are changed in the interface.
# # The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1 
sort_key=1
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
delay=15
left_meters=LeftCPUs Memory Swap 
left_meter_modes=1 1 1 
right_meters=RightCPUs Tasks LoadAverage Uptime 
right_meter_modes=1 2 2 2 
Stefan
źródło