OS X

Konfigurujemy serwer SFTP na Macu (OS X 10.9) część 2/3

W poprzednim odcinku dowiedzieliście się jak w ogóle uruchomić serwer SFTP w OS X. Jest to wręcz trywialne, ale taki dostęp – w domyślnej konfiguracji – ma swoje wady. Najważniejszą z nich jest to, że zdalny użytkownik może w prosty sposób przeglądać zawartość folderów systemowych. Nie może nic usuwać ani dodawać, ale po co w ogóle dawać możliwość wyświetlania zawartości folderów?

Zróbmy taki przykład. Zakładamy nowego użytkownika (Preferencje systemowe > Użytkownicy i grupy), prawym klawiszem myszy wybieramy na nim Opcje zaawansowane…

Opcje zaawansowane uzytkownika Intruz

Mój użytkownik nazywa się „Intruz”. Zmieniłem jego Katalog domowy, podając ścieżkę do folderu Publiczne, przynależącego do mojego konta. Ponadto wybrałem inną Powłokę logowania (domyślnie jest to bash, ja ustawiłem sh – co powinno zawęzić możliwości ew. „grzebactwa” ze strony Intruza). Oczywiście, należy jeszcze uaktywnić opcję Zdalne logowanie w Preferencje systemowe > Udostępnianie jeśli tego wcześniej nie zrobiliśmy i/lub dodać tego nowego użytkownika do grupy użytkowników, posiadających możliwość zdalnego dostępu – o ile nie daliśmy takich uprawnień wszystkim.

Sprawdźmy więc jak wygląda kwestia dostępu z poziomu sftp:

iMadlo:~ marek$ sftp intruz@192.168.1.14
Password:
Connected to 192.168.1.14.
sftp> ls
Drop Box
sftp> pwd
Remote working directory: /Users/marek/Public
sftp>

Jak zauważyliście, połączyłem się w Terminalu jako Intruz do swojego komputera. Po podaniu hasła serwer SFTP autoryzował dostęp. Komendą ls wyświetlam zawartość folderu, natomiast poleceniem pwd weryfikuję ścieżkę do określonego folderu roboczego. Wszystko się zgadza, jest to folder Publiczne, który określiłem w opcjach zaawansowanych użytkownika Intruz.

Niestety mogę śmiało zmienić ścieżkę i zobaczyć np. zawartość folderów systemowych:

sftp> cd /
sftp> ls
(null)-in             (null)-out            Applications
Incompatible Software Library               Network
System                Users                 Volumes
bin                   cores                 dev
etc                   home
                  mach_kernel
net                   opt
                  private
sbin                  tmp
                  usr
var

sftp>

Pomimo, że nic tu zrobić w zasadzie nie mogę:

sftp> mkdir /test
Couldn't create directory: Permission denied
sftp>

To i tak nie jest to raczej to czego oczekujemy… Po za tym jeśli zdalny użytkownik będzie korzystać z jakiegoś klienta SFTP to musiałby w konfiguracji tego programu podać dokładną ścieżkę, czyli /Users/marek/Public, by przy każdym połączeniu się w tym folderze znaleźć. Gdy zostawi domyślną, tj. „/”, zobaczy foldery systemowe naszego komputera.

Dlaczego tak się dzieje? Sprawdźcie uprawnienia np. folderu Biblioteki na dysku waszego komputera (skrót: Command+I):

Library uprawnienia

Zauważyliście, że każdy (everyone) posiada uprawnienia odczytu? To domyślne ustawienie w OS X, którego zdecydowałem się nie zmieniać, by nie ryzykować unieruchomienia systemu. Zastanawiałem się też nad utworzeniem grupy „Zdalni” (do ktorej dodałbym Intruza) i zabraniem dostępu tejże grupie, do wszystkich folderów po za Publiczne. Niestety, na obecnym etapie moja pewność w posługiwaniu się Terminalem, oraz zabawie przywilejami nie jest wystarczająca. Nic nie stoi na przeszkodzie, by „terminalowi wyjadacze” spróbowali takich modyfikacji – i podzielili się efektami na naszym blogu :)

Jeśli powyższy rezultat wam wystarczy możecie zakończyć lekturę. Jeśli jednak chcecie dowiedzieć się, jak ograniczyć uprawnienia zdalnego użytkownika wyłącznie do obsługi SFTP, oraz uniemożliwić przeglądanie innych folderów komputera – kontynuujcie!

Rozwiązaniem problemu jest tzw. chroot jail – dzięki któremu zmienimy katalog główny zdalnego użytkownika. Poniżej kroki, które przeprowadziłem:

Utworzyłem użytkownika „eseftep” podobnie jak Intruza, ale nie zmieniałem domyślnych ustawień (Opcje zaawansowane… pozostały nietknięte), dałem nowemu użytkownikowi możliwość zdalnego dostępu, następnie w Terminalu wprowadziłem poniższe:

sudo cp /etc/sshd_config /etc/sshd_config.backup
sudo chown root /
sudo chmod 755 /
sudo mkdir -p /chroot/eseftep/zdalny
sudo chown -R root /chroot/eseftep
sudo chown eseftep /chroot/eseftep/zdalny
sudo chmod -R 755 /chroot/eseftep

Pierwsza linia to zrobienie kopii zapasowej pliku sshd_config, który później zmodyfikuję. Dalej: zmiana właściciela – każdy folder w chroot jail musi należeć do roota, oraz ustalenie uprawnień. Poleceniem mkdir z parametrem -p tworzę kompletne drzewo folderów w katalogu głównym komputera – folder „chroot” zawiera folder o nazwie użytkownika, a ten – folder zwany „zdalny”, do którego będą wrzucane pliki. Dla nowych folderów wymagana jest kolejna zmiana własności oraz uprawnień.

UWAGA: Lepiej nie logować się lokalnie na konto użytkownika zdalnego, tzn. z poziomu systemu/okna logowania, ponieważ zostanie stworzony regularny profil wraz z domyślnymi folderami, tj. Biurko, Dokumenty, Obrazki, itp. Sugeruję ukrycie konta według metody opisanej tutaj.

Czas na modyfikację pliku sshd_config (ja edytowałem w programie TextEdit, ale jeśli znacie edytor tekstowy, jak np. vi, to możecie dokonać zmian bezpośrednio w Terminalu :)).

Najpierw zahaszowałem istniejący wpis:

#Subsystem sftp /usr/libexec/sftp-server

Następnie, na końcu pliku umieściłem poniższe:

Subsystem sftp internal-sftp
Match User eseftep
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
ChrootDirectory /chroot/eseftep

Od teraz, użytkownik eseftep, po zalogowaniu trafia bezpośrednio do folderu eseftep, który jest dla niego katalogiem głównym!

