Sprawdź jak zainstalować SwiftBar i skrypt monitorujący miejsce na dysku macOS. Dane zgodne z Narzędziem dyskowym. Poradnik krok po kroku dla początkujących.
Czy zdarzyło Ci się, że Mac nagle zaczął zwalniać, a Ty nie wiedziałeś ile miejsca zostało na dysku? Zamiast co chwilę otwierać Narzędzie dyskowe, możesz wyświetlić te informacje bezpośrednio w górnym pasku menu — na stałe, odświeżane automatycznie. W tym poradniku pokażę Ci jak to zrobić za darmo, bez instalowania płatnych aplikacji, krok po kroku — nawet jeśli nigdy wcześniej nie pracowałeś/aś z Terminalem.
Co to jest SwiftBar i do czego służy?
SwiftBar to darmowa aplikacja dla macOS, która pozwala umieszczać własne informacje i narzędzia w górnym pasku menu systemu. Działa na zasadzie prostych skryptów — piszesz skrypt powłoki (bash), wskazujesz folder, a SwiftBar wyświetla jego wynik w pasku. Możesz w ten sposób monitorować pogodę, kursy walut, status serwera czy — jak w tym poradniku — zajętość dysku.
SwiftBar jest open source, bezpłatny i działa na każdym Macu z macOS 11 Big Sur lub nowszym.
Wcześniej opisałem jak wyświetlić rozmiar katalogu Lightroom i stale go monitorować na pasku. Teraz zajmiemy się całym dyskiem.
Czego potrzebujesz?
- Mac z systemem macOS 11 Big Sur lub nowszym
- Dostęp do aplikacji Terminal (wbudowana w macOS)
- 15 minut czasu
- Żadnej wiedzy programistycznej — każdy krok jest opisany dokładnie
Krok 1 — Zainstaluj SwiftBar
Przejdź na oficjalną stronę swiftbar.app i pobierz najnowszą wersję aplikacji. Plik będzie miał rozszerzenie .dmg.
- Otwórz pobrany plik
.dmg. - Przeciągnij ikonę SwiftBar do folderu Aplikacje.
- Uruchom SwiftBar z folderu Aplikacje.
- Przy pierwszym uruchomieniu macOS zapyta o pozwolenie — kliknij Otwórz.
SwiftBar zapyta Cię o wybranie folderu na skrypty (plugins folder). Wybierz lub utwórz dowolny folder, np. /Users/TWOJA_NAZWA/swiftbar. Zapamiętaj tę ścieżkę — będzie potrzebna w następnych krokach.
whoami — wyświetli Twoją nazwę użytkownika.Krok 2 — Utwórz folder na skrypty
Jeśli nie masz jeszcze folderu dla SwiftBar, możesz go szybko utworzyć przez Terminal. Otwórz aplikację Terminal (znajdziesz ją w Aplikacje → Narzędzia lub przez Spotlight — naciśnij ⌘ + Spacja i wpisz „Terminal”).
Wpisz poniższe polecenie i naciśnij Enter (zamień TWOJA_NAZWA na swoją nazwę użytkownika):
mkdir -p /Users/TWOJA_NAZWA/swiftbarGotowe — folder został utworzony.
Krok 3 — Pobierz skrypt monitorujący dysk
Poniżej znajdziesz gotowy skrypt. Skopiuj jego zawartość i wklej do dowolnego edytora tekstowego (np. wbudowanego TextEdit — pamiętaj aby ustawić tryb zwykłego tekstu: Format → Stwórz zwykły tekst). Zapisz plik pod nazwą:
disk_usage.10m.shNazwa pliku nie jest przypadkowa — człon .10m. mówi SwiftBar żeby odświeżał skrypt co 10 minut. Możesz zmienić go np. na .5m. (co 5 minut) lub .1h. (co godzinę).
Oto pełna treść skryptu:
#!/bin/bash
# Pobierz dane z diskutil — identycznie jak Narzędzie dyskowe
# Disk Utility = suma Volume Used Space z woluminu System + Data
system_used=$(diskutil info / | grep "Volume Used Space" | grep -o '([0-9]* Bytes)' | grep -o '[0-9]*')
data_used=$( diskutil info /System/Volumes/Data | grep "Volume Used Space" | grep -o '([0-9]* Bytes)' | grep -o '[0-9]*')
total_bytes=$(diskutil info /System/Volumes/Data | grep "Container Total Space"| grep -o '([0-9]* Bytes)' | grep -o '[0-9]*')
free_bytes=$( diskutil info /System/Volumes/Data | grep "Container Free Space" | grep -o '([0-9]* Bytes)' | grep -o '[0-9]*')
used_bytes=$(( system_used + data_used ))
# Przelicz na GB base-10 (jak Narzędzie dyskowe: 1 GB = 1 000 000 000 B)
used_gb=$(awk "BEGIN {printf \"%.2f\", $used_bytes / 1000000000}")
free_gb=$(awk "BEGIN {printf \"%.2f\", $free_bytes / 1000000000}")
total_gb=$(awk "BEGIN {printf \"%.2f\", $total_bytes / 1000000000}")
used_pct=$(awk "BEGIN {printf \"%d\", $used_bytes / $total_bytes * 100}")
# Pasek menu — główna linia
echo "💾 ${used_gb} GB (${free_gb} GB free)"
echo "---"
# Szczegóły w rozwijanym menu
echo "Dysk: APFS Container"
echo "Zajęte: ${used_gb} GB"
echo "Wolne: ${free_gb} GB"
echo "Łącznie: ${total_gb} GB"
echo "Zajętość: ${used_pct}%"
echo "---"
echo "Odśwież | refresh=true"Krok 4 — Skopiuj skrypt do folderu SwiftBar
Otwórz Terminal i wpisz poniższe polecenie (zamień TWOJA_NAZWA na swoją nazwę użytkownika oraz dostosuj ścieżkę do miejsca gdzie zapisałeś plik):
cp ~/Downloads/disk_usage.10m.sh /Users/TWOJA_NAZWA/swiftbar/Krok 5 — Nadaj uprawnienia do wykonania
macOS domyślnie nie pozwala uruchamiać nowych skryptów — trzeba jawnie nadać im uprawnienia. W Terminalu wpisz:
chmod +x /Users/TWOJA_NAZWA/swiftbar/disk_usage.10m.shJeśli chcesz to zrobić jednym poleceniem — przejście do folderu i nadanie uprawnień na raz:
cd /Users/TWOJA_NAZWA/swiftbar && chmod +x disk_usage.10m.shKrok 6 — Odśwież SwiftBar
Kliknij ikonę SwiftBar w górnym pasku menu (lub dowolny plugin SwiftBar) i wybierz Refresh All. Po chwili w pasku powinien pojawić się napis w stylu:
💾 195,60 GB (33,97 GB free)Kliknięcie tej informacji rozwija dodatkowe menu ze szczegółami: zajęte, wolne, łączna pojemność dysku oraz procentowa zajętość.
Dlaczego wyniki są zgodne z Narzędziem dyskowym?
To pytanie, które zadałem sobie podczas pisania tego skryptu — i odpowiedź jest ciekawa. macOS z systemem plików APFS dzieli dysk na wiele oddzielnych woluminów: wolumin systemowy (tylko do odczytu, ok. 12–15 GB) oraz wolumin danych użytkownika. Popularne narzędzie df, z którego korzysta wiele gotowych skryptów, pokazuje tylko jeden z nich — stąd błędne wyniki rzędu kilkunastu GB zamiast rzeczywistych kilkuset.
Skrypt z tego poradnika używa narzędzia diskutil, które odpytuje cały kontener APFS i sumuje zajętość obu woluminów — dokładnie tak jak robi to Narzędzie dyskowe. Dane są przeliczane w systemie dziesiętnym (1 GB = 1 000 000 000 bajtów), zgodnie ze standardem stosowanym przez Apple.
Najczęstsze problemy i rozwiązania
Skrypt nie pojawia się w pasku
Sprawdź czy plik znajduje się w folderze wskazanym podczas konfiguracji SwiftBar oraz czy ma nadane uprawnienia wykonania (chmod +x). Kliknij Refresh All w SwiftBar.
Skrypt pokazuje same zera
Najprawdopodobniej skrypt ma problem z parsowaniem wyniku diskutil. Przetestuj go ręcznie w Terminalu:
bash /Users/TWOJA_NAZWA/swiftbar/disk_usage.10m.shJeśli w Terminalu też są zera, sprawdź wynik polecenia diskutil info / i porównaj czy linie z pojemnością dysku wyglądają tak samo jak opisane w poradniku.
Wartości różnią się od Narzędzia dyskowego o kilka GB
Niewielka różnica (1–3 GB) może wynikać z tego, że dane odświeżają się co 10 minut, a Narzędzie dyskowe pokazuje wartości w czasie rzeczywistym. Duża różnica (15+ GB) sugeruje obecność purgeable space — tymczasowych plików cache, które macOS może zwolnić w razie potrzeby. Narzędzie dyskowe traktuje je jako „wolne”, nasz skrypt — jako „zajęte”. Oba podejścia są poprawne, zależnie od kontekstu.
Podsumowanie
SwiftBar to jedno z tych narzędzi, które po zainstalowaniu nie wyobrażasz sobie życia bez niego. Działa cicho w tle, odświeża dane automatycznie i nie obciąża systemu. Skrypt opisany w tym poradniku daje Ci prawdziwe dane o dysku — zgodne z tym co pokazuje Apple w Narzędziu dyskowym — zawsze pod ręką, jednym spojrzeniem na górny pasek.
Jeśli poradnik był pomocny, podziel się nim ze znajomymi użytkownikami Maca. Masz pytania albo coś nie zadziałało? Napisz w komentarzu — postaram się pomóc.


