Catalina

Na początku października została wydana nowa wersja macOS o nazwie kodowej Catalina. Zaktualizowałem wczoraj i z okazji tego, że to mój pierwszy upgrade tego systemu, postanowiłem podzielić się wrażeniami z aktualizacji. Notka z tego jak mi się żyje z macOS nadal jest w planach, w trzech słowach: szału nie ma.

Aktualizacja z opóźnieniem, powody były dwa. Po pierwsze, nie ma tam żadnej zmiany, której specjalnie potrzebuję. Z rzeczy, które mnie potencjalnie dotykają ,widzę koniec wsparcia dla aplikacji 32-bit. Także zsh jako domyślna powłoka oraz lepsze security za sprawą dodatkowych uprawnień. Po drugie, czekałem z aktualizacją do Cataliny na zielone światło od zespołu zajmującego się desktopami w firmie, który sprawdzał, czy soft potrzebny do pracy działa poprawnie. Zresztą ogólnie wśród użytkowników maków zauważyłem tendencję do tego, by po wydaniu nowej wersji chwilę poczekać, na ujawnienie ew. błędów i ich poprawki.

Przyznaję, że sama aktualizacja jest zrobiona sprawnie, przebiega czytelnie i dość szybko. Dodatkowo przez większość czasu można normalnie pracować na systemie. Na szybkim łączu i dysku SSD pobranie 8 GB i instalacja zajęły nieco ponad godzinę, co uznaję za dobry wynik. Podobny czas zajmuje zaktualizowanie desktopu z Debianem. Pobranie, rozpakowanie, reboot, dłuższe uruchamianie i… jest. I działa.

Za to po instalacji trochę dzieją się cuda. Po części cuda te wynikają ze zmiany w security – trzeba pozwalać konkretnym programom na konkretne akcje. Ale po części są to zwykłe niedociągnięcia. Przykładowo jedna z pierwszych rzeczy, które mnie spotkały to:

git diff
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Rozumiem, że rozwiązanie jest proste i łatwe do znalezienia. Jednak szukanie po forach rozwiązania problemu dla czegoś, co powinno się zaktualizować wraz z systemem? Przecież pochodzi od tego samego wydawcy i można było przewidzieć, że wymaga aktualizacji, skoro jest zainstalowane? Słabe.

Zapowiadanej zmiany powłoki na zsh jeszcze nie doświadczyłem – okazało się, że dla istniejących kont zostaje bash. Można wymusić zmianę ręcznie, co pewnie za jakiś czas zrobię.

W ogóle model zarządzania aktualizacjami aplikacji (nie mylić z systemem) pod macOS jest fatalny, zbliżony do Windowsowego. Czyli każda aplikacja żyje własnym życiem. Centralny manager pakietów, instalacja z użyciem repozytoriów i aktualizacje w jednym miejscu, znane z Linuksa są dużo łatwiejsze i wygodniejsze.

UPDATE Pochwaliłem za wcześnie. Dziś dostałem info, że dostępna jest aktualizacja do 10.15.1. Zacytuję opis z forum:

macOS Catalina 10.15.1 is a fairly significant update, introducing new emoji characters that were added in iOS 13.2 earlier this week, adding support for the AirPods Pro that are launching tomorrow, and bringing Siri privacy controls to the Mac to allow users to opt out of sharing their Siri recordings with Apple.

Jeśli ktoś przypuszcza, że jest mi to wszystko totalnie obojętne, to ma rację. Aktualizacja emoji zajęła pół godziny. I tym razem uważam, że to trochę sporo, skoro chodzi o takie drobiazgi.

UPDATE Minęło trochę czasu i wyrobiłem sobie ogólnie opinię o aktualizacjach macOS.

Mac i problemy z locale w terminalu – HOWTO