iMadlo:~ marek$ sftp eseftep@192.168.1.14
Password:
Connected to 192.168.1.14.
sftp> pwd
Remote working directory: /
sftp> ls
zdalny
sftp>

Próba zmiany ścieżki nic nie da:

sftp> cd /Users/marek
Couldn't canonicalise: No such file or directory
sftp>

Ponadto, użytkownik eseftep może łączyć się tylko korzystając z protokołu SFTP. Pomimo faktu, że udostępniłem mu dostęp zdalny w panelu preferencji, to połączenie SSH nie będzie zrealizowane pomyślnie:

iMadlo:~ marek$ ssh eseftep@192.168.1.14
ssh eseftep@192.168.1.14
Password:
This service allows sftp connections only.
Connection to 192.168.1.14 closed.
iMadlo:~ marek$

No to najbardziej spektakularna część pracy za nami. Ale to jeszcze nie koniec. Pamiętajmy, że folder zdalnego użytkownika znajduje się w odizolowanym sandboksie, i do niego należą prawa własności do plików oraz uprawnienia zarówno do odczytu jak i zapisu. Oczywiście, jeśli jesteśmy administratorami komputera nie jest to większy problem, wystarczy utworzyć skrót do folderu „zdalny” w wybranym miejscu, w naszym katalogu domowym (np. na biurku) korzystając z Findera, lub utworzyć tzw. dowiązanie symboliczne korzystając z Terminala.

Żeby jednak nie było zbyt różowo, pojawia się kolejny problem: Finder nie odświeża zawartości folderu „zdalny” automatycznie po zakończeniu uploadu pliku. Zachowanie jest dziwne, czasem kilka plików się pojawi w oknie Findera, innym razem nie. Oczywiście gdy wyświetlimy zawartość tego folderu w Terminalu wszystkie pliki będą widoczne. Problemu z odświeżeniem nie ma też np. manager plików ForkLift. Zakładam więc, że jest efekt stanu zaśmiecenia mojego systemu, lub faktycznie Finder w Mavericksie „kuleje” w tej materii…

Postanowiłem wykorzystać rozwiązanie systemowe – Automatora. Zrobiłem w nim megaprosty workflow, którego działanie polega na sprawdzeniu czy w folderze „zdalny” pojawiły się nowe pliki, a następnie skopiowanie ich do folderu „sftp” na biurku.

Kopiowanie nowych plików

Skryp wyręcza mnie od sprawdzania zawartości folderu „zdalny”, ponadto operacja kopiowania powoduje, że właścicielem plików z pełnymi do nich prawami zostaję ja. Jeszcze jedno: chwilę po wykonaniu operacji na ekranie pojawia się komunikat o tym, że użytkownik „eseftep” skończył przesyłać do mnie pliki!

Alert Folder Actions

W kolejnej – ostatniej – części poświęconej konfugurowaniu serwera SFTP w OS X zajmiemy się tworzeniem grupy zdalnych użytkowników. Do przeczytania wkrótce.

Konfigurujemy serwer SFTP na Macu (OS X 10.9) część 1/3

Pomimo dostępności wielu rozwiązań bazujących na „chmurze”, pozwalających na składowanie danych na dysku sieciowym (Dropbox, OneDrive, Cubby, itp.) zdarza się, że chcielibyśmy mieć możliwość udostępnienia przestrzeni dyskowej swojego komputera innym. W przypadku sieci lokalnej problem właściwie nie istnieje, bo w prosty i intuicyjny sposób możemy skonfigurować udostępnianie plików i folderów dzięki panelowi Preferencji systemowych. Nieco gorzej wygląda sprawa, gdy chcemy umożliwić to z Internetu. Oczywiście, dobrze w takim wypadku posiadać stały publiczny adres IP albo usługę DDNS. Możemy wtedy pomyśleć nad wykorzystaniem usługi VPN, dzięki której „oszukamy” komputer kliencki i będziemy mogli zdalnie korzystać z zasobów sieciowych tak jak byśmy byli w sieci lokalnej. W kolejnych artykułach zajmiemy się jednak czym innym: skonfigurujemy serwer SFTP na naszym komputerze.

Osoby pracujące nieco dłużej na komputerach Mac mogą pamiętać, że w starszej wersji systemu OS X (do 10.6 włącznie) w Preferencjach systemowych można było aktywować udostępnianie plików przy użyciu FTP. Od OS X w wersji 10.7, opcja ta zniknęła z panelu, choć nadal da się zastartować serwer FTP prostym poleceniem w Terminalu:

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

Aby zweryfikować działanie serwera wpisujemy:

ftp localhost

I jeśli nie mamy totalnie „rozjechanego” :) systemu, zobaczymy podobny do poniższego rezultat:

iMadlo:~ marek$ ftp localhost
Trying ::1...
Connected to localhost.
220 ::1 FTP server (tnftpd 20100324+GSSAPI) ready.
Name (localhost:marek):

Wykorzystując Terminal, Finder (opcja Połącz z serwerem… z menu Idź) lub dowolnego klienta FTP (ForkLift, Cyberduck, itd.) możemy uzyskać zdalny dostęp do swoich folderów i plików (z uprawnieniami zgodnymi z tymi które posiada zalogowany zdalnie użytkownik).

Aby wyłączyć serwer FTP wprowadzamy następujące wyrażenie:

sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist

Apple porzuciło (czy raczej odrobinę utrudniło korzystanie z serwera FTP) na rzecz SFTP – podobnie jak w przypadku Telnet kontra Secure Shell – ze względów bezpieczeństwa. FTP wykorzystuje dwa połączenia TCP: dla poleceń oraz do transmisji danych (wymaga to zwolnienia dwóch portów na routerze/firewallu, port nr 21 oraz 20 dla trybu aktywnego i 21 oraz dowolny >1024 dla trybu pasywnego). Jednak najważniejszą wadą protokołu File Transfer Protocol jest fakt, że oba kanały komunikacyjne nie są szyfrowane, więc dość łatwo przechwycić hasło i dane. Oczywiście istnieje rozwiązanie – FTPS (FTP/S) protokół, w którym polecenia i dane są szyfrowane dzięki użyciu SSL.

Zdalne logowanie - Preferencje systemowe OS X

Jednak lepszym i nowocześniejszym rozwiązaniem jest SFTP, który korzysta z szyfrowanego protokołu SSH i używa jednego połączenia na tym samym porcie o numerze 22. Włączenie serwera SFTP w systemie OS X sprowadza się do zaznaczenia opcji Zdalne logowanie w panelu Udostępnianie w Preferencjach systemowych. W ten sam prosty sposób, tj. odznaczając tę opcję, wyłączamy SFTP (oraz SSH). Zdalny dostęp możemy oczywiście uaktywnić tylko wybranym użytkownikom.

