Konfiguration meines MacBook
[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 ⌘+Rgedrückt halten - Terminal öffnen: Utilities » Terminal
- Befehl ausführen:
csrutil disable
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.
Symlinks zu den Dotfiles
ln -s ~/dotfiles/.gitconfig ~
ln -s ~/dotfiles/.config ~
ln -s ~/dotfiles/.zsh ~
ln -s ~/dotfiles/.zshrc ~
Dateien kopieren, die keine Links sein können
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
- Rechtsklick »
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
Symlink zu /Volumes auf dem Desktop
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
- 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
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 bardeaktivieren.
Settings » Energy Saver:
Show battery status in menu bardeaktivieren.
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
Links
- https://gist.github.com/1623487.git
- Rootless: https://en.wikipedia.org/wiki/System_Integrity_Protection
- Sicherheit: https://github.com/lfit/itpol/blob/master/linux-workstation-security.md
- https://www.reddit.com/r/osx/comments/300chd/what_are_the_most_essential_apps_for_os_x_in/
- https://github.com/monfresh/laptop
- https://gist.github.com/adamstac/822811
- http://mikebuss.com/2014/02/02/a-beautiful-productive-terminal-experience/
- http://www.defaults-write.com/
- http://www.slant.co/topics/526/~window-manager-for-mac
- http://www.sunrisepage.com/computers/osx/osx1011.htm
- http://www.reecefowell.com/2012/11/16/ksfetch-annoyance-on-mac-os-x-10-8-ml-with-hands-off-or-little-snitch-firewall/
- https://gitlab.com/gnachman/iterm2/wikis/TmuxIntegration
- http://www.simononsoftware.com/virtualenv-tutorial-part-2/
- https://www.tekrevue.com/tip/gatekeeper-macos-sierra/
- https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection