Konfiguration meines MacBook

Juni 29, 2017·
Julio Batista Silva
Julio Batista Silva
· 10 Min Lesezeit

[rootless] (SIP) deaktivieren

System Integrity Protection („rootless“) verhindert Änderungen an bestimmten Verzeichnissen und Dateien – selbst durch root.

Manche Programme funktionieren mit aktivem SIP nicht richtig. So deaktivierst du es:

  • Starte in den Recovery Mode: Beim Start Command ⌘ + R gedrückt halten
  • Terminal öffnen: Utilities » Terminal
  • Befehl ausführen: csrutil disable
Hinweis
SIP ist ein Sicherheitsmechanismus und sollte, wenn möglich, wieder aktiviert werden.

Root-Passwort setzen

sudo passwd

Hostname

sudo scutil --set ComputerName "Air"
sudo scutil --set HostName "Air"
sudo scutil --set LocalHostName "Air"
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server.plist NetBIOSName -string "Air"

Trackpad

Ziehen mit drei Fingern

Accessibility » Mouse & Trackpad » Trackpad Options… » Enable dragging » three finger drag

Scanner

Xsane, das ich unter Linux nutze, funktioniert auch auf dem Mac. Es ist Open Source und sehr umfangreich:

brew install sane-backends
brew install xsane

Vuescan ist eine native App und funktioniert sehr gut, ist aber kostenpflichtig.

Zoom

Accessibility » Zoom » Use scroll gesture with modifier keys to zoom: ^ Control

XCode

Die neueste Xcode-Version gibt’s im App Store oder unter https://developer.apple.com/downloads/, dort auch Betas.

Falls das von der Apple‑Seite geladene .xip als beschädigt gemeldet wird, versuche ein anderes Programm. The Unarchiver zeigte „Data Corrupted“, mit Archive Utility klappte es einwandfrei.

Installiere die Command Line Tools:

xcode-select --install
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

Öffne Xcode und akzeptiere die Lizenz oder tippe „agree“ in sudo xcodebuild -license.

Gatekeeper deaktivieren, um Apps aus dem Internet zu erlauben

Löst „XXX can’t be opened because it is from an unidentified developer“.

sudo spctl --master-disable

System Preferences > Security & Privacy > General » Allow apps downloaded from: Anywhere.

Wieder aktivieren mit: sudo spctl --master-enable.

Dotfiles

git clone --recursive https://github.com/jbsilva/dotfiles.git

cd dotfiles

git submodule update --init --recursive

Homebrew

Homebrew installieren:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew tap Homebrew/bundle

brew bundle --file=/Users/julio/dotfiles/Brewfile

Karabiner-Elements

Lade Karabiner-Elements herunter.

Erweiterte Modifikationen findest du unter https://ke-complex-modifications.pqrs.org/.

Caps Lock gegen ESC tauschen

Die Konfiguration liegt in den Dotfiles.

Im Finder mit Enter Ordner öffnen

Mit F2 umbenennen

Zplug + Zprezto

Zplug verwaltet ZSH‑Plugins. Es wird automatisch installiert.

ln -s ~/dotfiles/.gitconfig ~
ln -s ~/dotfiles/.config ~
ln -s ~/dotfiles/.zsh ~
ln -s ~/dotfiles/.zshrc ~
sudo cp ~/dotfiles/fstab /etc/fstab

Zsh als Default‑Shell

command -v zsh | sudo tee -a /etc/shells
sudo chsh -s "$(command -v zsh)" "${USER}"
compaudit | xargs chmod g-w

Zsh completions

Formel zsh_completions installieren:

brew install zsh-completions

$(brew --prefix)/share/zsh-completions zum $FPATH hinzufügen:

FPATH=$(brew --prefix)/share/zsh-completions:$FPATH

Festplatte mounten

Zielordner in /etc/fstab anlegen und als unveränderlich markieren

Damit macOS ihn nach dem Aushängen nicht löscht:

sudo mkdir /Volumes/Elements
sudo chflags uchg /Volumes/Elements/

Datenträger mounten

diskutil mount disk2s1

Vim

Vundle

Vim öffnen und Plugins installieren: :PluginInstall

Rechtschreibprüfung

:setlocal spell spelllang=pt_br im Vim eingeben und den Anweisungen folgen.

Finder

  • Im Home‑Ordner (~)
    • View » Show View Options (Cmd+J):
      • Calculate all sizes,
      • Show Library Folder,
      • Show item info
  • Auf dem Desktop
    • Rechtsklick » Show View Options (Cmd+J):
      • Show item info,
      • Grid spacing erhöhen

Automatischen Sleep verhindern

Es gibt mehrere Tools dafür:

  • InsomniaX
  • Caffeine
  • Amphetamine
  • KeepingYouAwake

Ich nutze KeepingYouAwake – simpel und kostenlos.

Per Kommandozeile gibt’s caffeinate:

Eine Stunde (3600 Sekunden) wach halten:

caffeinate -u -t 3600

Bis zum Ende eines Kommandos wach halten:

caffeinate -s command

Wach halten bis Ctrl‑C:

caffeinate -I

Sleep beim Zuklappen verhindern

sudo pmset -a disablesleep 1

Festplatten‑Sleep deaktivieren

System Preferences » Energy Saver: „Put hard disks to sleep when possible“ deaktivieren

ln -s /Volumes ~/Desktop/

Gastbenutzer deaktivieren

System Preferences » Users & Groups: „Allow guest to log in to this computer“ deaktivieren.

SSH

Schlüssel aus dem Backup kopieren und Berechtigungen setzen:

cp -r /Volumes/Cofre/.ssh ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/*
chmod 644 ~/.ssh/*.pub

Spotlight

System Preferences » Spotlight

Spotlight liefert oft irrelevante Ergebnisse. Deaktiviere Bookmarks & History, Fonts, Movies, Music, Other, Presentations etc.

„Allow Spotlight Suggestion in Look up“ abwählen.

NTFS

NTFS‑3g

OSXFuse und NTFS‑3g lassen sich kostenlos via Homebrew installieren.

mount_ntfs mit ntfs‑3g verlinken:

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs

Paragon und Tuxera

Ich habe NTFS‑3g viele Jahre genutzt (Linux und Mac), aber die Performance ist wirklich mäßig.

Ich bin auf Paragon umgestiegen, als ich ein paar Terabyte sichern musste – die Transferrate war deutlich besser.

Wenn du oft NTFS‑Datenträger nutzt, erwäge Paragon (R$ 34,95) oder [Tuxera] (R$ 107,13).

Python

Virtualenv

$ export PYTHON_CONFIGURE_OPTS="--enable-framework --enable-unicode=ucs4 --enable-ipv6 --enable-loadable-sqlite-extensions"

(Weitere Optionen: –enable-shared –with-wide-unicode –with-computed-gotos)

$ pyenv install 2.7-dev
$ pyenv install 3.7-dev
$ pyenv rehash
$ pyenv global 2.7-dev 3.7-dev

Framework‑Support (--enable-framework) ist nötig für Tools wie YouCompleteMe.

Python‑Libs

pip3 install flake8 ipython matplotlib numpy pep8 pep8-naming pygments scipy unidecode mako coursera awscli neovim

Ruby

Ruby Version Manager (RVM)

curl -L https://get.rvm.io | bash -s stable --rails

Gems

gem install pygmentize

Defaults

Trackpad und Maus

Natural scrolling

defaults write NSGlobalDomain com.apple.swipescrolldirection -bool true

Tap to click

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1

Rechtsklick

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 0
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true
defaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 0
defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true

Tastatur

Tab in Modaldialogen aktivieren

defaults write NSGlobalDomain AppleKeyboardUIMode -int 3

Sprache

defaults write NSGlobalDomain AppleLanguages -array "en" "de" "pt-BR"

defaults write NSGlobalDomain AppleLocale -string "pt_BR@currency=BRL"

defaults write NSGlobalDomain AppleMeasurementUnits -string "Centimeters"

defaults write NSGlobalDomain AppleMetricUnits -bool true

Debug‑Menü im App Store aktivieren

defaults write com.apple.appstore ShowDebugMenu -bool true

Speicherort für Screenshots

SCREENSHOTS="${HOME}/Desktop/Screenshots" && mkdir "${SCREENSHOTS}" && defaults write com.apple.screencapture location -string "${SCREENSHOTS}"

Zeichenwiederholung beim Gedrückthalten aktivieren (Neustart nötig)

    $ defaults write -g ApplePressAndHoldEnabled -bool false

Schnellere Tastenwiederholrate

    $ defaults write NSGlobalDomain KeyRepeat -int 2

Finder startet im Home‑Ordner (~/)

    $ defaults write com.apple.finder NewWindowTarget -string "PfLo"
    $ defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}"

Pfadleiste im Finder anzeigen

    $ defaults write com.apple.finder ShowPathbar -bool true

Statusleiste im Finder anzeigen

    $ defaults write com.apple.finder ShowStatusBar -bool true

Warnung bei Dateiendungsänderung deaktivieren

    $ defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

Täglich nach Updates suchen (Standard: wöchentlich)

    $ defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1

Interne Festplatten‑Icons auf dem Desktop anzeigen

    $ defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true

Externe Festplatten‑Icons auf dem Desktop anzeigen

    $ defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true

Wechselmedien‑Icons auf dem Desktop anzeigen

    $ defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true

Server‑Icons auf dem Desktop anzeigen

    $ defaults write com.apple.finder ShowMountedServersOnDesktop -bool true

Keine .DS_Store auf Netzwerkvolumes erstellen

    $ defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Entwickler‑Menü und Web Inspector in Safari aktivieren

    defaults write com.apple.Safari IncludeInternalDebugMenu -bool true && \
    defaults write com.apple.Safari IncludeDevelopMenu -bool true && \
    defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true && \
    defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true && \
    defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

Absoluten Pfad in der Finder‑Titelleiste anzeigen

    $ defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES

~/Library anzeigen

    $ chflags nohidden ~/Library

Default Apps

Manuell

    $ vim ~/Library/Preferences/com.apple.LaunchServices.plist

Duti

    $ duti -s org.videolan.vlc .mp4 all

CUPS Web‑Interface aktivieren

    $ sudo cupsctl WebInterface=yes

Server unter http://localhost:631/admin.

Lock Screen

System Preferences » Security & Privacy » General » Require Password » 5 seconds

Sperren: Control + Shift + Power | Sleep: Command ⌘ + Option ⌥ + Power

Shortcut: System Preferences » Keyboard » Shortcuts » + » Lock Screen » Tastenkürzel

iTerm2

Terminal-Farbschema

Zenburn anwenden

$ wget https://raw.githubusercontent.com/mbadolato/iTerm2-Color-Schemes/master/schemes/Zenburn.itermcolors

Command ⌘ + i » Colors » Color Presets » Import… » Zenburn.itermcolors » Open General » Copy Current Settings to Selected Profile.

Schrift

Nerd Fonts wurde via Homebrew installiert. In iTerm2 verwenden:

Preferences » Profiles » Text » Non-ASCII Font » Hack Regular Nerd Font Complete

Login Items

System Preferences » Users & Groups » Current User » Login Items

Nur behalten:

  • Flux
  • InsomniaX (oder Äquivalent)
  • SwitchResX Daemon
  • Moom

Chrome als Standardbrowser

xdg-mime default chromium.desktop x-scheme-handler/http
xdg-mime default chromium.desktop x-scheme-handler/https

Chrome stumm schalten

In der Adressleiste: chrome://flags/#enable-tab-audio-muting

Hosts

Ich habe ein Skript, das die Hosts‑Datei von someonewhocares.org lädt und automatisch installiert:

sudo ~/dotfiles/hosts.sh

Eine App zur Verwaltung der Hosts‑Datei ist GasMask:

brew cask install gas-mask

Dock

Nur nützliche Programme im Dock behalten:

  • Finder
  • Mail
  • Contacts
  • Calendar
  • iTerm
  • Google Chrome

Spotify

Neben dem Login in Spotify auch Last.fm Scrobble konfigurieren: Preferences » Connect to Last.fm

Preferences: „Local Files“ deaktivieren

Tipps

Deckblatt in „Two Page View“ im Preview nicht separat anzeigen

Bei Anzeige eines PDFs mit zwei Seiten zeigt Preview die erste Seite separat wie ein Buchcover. Wenn das nicht gewünscht ist und es keine Option gibt, füge eine leere Seite ein und setze sie nach vorne: Edit » Insert » Blank Page; View » Contact Sheet, dann die leere Seite nach vorne ziehen.

Scrollen im Terminal

Shift+fn+UP und Shift+fn+DOWN

Mail

Gmail‑Konten sind trivial; zusätzlich nutze ich ein Konto auf meinem eigenen Host.

Falls Mail die IMAP‑Sonderordner nicht erkennt, weise sie manuell zu, z. B.:

Deleted Messages wählen » Mailbox » Use This Mailbox As » Trash Mailbox

PATH

Prüfe, ob die Reihenfolge der Verzeichnisse in /etc/paths stimmt und alle vorhanden sind.

Programme ohne Homebrew installiert

  • Adobe Acrobat Pro oder PDF Expert: PDFs ansehen/bearbeiten
  • Adobe Lightroom: Fotos organisieren
  • Adobe Photoshop: Bildbearbeitung
  • CleanMyMac: Systempflege
  • Dash: API Documentation Browser
  • iStat Menu: Menüleisten‑Status für CPU/RAM/Netzwerk/etc.
  • LittleSnitch: Blockiert unerwünschte Verbindungen. Kostenlose Alternative: Lulu
  • MacPaw Gemini: Doppelte Dateien entfernen
  • Microsoft Office
  • Many Tricks Moom: Fensterverwaltung
  • Parallels: Virtualisierung
  • SideSync: Samsung‑Geräte verwalten
  • SwitchResX: Auflösung
  • Vuescan: Scanner (Alternative: xsane)
  • Wunderlist

Firewall

macOS bringt pfctl mit. LittleSnitch und Lulu erlauben ebenfalls das Verwalten ausgehender Verbindungen.

SSL‑Zertifikate

In meinem Fall musste ich Uni‑Zertifikate hinzufügen: moodle.dc.ufscar.br

MySQL

CLI

brew install mysql
mysql.server start
mysql_secure_installation
mysql_upgrade -u root -p
mysql.server restart
$ mysql -u root -p
  mysql> select host, user, password from mysql.user;
  mysql> CREATE USER 'julio'@'localhost' IDENTIFIED BY '123456';
  mysql> GRANT ALL PRIVILEGES ON *.* TO 'julio'@'localhost' WITH GRANT OPTION;
  mysql> show variables;
  mysql> show databases;
  mysql> use nome_do_esquema;
$ mysql.server stop

MySQL Workbench

brew cask install mysqlworkbench

Apache

Folgende Zeilen in /etc/apache2/httpd.conf auskommentieren:

LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
Benutzerverzeichnis

Folgende Zeilen in /etc/apache2/httpd.conf auskommentieren:

LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf

Folgende Zeile in /etc/apache2/extra/httpd-userdir.conf auskommentieren:

Include /private/etc/apache2/users/*.conf

Erstelle die Datei /etc/apache2/users/julio.conf:

<Directory "/Users/julio/Sites/">
    Options Indexes MultiViews FollowSymLinks
    Require all granted
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Apache neu starten: sudo apachectl restart.

Ordner ~/Sites erstellen:

mkdir ~/Sites

PHP

sudo cp /etc/php.ini.default /etc/php.ini
sudo -e /etc/php.ini

phpMyAdmin

sudo vim /etc/apache2/httpd.conf
Alias /phpmyadmin /usr/local/share/phpmyadmin
<Directory /usr/local/share/phpmyadmin/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Allow from all
    </IfModule>
</Directory>

Google KSFetch

Google prüft stündlich auf Updates. Umstellen auf 7 Tage:

defaults write com.google.Keystone.Agent checkInterval 604800

Oder ganz deaktivieren:

defaults write com.google.Keystone.Agent checkInterval 0

iTerm2 + tmux

iTerm2 ist in tmux integriert, einem Terminal‑Multiplexer.

Über Homebrew installieren:

brew install tmux

Control mode:

tmux -CC

Byobu

Besser als screen und tmux

Update: auch Zellij in Betracht ziehen.

Datum

Date & Time:

  • Use a 24-hour clock,
  • Show the day of the week,
  • Show date

iBooks

Jedes Mal, wenn du ein .epub öffnest, kopiert iBooks es nach /Users/julio/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks.

Das Original bleibt am alten Ort. Um Platz zu sparen, lohnt ggf. das Löschen (im iBooks selbst).

Inline attachment viewing type:

defaults write com.apple.mail DisableInlineAttachmentViewing -bool yes
defaults write com.apple.mail DisableInlineAttachmentViewing -bool false

Github

git config --global credential.helper osxkeychain

Das ist bereits in ~/.gitconfig konfiguriert.

Wörterbücher

Dict.cc

Download: http://www.dict.cc/?s=about%3Awordlist

iStat Menus

Settings » Date & Time:

  • Show date and time in menu bar deaktivieren.

Settings » Energy Saver:

  • Show battery status in menu bar deaktivieren.

Elemente in der Menüleiste umordnen, indem du sie mit gedrückter Command (⌘)-Taste ziehst.

Skype

Skype » Preferences… » Save files in: ~/Downloads/Skype

Telegram

Telegram » Preferences… » Advanced Settings » Save documents to: ~/Download/Telegram


Julio Batista Silva
Autoren
Senior Cloud-Entwickler
comments powered by Disqus