Weryfikacja działania serwera SFTP – w Terminalu wpisujemy:

sftp localhost

Przy pierwszym połączeniu zostanie wygenerowany klucz RSA i zostaniemy poproszeni o hasło. Dalej już z górki :) Gdy korzystamy z komunikacji w Terminalu wpisanie słowa help wyświetli listę dostępnych opcji, natomiast bye zakończenie połączenia.

Odwzorowanie portu na routerze - SFTP

W przypadku łączenia się z Internetu nie powinniśmy zapomnieć o dodaniu przekierowania portu w ustawieniach routera/zapory ogniowej.

Powyższa konfiguracja SFTP ma pewne niedoskonałości. Po pierwsze: na komputerze musi istnieć profil użytkownika, który będzie się zdalnie łączył. Tworzymy go zakładając konto w panelu Użytkownicy i grupy w Preferencjach systemowych. Po drugie: taki zdalny użytkownik ma uprawnienia identyczne z użytkownikiem zalogowanym lokalnie na komputerze. Ma do dyspozycji cały swój katalog domowy, może również przeglądać zawartość większości folderów systemowych. To zdecydowanie wada, którą zajmiemy się w następnym wpisie dotyczącym konfiguracji serwera SFTP już jutro.

Sztuczki na ekranie logowania OS X (3) – język interfejsu oraz terminal

Kolejna część tricków związanych z ekranem/oknem logowania przed nami. Najpierw zajmiemy się kwestią języka, w jakim komunikuje się z nami komputer na etapie logowania. Nie ma tu tego wiele, chodzi o podpowiedzi w polach Nazwa oraz Hasło, etykiety przycisków Uśpij, Uruchom ponownie, Wyłącz, Anuluj i Przełącz użytkownika oraz informacje wyświetlane w górnym prawym narożniku (kliknijcie kilkukrotnie myszką na godzinę to zobaczycie to i owo).

Język główny komputera wybieramy podczas instalacji systemu OS X lub pierwszego uruchomienia Maca. Później możemy oczywiście zmienić język dla każdego konta użytkownika niezależnie, ale wcześniej określony język główny będzie zawsze użyty na ekranie logowania. Możemy go jednak łatwo zmienić, wpisując w Terminalu następujące polecenie:

sudo languagesetup

Po potwierdzeniu klawiszem Enter i podaniu hasła wyświetlona zostanie lista dostępnych języków – angielski jest oczywiście dostępny pod numerem 1, natomiast polski pod 18 (przynajmniej taką pozycję ma w OS X Mavericks). Wystarczy podać numer, zatwierdzić i gotowe! (Dokument Apple Knowledge Base z wyjaśnieniem jak dokonać zmiany języka również w starszych wersjach systemu znajdziecie tutaj).

Kolejna sztuczka to fakt, że jeśli ekran logowania mamy tak skonfigurowany, że obok lub zamiast kont pozostałych użytkowników wyświetlone jest konto Inne…(*), to gdy je wybierzemy i w polu tekstowym Nazwa wprowadzimy poniższe wyrażenia to okaże się, że mamy do dyspozycji kilka dodatkowych opcji (pole Hasło pozostawiamy puste!):

>sleep – jak się domyślacie wpisując to i zatwierdzając uśpimy komputer,

>restart – j.w. tyle, że nastąpi ponowne uruchomienie komputera.

>shutdown – zamknięcie systemu i wyłączenie komputera.

Powyższe komendy działają pod warunkiem, że w Preferencjach systemowych > Użytkownicy i grupy > Opcje logowania – nie wyłączyliśmy opcji „Pokazuj przyciski Uśpij, Uruchom ponownie i wyłącz”. Zatem przydaje się to w sytuacji gdy nie działa myszka/touchpad, lub przyciski te zakryte są np. tapetą. Oczywiście, jeśli na komputerze zalogowani są inni użytkownicy, to przy próbie restartu/wyłączenia pojawi się stosowny monit.

loginscreen_console

Jest jeszcze jedna komenda dostępna w oknie logowania:

>console – która spowoduje wyświetlenie pełnoekranowego okna konsoli, czyli wiersza poleceń, w którym działa chyba większość komend terminalowych. Oczywiście pomimo niezalogowania się do konta w interfejsie graficznym, bez podania loginu i hasła nie zrobimy tu wiele. Musimy też najpierw się zalogować by móc wprowadzić polecenie exit, po którym wrócimy do ekranu logowania w trybie graficznym.

___

(*) – możemy też w Preferencjach systemowychUżytkownicy i grupy > Opcje logowania dla opcji Pokaż okno logowania jako: wybrać „pola z nazwą i hasłem” zamiast „listy użytkowników”.

Rozwiązywanie problemów z Pękiem kluczy w OS X

Moje ostatnie zabawy i konieczność zresetowania hasła spowodowały kolejny problem. Mianowicie nowe hasło było odmienne od tego, które zostało zapamiętane przez Pęk kluczy i jakakolwiek operacja próby zapamiętania nowych haseł kończyła się stosownym monitem o wprowadzenie hasła (starego), którego – po swoich beztroskich działaniach – nie znałem, a oczywiście nowe nie było akceptowane. Ba, znane są przypadki, że mimo stosowania przez użytkownika cały czas tego samego hasła, z nie wiadomych przyczyn przestaje być ono użyteczne…

Jeśli wykonacie operację resetowania hasła np. przy użyciu dysku instalacyjnego/funkcji odzyskiwania, prawdopodobnie doświadczycie podobnego problemu. Sytuacja taka może się również zdarzyć po dużej aktualizacji systemu OS X, np. z 10.8 do 10.9.

Niestety rozwiązanie tej kwestii spowoduje (jeśli nie pamiętamy pierwotnego hasła) utratę wszystkich danych zapisanych w Pęku kluczy. Oto lista kroków, które należy wykonać:

  1. W programie Dostęp do pęku kluczy wybierz opcję Preferencje z menu głównego.
  2. Kliknij przycisk Wyzeruj mój domyślny pęk kluczy, jeśli jest dostępny. Spowoduje to usunięcie pęku kluczy logowania i utworzenie nowego z podanym hasłem.
  3. Jeśli przycisk Wyzeruj mój domyślny pęk kluczy jest niedostępny, wybierz opcję Lista pęków kluczy z menu Edycja.
  4. Usuń pęk kluczy logowania.

Aby wykonać ostatni krok należy:

  1. Otworzyć Dostęp do pęku kluczy.
  2. Jeśli lista pęków kluczy nie została wyświetlona, wybrać Widok -> Pokaż pęki kluczy.
  3. Zaznaczyć pęk kluczy na liście.
  4. Wybrać Plik -> Usuń pęk kluczy (nazwa).

