Antyaliasing podpikselowy i macOS Mojave

Aktualizacja macOS do wersji 10.14 Mojave, poza wieloma ciekawymi (aczkolwiek wymagającymi przyzwyczajenia) zmianami wprowadza również jedną bardzo niemiłą, szczególnie dla posiadaczy ekranów o rozdzielczościach mniejszych niż „retina” (w szczególności FHD) – usuwa całkowicie antyaliasing podpikselowy (subpixel antialiasing), który był swego czasu wyróżnikiem tego systemu na tle Windows czy dystrybucji Linuksa. Obecnie wszystkie systemy operacyjne obsługują taką formę wygładzania krawędzi fontów. Wszystkie poza macOS Mojave.

Na codzień, pracując na trzech ekranach (ekran MacBooka + dwa ekrany FHD) brak takiego wygładzania – szczególnie przy pisaniu kodu – daje się we znaki mocno. Oczywiście, Apple tłumaczy zabieg usunięcia takiego renderowania różnicami w budowie paneli LCD oraz faktem poprawy wydajności – z czym całkowicie się zgadzam, bo obliczeń przy antyaliasingu „standardowym” jest zdecydowanie mniej i nie jest on zależny od tła pod tekstem, ale…

Okazuje się, że istnieje możliwość „przywrócenia” zdecydowanie milszego dla oka wygładzania – wystarczy w konsoli (Terminal, iTerm, co kto lubi) wpisać:

defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO

a następnie, dla osiągnięcia pełnego efektu, przelogować się lub zrestartować system.
Zabieg odwracalny, w każdej chwili można zmienić parametr NO na YES lub po prostu usunąć wprowadzoną wartość:

defaults delete -g CGFontRenderingFontSmoothingDisabled
Przed zmianami, antyaliasing standardowy B&W
Po zmianach, antyaliasing podpikselowy (subpixel antialiasing)

PPTP VPN na macOS Sierra

Z racji usunięcia przez Apple możliwości konfiguracji połączeń VPN PPTP poprzez GUI, trzeba sobie radzić inaczej – ale nadal bez żadnych dodatkowych aplikacji 😉

Do /etc/ppp/peers dodajemy plik pptp z zawartością np. taką jak poniżej:

debug
	logfile /tmp/ppp.log
	plugin PPTP.ppp
	remoteaddress <ADRES_VPN>
	redialcount 1
	redialtimer 5
	idle 1800
	#mru 1320
	mtu 1320
	receive-all
	novj 0:0
	ipcp-accept-local
	ipcp-accept-remote
	#noauth
	#refuse-pap
	#refuse-chap-md5
	refuse-eap
	user <NAZWA_UŻYTKOWNIKA_VPN>
	hide-password
	#noaskpassword
	#mppe-stateless
	#mppe-128
	require-mppe
	nomppe-40
	nomppe-128
	mppe-stateful
	passive
	looplocal
	password <HASŁO_VPN>
	nodetach
	defaultroute
	ms-dns 8.8.8.8
	usepeerdns

Gdzie <ADRES_VPN>, <NAZWA_UŻYTKOWNIKA_VPN> i <HASŁO_VPN> podstawiamy dane wg własnych potrzeb.

Do uruchamiania/zatrzymywania połączenia VPN można wykorzystać prosty skrypt AppleScript:

set pppStatus to do shell script "ps aux|grep '[p]ppd'|wc -l|awk {'print $1'}" with administrator privileges
if pppStatus > 0 then
	set buttonStatus to display dialog "PPTP status: connected" buttons {"Disconnect", "Close"} cancel button "Close" default button "Disconnect" with title "PPTP VPN"
else
	set buttonStatus to display dialog "PPTP status: disconnected" buttons {"Connect", "Close"} cancel button "Close" default button "Connect" with title "PPTP VPN"
end if
if button returned of buttonStatus is "Connect" then
	display notification "Connecting PPTP VPN..."
	do shell script "exec pppd call pptp >/dev/null 2>&1 &" with administrator privileges
	delay 1
else if button returned of buttonStatus is "Disconnect" then
	display notification "Disconnecting PPTP VPN..."
	do shell script "exec kill -HUP `cat /var/run/ppp0.pid` >/dev/null 2>&1 &" with administrator privileges
	delay 1
end if

El Capitan i „rootless” lub System Integrity Protection (SIP)

Żeby nie szukać po innych stronach, a przecież będzie to potrzebne po każdej aktualizacji…

sudo nvram boot-args="rootless=0"

Update
Aby utrudniać jeszcze bardziej, od wersji PB3…
Po restarcie komputera przytrzymać ⌘-R aż pojawi się logo Apple. A następnie:

Narzędzia > Konfiguracja zabezpieczeń
Narzędzia > Konfiguracja zabezpieczeń

Odznaczyć "Enforce System Integrity Protection" i kliknąć "Zastosuj konfigurację"
Odznaczyć „Enforce System Integrity Protection” i kliknąć „Zastosuj konfigurację”

Update
Od wersji DB7/PB5…
Ta opcja wydaje się być ostateczną, zachowaną w kolejnych (stabilnych i beta) wersjach 10.11.
Po restarcie komputera przytrzymać ⌘-R aż pojawi się logo Apple. A następnie:

Narzędzia > Terminal
Narzędzia > Terminal

csrutil disable
csrutil disable