Jak pisałem, częściowo siedzę na macu. Zrozumiałem ludzi, którzy narzekali na obsługę systemu klawiaturą w macach. Wiele skomplikowanych combo na trzy palce. Ale to mogła by być kwestia przyzwyczajenia, zwłaszcza w trybie graficznym. Jeśli jednak ktoś korzysta głównie z terminala, to „fun” jest na zupełnie innym poziomie. Otóż funkcję klawisza Ctrl w macOS „normalnie” (czyli w GUI) spełnia lewy klawisz command, umieszczony tam, gdzie normalnie jest alt. Jeśli jednak przejdziemy do terminala, to w aplikacjach uruchomionych w konsoli żeby zrobić ctrl-c należy wcisnąć… control-c. Tak, jest też osobny klawisz control, którego należy używać w terminalu.

Jeśli jednak korzystamy z VirtualBox i uruchomimy tam Linuksa, to żeby utworzyć nową zakładkę w przeglądarce należy użyć… control-t. W GUI. W tej samej przeglądarce pod macOS używamy command-t. IMO totalna porażka UXowa i coś do czego nie sposób się przyzwyczaić, jeśli ktoś używa systemów na przemian. Można najwyżej nieustannie pamiętać, ale u mnie kończy się to masą missclicków. Zobaczę jeszcze co będzie po podłączeniu zewnętrznej, pecetowej klawiatury, choć to raczej z ciekawości – w końcu to nie stacjonarka. Ew. poszukam jakiegoś software’owego rozwiązania, choć staram się unikać przemapowywania klawiszy jak mogę – ciężko się później korzysta z instrukcji w necie.

Z pozytywów – doceniam działające kopiowanie i wklejanie w terminalu przy pomocy command-c i command-v. Pod Linuksem są na to osobne skróty, choć do tego akurat używałem myszy i zaznacz (i automatycznie skopiuj) i środkowego przycisku do wklejania. Domyślnie działa też – analogicznie jak pod Linuksem – wklejanie zaznaczonego w terminalu tekstu przy pomocy środkowego klawisza myszy. Niestety, jest ograniczone do konsoli, aby skopiować jakieś polecenie z przeglądarki trzeba już używać skrótów klawiszowych.

Wracając do tematu z topica. Po zmianie systemu na macOS i logowaniu przy pomocy ssh na serwery witał mnie komunikat w stylu:

-bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL.UTF-8)

Sprawa jasna, problem ustawieniami locales, tyle, że nigdy mi się nie zdarzał, w systemie (macOS) niby są ustawione. Na chwilę odpuściłem temat, bo mało estetyczny komunikat przy logowaniu to nie dramat, ale szybko okazało się, że potrafi to wpływać – rzecz jasna ujemnie – na działanie poleceń i skryptów. Gdy tylko siadłem do szukania rozwiązania okazało się, że problem jest popularny, wręcz powszechny.

Pierwsze rozwiązanie, które znalazłem, wyglądało elegancko i nawet tłumaczyłoby, czemu nie działa skoro locales są ustawione. Niestety, po włączeniu i otwarciu nowych zakładek w terminalu, a nawet restarcie terminala okazało się, że… nie działa. Teraz widzę, że rozwiązanie jest stare, z 2012, wtedy mi umknęło.

Dopiero tu znalazłem faktyczne rozwiązanie problemu z locale w terminalu pod macOS. Jest proste i sprowadza się do dodania dwóch linii w pliku ~/.bash_profile:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

Powinno działać także z wersją polską, ale nie testowałem – w moim przypadku powyższa wersja jest OK, przynajmniej po pobieżnym sprawdzeniu nie zauważyłem problemów. Ustawienie z pierwszego rozwiązania również zostawiłem.

Pierwszy mac

Drugi raz wpis o podobnym tytule. Poprzedni był primaaprilisowym żartem, ten jest jak najbardziej na serio. Przesiadka z Linuksa nie do końca z własnej woli. Ot, korporacyjne standardy, czyli jedzie walec i równa, ale mniejsza o powody. Ludzie z Linuksami na pokładzie otrzymali propozycję nie do odrzucenia zmiany systemu i/lub sprzętu na coś należycie korporacyjnego. Znaczy Windows lub macOS, co kto lubi. Oddając sprawiedliwość – firma poszła na rękę i zapewniła okres przejściowy i możliwość szybkiego pomacania nowego sprzętu. Przynajmniej w teorii, bo to grubsza zmiana, dostosowanie komputera trochę trwa, a na nadmiar czasu nikt nie narzeka.