Jeśli chcemy usunąć także powiązane z pękiem kluczy pliki, klikamy w Usuń odwołania i pliki; w przeciwnym razie klikamy w Usuń odwołania. Usunięty pęk kluczy można przywrócić, np. gdy przypomnimy sobie stare hasło i odzyskać zachowane w nim rzeczy, wybierając Edycja -> Lista pęków kluczy i dodając go do listy.

keychain_01

Może się okazać, że pomimo wykonanych wyżej kroków nadal będziemy namolnie proszeni o podanie hasła do pęku kluczy zwanego Rzeczy lokalne. W takim wypadku trzeba sprawę rozwiązać „siłowo”, ale zgodnie z zaleceniami Apple:

  1. W Finderze wybierz kolejno opcje Idź -> Idź do katalogu (⇧⌘G).
  2. W wyświetlonym oknie wpisz następujący ciąg:

    ~/Biblioteki/Keychains/

  3. Kliknij przycisk OK.
  4. Poszukaj katalogu o nazwie podobnej do „8A302FA0-546C-5CF3-8FB1-64B370597BB5” (na każdym komputerze katalog ma unikatowy numer!).
  5. Przenieś ten katalog do Kosza.
  6. Uruchom ponownie komputer Mac.

Pamiętajcie, że zawsze warto w przypadku jakichkolwiek problemów z hasłami/Pękiem kluczy zacząć (o ile jest to możliwe) od zastosowania opcji Pierwsza pomoc pęku kluczy, dostępnej w głównym menu programu. Aby działania naprawcze przyniosły rezultaty, opcje dostępne w Preferencjach programu Dostęp do pęku kluczy (zakładka Pierwsza pomoc) powinny być „zaptaszkowane”.

Podane wyżej recepty są opisane w Apple Knowledge Base, w następujących dokumentach: HT1631, TS1544 (zerowanie hasła Pęku kluczy w starszych systemach OS X), TS5362, PH13823 i PH7296. Mam nadzieję, że zebrane w jednym miejscu, skrócą Wasze „męki”. Sam spędziłem trochę czasu nad znalezieniem rozwiązania, Wy nie musicie :) Życzę by Wam, drodzy czytelnicy, nie były zbyt często potrzebne.

Suplement:

Od czasu wprowadzenia przez Apple usługi synchronizacji „w chmurze” – iCloud, również nasze zapamiętane tam hasła mogą sprawiać problemy. Póki co, nie stanąłem przed takim problemem, ale na wszelki wypadek polecam lekturę informacyjno-pomocniczą:




Resetowanie hasła użytkownika w OS X

Niedawno miałem dość nieciekawą sytuację: mianowicie trochę „zamieszałem” na iMacu, co zaowocowało tym, że moje hasło przestało mnie wpuszczać na główne konto… Ot, kolejny dowód by wszelkie zabawy robić na innym koncie, z ograniczeniami. Tak czy inaczej postawiony zostałem przed problemem wyzerowania hasła, no i chwilę trwało nim udało mi się to przeprowadzić, dlategoteż postanowiłem poniżej zebrać chyba większość możliwych do wykonania czynności pozwalających na reset naszego tajemniczego zaklęcia.

Nie będę się rozpisywał krok po kroku, natomiast załączę odsyłacze do odpowiednich dokumentów z Apple Knowledge Base, w których wszystko wyjaśnione jest bardzo dobrze. I to w naszym ojczystym języku.

Zerowanie hasła z wykorzystaniem Funkcji odzyskiwania systemu OS X.

Aby uruchomić komputer z partycji zawierającej system odzyskiwania (recovery) należy przy uruchomieniu/restarcie trzymać klawisze Command+r. Można też trzymać wciśnięty tylko klawisz Alt (Option) i wybrać odpowiednią partycję. Po wczytaniu systemu ratunkowego w menu Narzędzie wybieramy aplikację Terminal. Natępnie wpisujemy komendę resetpassword i następnie w nowo otwartym oknie wybieramy dysk, dalej użytkownika oraz wprowadzamy nowe hasło. Możemy tu również przywrócić uprawnienia w katalogu domowym wybranego użytkownika do wartości domyślnych.

W systemach OS X do wersji 10.6, które nie były dystrybuowane w wersji elektronicznej aby zmienić/wyzerować hasło należało uruchomić komputer z płyty instalacyjnej i następnie wybrać z menu Narzędzia opcję Resetuj hasło. Dokładny opis procesu dla różnych wersji systemu OS X.

Istnieje możliwość utworzenia Asystenta odzyskiwania systemu OS X na dysku zewnętrznym lub np. pendrive.

Zerowanie hasła za pomocą identyfikatora Apple ID.

Kluczową sprawą jest tu zaznaczenie właściwej opcji – „Użytkownik może zerować hasło, podając Apple ID”.

resetowanie_hasla_03

Jeśli zapomnimy hasła, nie pomoże również podpowiedź, to po trzeciej nieudanej próbie w oknie logowania jest wyświetlany komunikat „Nie pamiętasz hasła? Wyzeruj je, używając Apple ID”. Należy wtedy kliknąć ikonę strzałki w okręgu, aby wyświetlić okno dialogowe Zerowanie hasła. Pozostaje nam wprowadzić nazwę i hasło konta Apple ID, a następnie kliknąć przycisk Wyzeruj hasło.

W obu powyższych przypadkach problem jest bardziej poważny gdy korzystamy z szyfrowania zawartości dysku – funkcji FileVault. Zerowanie hasła wymaga wygenerowania i bezpiecznego przechowania tzw. klucza odzyskiwania. Radzę zapoznać się z tą procedurą nim będzie za późno…

Zerowania hasła za pomocą trybu pojedyńczego użytkownika (Single-user mode). 

Przedstawiam dwa różne sposoby bez gwarancji powodzenia – pierwsza metoda u mnie nie zadziałała, natomiast drugiej nie miałem potrzeby już weryfikować ponieważ hasło wyzerowałem korzystając z opisanej wyżej funkcji odzyskiwania systemu.

Rozwiązanie pierwsze: użycie komendy dscl

  • uruchamiamy komputer w trybie pojedyńczego użytkownika, umożliwiamy dostęp do zawartości dysku wpisując i zatwierdzając Enterem:
mount -uw
  • wprowadzamy następujące wyrażenie:
launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist

w OS X 10.7 i nowszym lub:

launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist

dla OS X w wersji 10.6 lub wcześniejszej.

  • następnie wpisujemy:
dscl . passwd /Users/username newpassword

gdzie username to oczywiście nazwa konta a newpassword nowe hasło.

  • na koniec:
reboot

Rozwiązanie drugie: wyzerowanie Asystenta ustawień

  • uruchamiamy komputer w trybie pojedyńczego użytkownika, umożliwiamy dostęp do zawartości dysku wpisując i zatwierdzając Enterem:
mount -uw
  • wprowadzamy następujące wyrażenie:
rm /var/db/.AppleSetupDone
  • na koniec:
reboot
  • po restarcie powita nas Asystent ustawień, tak jak w przypadku pierwszego uruchomienia komputeraz po instalacji. Możemy teraz stworzyć nowe konto administratora po to, by z jego poziomu zresetować hasło na koncie z problemem (korzystając już „po ludzku” z Preferencji systemowych: Użytkownicy i grupy). A poźniej nowo utworzone konto usunąć, et voila!

Sztuczki na ekranie logowania OS X (1) – ukrywanie kont użytkowników

Dziś krótka ale dość przydatna porada dotycząca kontroli wyświetlanych kont użytkowników na ekranie logowania w systemie OS X. Domyślnie zobaczymy tu ikonki wszystkich użytkowników wraz z ich nazwami, konto Gość (o ile nie zostało wcześniej wyłączone) oraz być może również konto nazwane Inne, które przydatne jest zwłaszcza gdy korzystamy z komputera w sieci, w ktorej wdrożono usługę Active Directory/Open Directory.

Po co ukrywać konta w oknie logowania? Np. w sytuacji kiedy na komputerze trzymamy profil użytkownika, który przez dłuższy czas nie będzie korzystał z komputera. Albo po to by uniemożliwić komuś wykorzystanie pozostawionego w firmie komputera jako terminala do serwera AD. Albo po to by schować przed ciekawskimi konto Administratora (bo przecież wszyscy pracujemy jako zwykli użytkownicy, a admin bierze się do dzieła tylko w konkretnych sytuacjach i działaniach takich jak konserwacja systemu, prawda?). Możemy również zostawić widoczne tylko konto głównego użytkownika, a pozostali będą autoryzować się podając swój login i hasło po kliknięciu w ikonę Inne.

Czy będą to więc kwestie estetyczne czy bezpieczeństwa, rozwiązanie to jest dość proste w realizacji. Pierwsza sprawa to sprawdzenie tzw. nazwy konta (będącej krótką nazwą użytkownika, która widoczna jest np. w Terminalu). Aby to zrobić musimy wejść w Preferencje systemowe -> Użytkownicy i grupy a następnie wcisnąć prawy klawisz myszy (lub Control+LMB) i wybrać – jedyną zresztą – pozycję Opcje zaawansowane.

login_win_01a

Gdy już znamy nazwy kont użytkowników, których ikony chcemy ukryć, pozostaje nam skorzystać z Terminala, w którym wpisujemy następujące wyrażenie:

sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add USER1 USER2 USER3

Oczywiście w miejsce USER1 i pozostałych podajemy nazwy kont, które zamierzamy schować.

Efekt poniżej (widoczne tylko konto główne oraz Inne)

login_win_02

Jeśli jednak po jakimś czasie zechcemy mieć znów możliwość wyświetlenia kompletnej listy użytkowników na ekranie logowania wystarczy w Terminalu wprowadzić poniższe (zwróćcie uwagę na polecenie delete):

sudo defaults delete /Library/Preferences/com.apple.loginwindow HiddenUsersList

Gdybyśmy chcieli pozbyć się również konta Inne należy zastosować nieco odmienny zapis:

sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE

Ponowne załączenie konta Inne wymaga takiego samego wyrażenia z tą różnicą, że zamiast FALSE podajemy TRUE.

Proste prawda?

BigBrother na małym ekranie (1) – Splashtop CamCam

Jakiś czas temu głośno było w Internecie w temacie szpiegowania użytkowników m.in. komputerów i smartfonów przez służby NSA i podobne.  W sumie bardziej mnie dziwi fakt, że ktoś mógł założyć, że jesteśmy kompletnie pozbawieni dozoru, że nikt nie śledzi naszych poczynań. Prawda jest taka, że dość luźno przedstawione w takich produkcjach jak np. Wróg publiczny, czy serial Person of Interest (absolutnie nie podoba mi się polskie tłumaczenie tytułu…) wizje wcale dalekie od rzeczywistości nie są. Co więcej – my sami zezwalamy na to – a nawet podajemy „na tacy” mnóstwo prywatnych informacji korzystając z serwisów społecznościowych, meldując się w serwisach bazujących na geolokalizacji, itp. Czas się z tym pogodzić i naiwnie ufać, że póki nie łamiemy prawa i nie jesteśmy celebrytami, to nikt nie wykorzysta przeciw nam tychże informacji. A jedyną konsekwencją pozostanie spam reklamowy we wszelakiej postaci.

Często jednak zdarza się, że możliwość podejrzenia sytuacji np. w domu, gdy właśnie znajdujemy się w innym pokoju, na drugim końcu miasta, kraju lub świata mogłoby zaspokoić naszą ciekawość czy ukoić nerwy. Stąd m.in. popularność kamer IP. Po co jednak inwestować w drogie urządzenia skoro większość naszych gadżetów takich jak laptopy, tablety i smartfony posiada wbudowane układy optyczne potrafiące rejestrować obraz z wcale nie najgorszą jakością? Zamiast zaklejać „oczko” kamery w obawie przez złymi agentami, zróbmy z niej użytek, dla siebie. Niniejszym ;) chciałbym rozpocząc krótki cykl prezentujący przykłady domowego monitoringu. Dziś kilka słów o podglądzie obrazu rejestrowanego przez kamerę komputera, na ekranie iPhone.

cc1

Splashtop Inc. to deweloper posiadający w swoim portfolio wiele przydatnych aplikacji umożliwiających zdalny dostęp, między innymi opisywany dawno na applesauce Splashtop Remote Desktop.  Jakiś czas temu wydał również interesującą appkę pod nazwą Splashtop CamCam. CamCam to nic innego jak odbiornik obrazu (i dźwięku!) z komputera z zainstalowanym Splashtop Streamerem. Do testów wykorzystałem iMaca z wbudowanym iSightem. Ale wystarczy pecet z Windows XP, Vista lub 7 (nic mi nie wiadomo w temacie współpracy z Win 8). Streamer (czyli de facto serwer usługi) jest darmowy i działa ze wszystkimi aplikacjami dewelopera – to miłe, że nie ma potrzeby instalacji osobnych programów na komputerze. Konfiguracja Streamera jest trywialna i jedynie gdy chcemy mieć możliwość zdalnego dostępu przez Internet, musimy wykorzystać dodatkowo w tym celu konto Google.

cc2

CamCam w sieci lokalnej szybko znajdzie komputer z zainstalowanym Streamerem. Jeśli z jakiegoś powodu tego nie robi a Streamer jest skonfigurowany poprawnie możemy zawsze ręcznie dodać komputer do listy odbiornika.

cc3

Gdy wszystko działa jak należy po chwili powinniśmy ujrzeć obraz z kamery komputera oraz usłyszeć dźwięki – o ile pomieszczenie z kamerą, nie jest pogrążone w całkowitej ciszy… Na iMacu pojawi się stosowny komunikat informujący o tym, że ktoś nas szpieguje :) Możliwości CamCam właściwie się na tym kończą. Możemy jeszcze „szczypaniem” nieco przybliżyć obraz, przesuwać widoczny obszar na ekranie. To wszystko, brakuje nawet gestu czy przycisku kończącego zestawione połączenie – pozostaje klawisz Home.

cc4

Jakość obrazu i dźwięku jest zaskakująco dobra, choć wspierana jest wyłącznie rozdzielczość 640 x 480 pikseli. W sieci lokalnej nie ma też zbytnich opóźnień, więc obraz odtwarzany jest płynnie. W przypadku połączenia 3G też tragedii nie ma choć widać różnicę, nie tylko w czasie trwania inicjowania połączenia.

Kilka słów odnośnie podłączenia przez Internet. Po za wspomnianym wcześniej użyciu konta Google, należy jeszcze skonfigurować przekierowanie portów na routerze. Domyślny port to 6783, ale polecam przekierowanie również portów 6784 i 6785. Jeśli mimo to CamCam nie chce połączyć się do naszego komputera – choć ten ostatni pojawia się na liście wyszukany automatycznie – musimy ręcznie nasze źródło obrazu i dźwięku dodać do listy. Niestety, jeśli nie posiadamy stałego adresu IP zdalny dostęp przez Internet będzie miał charakter tymczasowy…

cc6

Appka ma potencjał i liczę na to, że autorzy dodadzą np. możliwość ciągłego monitoringu przez tandem kamera + Streamer, z czujnikiem ruchu który wyśle do CamCam powiadomienie push. Na chwilę obecną to raczej rozwiązanie do zabawy, choć w specyficznej sytuacji może okazać się bezcenne – tym bardziej, że inicjacja przekazywania obrazu działa nawet wtedy, gdy komputer jest zablokowany – a jeśli skonfigurowaliśmy poprawnie Wake On Lan, to również gdy go zdalnie obudzimy. Ewidentnie programiści traktują CamCam jako hobby, bo appka pozwala na wyświetlenie podpowiedzi dotyczących gestów, których w CamCam brak, a które jak najbardziej funkcjonują w innych programach pod szyldem Splashtop.

cc5

Splashtop CamCam obecnie jest dostępna za darmo, polecam pośpiech tym bardziej, że regularna cena jest zdecydowanie nie adekwatna do możliwości aplikacji.

W kolejnym odcinku zajmiemy się sytuacją odwrotną – zobaczymy, czy możemy wykorzystać kamerę iPhone jako nasze zdalne oko.

9 życzeń do Tima odnośnie OS X 10.10

WWDC zbliża się już nie krokami a wręcz susami, i chyba nie brak osoby ciekawej zmian, jakie zaserwują nam magicy z Cupertino w nowej odsłonie najlepszego systemu desktopowego na świecie! :)

Tendencja zmian znana jest już od dłuższego czasu, z każdym uaktualnieniem sprawdzone rozwiązania z iOS trafiają na Maczki. Kluczowa jest tu zgodność i pełna wymiana dokumentów oboma systemami, zrealizowana tak, by użytkownik przesiadając się z Maca na iPada, lub z iPhone na Maca, nie musiał zbytnio się trudzić i zmieniać nawyki. Mimo postępującej unifikacji, OS X zachowuje swoją tożsamość i odrębność, wynikającą nie tylko ze sposobu obsługi: myszka/gładzik versus ekran dotykowy, ale również mniejszych ograniczeń (praca z wieloma programami na raz, możliwość automatyzacji zdarzeń, itp.).

Prowadząc różne dyskusje zawsze powtarzałem, że dla mnie najważniejsze są zmiany pod maską: optymalizacja systemu, zwiększenie stabilności, bezpieczeństwa i pełnienie roli “szarej eminencji” – reasumując: system operacyjny powinien być jak dobry lokaj – cierpliwy, wytrwały, kulturalny, z dobrymi manierami, niesprawiający problemów, niekosztujący wiele i wiernie czuwający w tle na to, by w odpowiednim momencie w niezauważalny wręcz sposób zareagować. Wielu moich adwersarzy wolałoby jednak, aby zamiast lojalnego lokaja był to macho, dusza towarzystwa, modnie (choć niekoniecznie gustownie) ubrany wodzirej, łamacz serc, taki Mac-Ko… tzn. Mac-pozer :)

Stąd narzekania, że system od ponad dekady wygląda identycznie, że wieje nudą, że już nawet kafle w Win 8 są nowocześniejsze… Wydaje mi się jednak, że znakomita większość tych malkontentów (by zasłużyć na miano krytyka trzeba umieć logicznie uzasadnić swoje utyskiwania i zaproponować racjonalną alternatywę) to osoby, które komputer wykorzystują jako gadżet do zabicia czasu, a szczytem kreatywności jest zmiana tapety i wygaszacza ekranu, lub wstawienie wiadomości na facebooka. Znamienne jest bowiem to, że osoby chcące i potrafiące wykorzystywać komputer jako narzędzie do realizacji bardziej szczytnych celów, doceniają właśnie to, że przy zmianie numerka po kropce w kolejnej wersji systemu, nie muszą w innych miejscach szukać opcji, uczyć się od nowa obsługi, bo producentowi skończyły się pomysły i pozmieniał to i owo by po prostu było inaczej.

OS X od samego początku cechowała przejrzystość interfejsu, dbałość o detale i pod względem graficznym stojące na najwyższym poziomie wykonanie. Owszem, można wytykać brak spójności w wyglądzie niektórych programów oraz ich elementów. Skłamałbym, gdybym twierdził, że niczego takiego nie ma/nie było. Pozostaje żywić nadzieję, że nadchodząca wersja systemu będzie pozbawiona tego typu niedoróbek.

Pora zastanowić się, co faktycznie trafi na nasze komputery i czy faktycznie będzie można uznać OS X za strzał w dziesiątkę, a właściwie w dwie.