Tak czy inaczej – stało się. Wybrałem macOS na laptopie 13″ (co to dokładnie – uzupełnię wkrótce, nie mam go chwilowo pod ręką) z amerykańską klawiaturą (szeroki Enter). Powodów kilka – większość ludzi z którymi mam styczność w firmie korzysta, od Linuksa do Uniksa niby niedaleko (choć już wcześniej wiedziałem, że niektóre specyficzne dla macOS problemy są z commandline’owymi narzędziami są bohatersko rozwiązywane), no i last but not least będzie okazja poznać coś nowego. Wcześniej upewniłem się tylko, że ludzie, którzy się przesiadają jakoś żyją (mapowanie klawiszy, konfiguracja przewijania, soft) i że mysz (zwykły bezprzewodowy Logitech) działa normalnie, bo fanem gładzików nie jestem, delikatnie rzecz ujmując, a brak przycisków myszy zwyczajnie mnie drażni. Tak, wiem, gładzik w macach jest lepszy. Przelotnie korzystałem i nadal nie jestem fanem, lubię pewność sterowania i kliknięć, jaką daje mysz.

Wybrałem słabszą wersję 13″ – niestety 15″, choć ma mocniejsze komponenty, jest dla mnie odrobinę za duży. Już jakiś czas temu stwierdziłem, że optymalny dla mnie rozmiar ekranu w lapku to 14″, jeśli mam korzystać mobilnie. Nie do końca rozumiem, czemu robią właśnie 13″ – porównywałem z Dellem 14″ i mac jest jedynie minimalnie mniejszy.

Trochę żałowałem wyboru jeszcze nim odebrałem sprzęt, bo wkrótce po nim okazało się, że Windows jeszcze mocniej integruje się z Linuksem (WSL2). Nie chciałem ryzykować WSL, z którego wcześniej nie korzystałem, tym bardziej, że znajomi generalnie są z maców zadowoleni. Znaczy z macOS, bo na wbudowane klawiatury klną wszyscy, posiłkując się dołączanymi bezprzewodowymi.

Na wstępie dostałem… przejściówkę z USB-C na USB-A, żebym mógł podłączyć czy to dysk, czy pendrive czy – w moim przypadku – mysz. Pierwsze wrażenie – mieszane. Sprzęt wygląda na bardzo delikatny, ale w dotyku jest solidny i… zaskakująco ciężki. Zdjęć z unboxingu nie mam, zresztą chyba nie podszedłem do niego z należytym szacunkiem. W stosunku do Della, którego miałem wcześniej – po obrysie jak pisałem podobny, różnicę widać gdy się je położy obok siebie, zamknie i spojrzy od frontu. Mac jest znacznie cieńszy, niemal o połowę, choć Dell również z tych cieńszych, z ruchomym elementem dla gniazda ethernet. Trochę sztuka dla sztuki jak dla mnie – pewnie utrudnia to upchanie gratów w środku, chłodzenie, odbija się na solidności itp., a korzyść dla mnie żadna.

Jak widać założyłem kategorię, więc planuję trochę wpisów w temacie, pewnie z czasem pojawi się trochę howto dla przesiadających się. Są pierwsze pozytywy z godzinnego obcowania i podstawowej konfiguracji – o dziwo mimo braku przemapowania klawiszy nie zauważyłem trudności z klawiaturą. Poza brakiem klawiszy funkcyjnych, PgUp/PgDn, backspace i fizycznego Esc, oczywiście. I dopóki nie zacząłem próbować pisać z pl-znakami. Aplikacje umiem instalować, choć o instalacji będzie następnym razem.

Taki nieco zaległy wpis, w zasadzie powinienem już pisać o instalacji, ale ponieważ to mój pierwszy mac…