Poniżej moje życzenia, z chęcią poznam Wasze, więc śmiało korzystajcie z komentarzy!

  • Odświeżony wygląd – oczywiście chodzi o upodobnienie OS X do iOS (kto wie, czy już nie do wersji iOS8, która zapewne jakieś zmiany widoczne gołym okiem będzie posiadała). Tak po prawdzie chyba tego boję się najbardziej… Mimo korzystania od dłuższego czasu z iOS7.x wciąż mam pewne zastrzeżenia do wizualnej strony tego systemu i o ile nie tęsknię za skeuomorfizmem, to co jak co ale ślicznych, szczegółowych ikonek, z których niektóre można by wręcz uznać – tak jak znaczki pocztowe – za małe dzieła sztuki, brakuje mi bardzo. Z drugiej strony spłaszczony a przy tym również – o dziwo – przestrzenny i dynamiczny interfejs obecnego ajoesa daje się polubić. Patrząc na niektóre wizualizacje nowego OS X’a moje obawy są nieco mniejsze. Chyba Apple nie zrobi tego gorzej niż domorośli “wizjonerzy”? Kuba oczekuje przede wszystkim spójności, jakiej brak na chwilę obecną w wielu miejscach, co stanowczo nie przystoi firmie, która przyzwyczaiła do wysokich standardów.
  • Siri dla OS X – a czemu nie? Nasze komputery też są w sieci raczej non-stop, skoro mamy wiele usług (iCloud, powiadomienia), których użyteczność offline jest zerowa, to – jak przystało na XXI wiek – zaczniemy wydawać polecenia naszym Maczkom? HAL 9000 komunikował się głosowo już w 1997 roku (czy nawet w 1992 – jeśli wierzyć panu Kubrickowi), a Speakable items, jak część oprogramowania do rozpoznawania mowy PlainTalk pojawiły się w systemie Mac OS 7.1.2 dla Macintosha Quadra AV w 1993 roku. Po ponad 20 latach czas na rewolucję, nieprawdaż? Swoją drogą, chcielibyście aby Siri miała tak seksowny głos i była tak zabawna i elokwentna jak Samantha z filmu Her? Bo ja tak! Pod warunkiem, że będzie do mnie mówić po polsku…
  • Obsługa “obcych” formatów i nośników – jedną z najczęściej wykorzystywanych przeze mnie opcji OS X jest QuickLook i mimo, że w sieci roi się od wtyczek umożliwiających podgląd dokumentów w przedziwnych formatach, to nie pogniewałbym się gdyby “na dzień dobry” w systemie było ich więcej. I by w sytuacji, gdy na dysku nie mamy aplikacji pozwalającej na edycję/utworzenie dokumentu w danym formacie użytkownik otrzymał wskazówkę jakiego programu potrzebuje i/lub został przekierowany do sklepu Mac App Store i zapoznany z listą odpowiednich narzędzi (o ile na naszą ulubioną platformę istnieją). Uważam również, że najwyższy czas aby OS X bez żadnych guseł i partyzantki potrafił zapisywać pliki na nośnikach sformatowanych w NTFS.
  • Bootcamp jako maszyna wirtualna – na chwilę obecną osoby chcące, lub wręcz zmuszone do korzystania z oprogramowania dostępnego wyłącznie na Windowsa albo wykorzystują w tym celu Bootcamp albo rozwiązania firm trzecich, takie Parallels Desktop, VMware Fusion, Oracle VirtualBox czy CrossOver. Co prawda rozwiązanie Apple ma swoje zalety, jak np. pełne wykorzystanie zasobów dla obcego systemu, ale również i wady – bo przecież konieczność restartu komputera związanego z wyborem platformy do pracy to drobna acz upierdliwa rzecz. Co więcej, czemu macuser na czas pracy z programem dla peceta ma oglądać windę zamiast OS X? Dlatego jako alternatywę widzę rozwiązanie podobne do Windows XP Mode. Ściągamy (znając pazerność M$ odpłatnie) paczkę z wrogim systemem z MAS i już. Mamy peceta na Maczku, z pełną zgodnością i możliwością instalacji i uruchamiania programów, których brak. Kuba popiera mnie w tym życzeniu pod warunkiem, że taki wirtualizator pozwoli w pełni wykorzystać moc kart graficznych.
  • Nowy, lepszy Inkwell – wielu z nas nie widzi dodatkowego panelu preferencji Ink, który pojawia się (rzekomo) po podłączeniu tabletu graficznego do komputera. Sam nie miałem okazji się pobawić tym, niestety. Jakiś czas temu pojawiło się oprogramowanie Inklet (TenOne Design) pozwalające wykorzystać gładzik w MacBooku jako namiastkę tabletu graficznego. Można się kłócić nad przydatnością rozwiązania, jednak ja doceniłbym na pewno integrację z iUrządzeniami i możliwość wykorzystania ekranu iPada jako tabletu graficznego w programie malarskim na Maczku, lub jako digitizer pisma odręcznego przetwarzanego następnie i rozpoznawanego przez inteligentny, samo-uczący się software dla OS X.
  • Doskonalszy Air Play – mam tu na myśli możliwość odbierania strumieni Air Play na Maczku, opcje wyboru wysyłania obrazu i dźwięku z konkretnej aplikacji, i to wszystko bez dodatkowych aplikacji jak np. AirServer czy AirFoil. Air Play jest według mnie jedną z najciekawszych technologii Apple-only i rozwinięcie jej zwiększy na pewno przewagę nad konkurencyjnymi rozwiązaniami.
  • Zdalnie na moim Macu – życzyłbym sobie dostęp do komputera i jego zasobów nie tylko z innego Maczka „legitymującego” się tym samym Apple ID, ale również z iPada/iPhone – dzięku czemu, zbędne byłoby korzystanie z rozwiązań i usług pokroju LogMeIn, TeamViewer czy Splashtop. Nawet już takie ograniczone użycie, jak to na jakie pozwala opisywany wcześniej Slingshot byłoby małym krokiem do przodu – pod warunkiem, że działać będzie nie tylko w sieci lokalnej ale również przez Internet.
  • Kompatybilny z iOS Air Drop – tu chyba nie potrzeba wyjaśnień… Długo czekam na to, by usługa stała się wreszcie użyteczna. Kuba sam nazywa ją w obecnej formie pieszczotliwie… kastratem ;) Wiadomo, że nie wszystkie formaty plików będą mogły być obsługiwane (edycja, podgląd), ale tak naprawdę możliwość transmisji dowolnego pliku zamieniłaby iPhone w pendrive’a, bez dodatkowego softu.
  • Optymalizacja, optymalizacja, optymalizacja – tego nigdy za wiele. Komputer nie może być zamulony przez system, powszechnie wykonywane operacje muszą działać żwawo, oprogramowanie – mimo niskich cen dysków twardych – nie powinno zajmować tylko niezbędną ilość miejsca, uruchamianie systemu i aplikacji winno być błyskawiczne a zasoby sprzętowe podczas obliczeń wykorzystywane maksymalnie. Miłym dodatkiem byłaby implementacja mechanizmu podobnego do AppTrap – usuwającego wraz z niechcianą aplikacją – jej preferencje i inne „śmieci”, które powstają już po pierwszym jej uruchomieniu.

A Wy co byście chcieli?

younity – czyli zdalny dostęp z iOS do dokumentów znajdujących się na innym urządzeniu

Na pewno nie raz zdarzyło się Wam przeklnąć gdy okazało się, że na iPhone lub iPadzie, który zabraliście ze sobą w teren, zabrakło kluczowego dokumentu. Że chcieliście pochwalić się zdjęciem przejacielowi, lub po prostu posłuchać swojego ulubionego utworu. A z racji braku miejsca, albo przez zwykłe zapominalstwo, nie zsynchronizowaliście iGadżetu przed opuszczeniem domu, hm? Co jak co, ale nawet jednostronny dostęp do danych zlokalizowanych na naszych komputerach, możliwy z poziomu urządzeń mobilnych, to przydatna rzecz. Rzecz, niesamowicie sprawnie rozwiązana w projekcie nazwanym younity.

yty3

Już słyszę te głosy, w stylu: „przecież jest Dropbox!”. younity to jednak coś więcej. Według swoich ojców i (być może) matek, ma to być nasza osobista, prywatna chmura. younity działa nie tylko w sieci lokalnej, ale również wykorzystując transmisję GSM (EDGE, 3G, LTE). Zgodnie z informacją od dewelopera, połączenie realizowane jest bezpośrednio między naszym komputerem oraz iUrządzeniem, w związku z czym, żadne dane nie są przechowywane na jakimś zdalnym serwerze. Jest to niewątpliwa zaleta w porównaniu do dysków sieciowych pokroju Dropbox czy One Drive.

yty2

Ale wymaga aby komputer z plikami, do ktorych chcemy się dostać był online. Co więcej, w preferencjach aplikacji na komputerze określamy ścieżki dostępu do folderów, których zawartość ma być zdalnie dostępna.

yty1

Aplikacja younity dla iOS potrafi rozpoznać typy różnych plików multimedialnych i je otworzyć (younity wspiera również AirPlay). Możemy przeglądane dokumenty zdalnie ściągnąć np. na iPhone’a lub udostępnić je innym (zaproszonym przyjaciołom lub kontaktom na Facebooku)! Niestety nie dotyczy to wszystkich rodzajów plików (np. .exe czy .dmg nie są nawet widoczne ani możliwe do wyszukania)

yty4

Szkoda, że do plików znajdujących się na urzadzeniu mobilnym nie można dostać się z poziomu Maca lub peceta.

yty5

PS. Jedyną wadą younity, którą zauważyłem jest fakt, że po każdym uruchomieniu komputera aplikacja odświeża bazę plików, które mają być zdalnie dostępne. Efekt jest taki, że przez jakiś czas dysk „mieli”, co zwłaszcza na starszych i wolniejszych komputerach (jak moje prawie-już-sześcioletnie iMadło) jest nieco upierdliwe.

Szybkie porady na szybkie spojrzenie ;) czyli tips & tricks w Quick Look

OS X ewoluuje z wersji na wersję, a każda inkarnacja tego systemu wprowadza kolejne usprawnienia. Czasem drobne, „pod maską”, które robią wrażenie na geekach czy programistach, a czasami takie bardziej spektakularne, do których dobrodziejstwa szybko przekona się nawet przysłowiowy Kowalski. Mógłbym wymienić wiele rzeczy, ale jeśli spytacie mnie o jedną jedyną, bez której nie wyobrażam sobie codziennej pracy z makowym systemem, to zdecydowanie będzie to Quick Look. Wprowadzone w Leopardzie (10.5) usprawnienie, kompletnie mnie kupiło. Spędzając czas w pracy, na windzianym lapku, nierzadko łapię się na tym, że naciskam bezwiednie, mechanicznie spację, by podejrzeć aktualnie wybrany plik. Niestety bezskutecznie.

Możliwości tego systemowego szybkiego podglądu plików są sukcesywnie poszerzane przez deweloperów, dzięki czemu lista formatów plików, które możemy w ten sposób podejrzeć, jest coraz bardziej imponująca. Na szybko polecę dwie strony, na których znajdziecie wiele wtyczek do Quick Looka:

QLPlugins.com

QuickLook Plugins List

Oczywiście Quick Look działa również w najnowszej wersji oesiksa, czyli Mavericks (10.9). Poniżej kilka drobnych porad zweryfikowanych w tej właśnie wersji systemu. Być może nie każdy z Was zdaje sobie z nich sprawę, stąd idea tego wpisu, „dla potomności” ;)

  • Domyślny program. Kiedy wybierzemy plik w Finderze, naciśniemy Spację, a format jest rozpoznawalny przez mechanizm wtyczek Quick Look, to podejrzymy jego zawartość. Na belce wyświetlonego okna pojawi się przycisk z opisem „Otwórz w programie _nazwa domyślnie przypisanej do danego rozszerzenia aplikacji_”. Jeśli chcemy otworzyć ów plik w innym programie wystarczy na tym przycisku wdusić prawy przycisk myszki (lub lewy + klawisz Control) a po chwili pojawi się, jako menu kontekstowe, lista programów potrafiących dany dokument odtworzyć.
  • Powiększanie podglądu. Każdy pewnie wie, że można okno Quick Look przełączyć w tryb pełnoekranowy. Każdy również wie, że ciągnąc myszką za krawędzie lub narożniki tegoż okna, możemy zmieniać jego wysokość i szerokość. Ale nie każdy wie, że wciśniśnięcie klawisza Option (Alt) w przypadku obrazka spowoduje wyświetlenie go w rzeczywistych rozmiarach. A trzymanie tego klawisza wciśniętego wraz z przewijaniem (np. kręcąc kółkiem myszki – wiem, Magic Mouse nie ma kółka :D), w przypadku plików PDF spowoduje ich stopniowe powiększanie. PS. Nie mam gładzika ani MacBooka, więc nie mogę tego organoleptycznie stwierdzić, ale wydaje mi się, że na Touchpadach powiększanie/pomniejszanie działa podobnie jak w wypadku iPhone/iPada, czyli za pomocą gestów szczypania.
  • Zaznaczanie tekstu. Gdy quicklookujemy pliki tekstowe, możemy zaznaczyć fragment tekstu i skopiować go w celu wykorzystania np. w innym edytorze. Gdyby jednak okazało się, że opcja ta u Was nie działa, należy wpisać w Terminalu poniższe zaklęcie:
defaults write com.apple.Finder QLEnableTextSelection -bool true
_ 
  • Podgląd w oknie Otwórz. Zgadza się, QL to usługa systemowa, więc w praktycznie dowolnej aplikacji, wykorzystującej systemowe okno dialogowe, które pojawia się gdy chcemy wczytać dokument, możemy „dla pewności” taki dokument, przed załadowaniem do programu, podejrzeć!

Smacznego!