Mac-Desktop-Installation
Anleitung für eine Mac-Installation mit allen Einstellungen und Programmen, die man so haben sollte.
Tastenkürzel
Alt
+Cmd
+ESC
: Programme sofort beenden
Homebrew
Links:
Homebrew installieren:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
Homebrew und Formeln aktualisieren:
brew update
Homebrew ermöglichen, alternative Cask-Versionen zu finden - z.B. alte Java-Versionen (nur einmal nötig):
brew tap caskroom/versions
Nach Formeln suchen:
brew search <formula-name>
Formel installieren:
brew install <formula-name>
Formel deinstallieren:
brew install <formula-name>
Cask-Formel installieren:
brew cask install <formula-name>
Cask-Formel deinstallieren:
brew cask uninstall <formula-name>
Anzeigen, was veraltet ist:
brew outdated
Alles aktualisieren:
brew upgrade
Veraltete Pakete entfernen (Wichtig: Vorher brew upgrade
ausführen, sonst werden alte Pakete komplett gelöscht):
brew update # optional
brew upgrade
brew cleanup
Oder nur eine bestimmte Formel aktualisieren:
brew upgrade <formula-name>
Alle installierten Formeln anzeigen:
brew list
brew cask list
Nur die obersten installierten Formeln anzeigen:
brew leaves
Weitere Befehle:
brew help
MacPorts
MacPorts ist ein Paketsystem, über das man Open-Source-Software installieren und verwalten kann. MacPorts baut dabei alle Pakete aus dem Source.
- Download: http://www.macports.org/install.php
- Ausführliche Doku: http://guide.macports.org/
- Deinstallations-Anleitung
Installation:
- XCode aus dem AppStore installieren: http://itunes.apple.com/us/app/xcode/id448457090?mt=12
- XCode starten
- Im Menü -> XCode -> Preferences -> Downloads auswählen und das Paket "Command Line Tools" installieren.
- MacPorts installieren
MacPorts-Paketinfos und veraltete Pakete aktualisieren:
sudo port -v selfupdate && sudo port upgrade outdated
Temporären Kram löschen:
sudo port clean --all installed
Nach einem Paket suchen (Im Beispiel Suche nach wireshark
):
port echo wireshark
Oder im Web: http://www.macports.org/ports.php
Paket installieren (Im Beispiel wireshark
):
sudo port install wireshark
Programme
- Firefox
- Add-Ons: Adblock Plus, Firefox Sync, Easy Youtube Video Downloader
- Für Entwickler: Firebug, Live HTTP Headers, JSONView, ColorZilla
- Thunderbird
- Open Office
- Skype
- Chat-Client: Adium
- CPU-Meter: MenuMeters bzw. MenuMeters-Fork für El Capitan
- Texteditor: Textwrangler (oder: Textmate)
- Bildverarbeitung: Gimp
- Video-Player: VLC
- Finder-Ersatz: Pathfinder
- VM-Ware: VMware Fusion
- Analyse der Plattenbelegung: Disk Inventory X (ähnlich wie Sequioa View unter Windows)
- Wireshark: [http://www.wireshark.org/download.html]() oder über
sudo port install wireshark
- VNC-Client: Chicken of the VNC
- Google-SketchUp
- Anti-Aliasing der Linien aktivieren:
- Menü -> Fenster -> Ruby-Konsole
- Folgendes Kommando absetzen:
Test.set_AA_method(4)
- Google-SketchUp neu starten
- Anti-Aliasing der Linien aktivieren:
- System-Sound aufnehmen: Soundflower
- Terminal: iTerm2
- Anleitung: Keyboard-Shortcuts zum Überspringen von Wörtern (Alternative: Stackoverflow-Frage)
- Einstellungen -> Profiles -> Keys
- Unter "Key Mappings" das Mapping für
Alt
+left
umstellen auf "Send Escape Sequence" und "b" - Unter "Key Mappings" das Mapping für
Alt
+right
umstellen auf "Send Escape Sequence" und "f"
- Anleitung: Keyboard-Shortcuts zum Überspringen von Wörtern (Alternative: Stackoverflow-Frage)
Infos
Prüfen, ob es Prozesse gibt, die einen Sleep verhindern:
pmset -g assertions
Umgebungsvariablen setzen
~/.bash_profile
öffnen und Umgebungsvariablen eintragen:
export JAVA_HOME=/Library/Java/Home/
export PATH=$PATH:/some/path/bin
Globaler Kram
Keine geschützten Leerzeichen
Wenn man z.B. in einem Editor Alt
+Leertaste
drückt, dann kommt dabei kein normales Leerzeichen raus, sondern ein geschütztes (also ein nicht umbrechendes). Das kann beim Editieren von Code sehr nervig sein - vor allem wenn man Dinge wie if (a || b)
schreiben will und nach dem Tippen der Pipe (Alt
+7
) nicht schnell genug von der Leertaste runter kommt.
So bekommt man auch beim Drücken von Alt
+Leertaste
ein ganz normales Leerzeichen:
Datei ~/Library/KeyBindings/DefaultKeyBinding.dict
öffnen (ggf. anlegen) und folgendes eintragen:
{
"~ " = ("insertText:", " ");
}
Danach neu einloggen.
zsh
zsh installieren:
brew install zsh
oh-my-zsh installieren:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- Definiert automatisch zsh als Default-Shell
Plugins:
-
Power-Level-10k (Theme für oh-my-zsh) installieren:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
- Dann in
~/.zshrc
eintragen:ZSH_THEME="powerlevel10k/powerlevel10k"
- Dann in
-
zsh-autosuggestions installieren:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- Dann in
~/.zshrc
eintragen:plugins=(zsh-autosuggestions)
- Dann in
-
zsh-syntax-highlighting installieren:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
- Dann in
~/.zshrc
eintragen:plugins=(zsh-syntax-highlighting)
- Dann in
Terminal
Blöde rote, nervige Notification bei Terminal abschalten (kommt jedes mal, wenn sich in einem Terminal-Fenster ohne Fokus was ändert):
defaults write com.apple.dock no-bouncing -bool TRUE
Für jedes Terminal-Fenster eine eigene Bash-History behalten: In die .bash_profile
(bzw. .bashrc
) folgendes eintragen:
MYTTY=`tty`
HISTFILE=$HOME/.bash_history_`basename $MYTTY`
Versteckte Dateien im Finder anzeigen
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
SSH aktivieren
- "Einstellungen -> Freigaben" öffnen
- "Entfernte Anmeldung" aktivieren
Launchd konfigurieren
Launchd ist unter Mac OS der Scheduler, mit dem man zu bestimmten Zeiten oder bei bestimmten Ereignissen Programme ausführen kann.
Konfigurationsbeschreibung siehe:
- http://www.devdaily.com/mac-os-x/mac-osx-startup-crontab-launchd-jobs
- http://www.devdaily.com/mac-os-x/launchd-plist-examples-startinterval-startcalendarinterval
- Auch interessant: http://www.devdaily.com/mac-os-x/applescript-shell-unix-command-line-bash-dialog
Gesichtserkennung ausschalten
Siehe auch: reddit-Beitrag
Gesichtserkennung ausschalten:
sudo launchctl remove com.apple.photoanalysisd
Gesichtserkennung wieder einschalten:
sudo launchctl load com.apple.photoanalysisd
Plattenplatz freischaufeln
Links:
Folgende Verzeichnisse sind Löschkandidaten:
~/.gradle/
- Gradle-Cache~/.m2/
- Maven-Cache~/Library/Caches/com.apple.dt.Xcode
- Xcode-Cache~/Library/Developer/Xcode/DerivedData/
- Xcode-Cache~/Library/Developer/Xcode/iOS\ DeviceSupport/
- Daten für Test auf physischem Gerät - das neueste behalten~/Library/Developer/CoreSimulator
- Xcode-Simulator-VMs
Java-Version auf Mac wählen
Optional: Java über Homebrew installieren:
brew update
brew cask install java
Installierte Versionen zeigen:
/usr/libexec/java_home -V
In ~/.bash_profile
eintragen:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_65`
Apache
Vorinstallierten Apache verwenden
Bei MacOS ist bereits ein Apache installiert. Diesen kann unter "Systemeinstellungen -> Freigaben -> Webfreigabe" aktivieren.
- Konfiguration:
/etc/apache2/httpd.conf
- Default-DocumentRoot:
/Library/WebServer/Documents/
- Apache-Fehler-Log:
/var/log/apache2/error_log
- Starten:
sudo apachectl start
(oder dauerhaft über obige Einstellung) - Stoppen:
sudo apachectl stop
(oder dauerhaft über obige Einstellung) - Apache-Config testen:
apachectl configtest
Fehlerbehebung:
PHP aktivieren:
- Apache-Config öffnen:
sudo vi /etc/apache2/httpd.conf
- Darin vor der Zeile
LoadModule php5_module libexec/apache2/libphp5.so
das Kommentarzeichen entfernen - Apache neu starten:
sudo apachectl restart
Rewrite aktivieren:
- Apache-Config öffnen:
sudo vi /etc/apache2/httpd.conf
- Darin vor der Zeile
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
das Kommentarzeichen entfernen - Unter
<Directory "/Library/WebServer/Documents">
umstellen aufAllowOverride All
- Apache neu starten:
sudo apachectl restart
Per Installer
MAMP ist ein Komplettpaket mit Apache, MySQL und PHP.
Download: http://www.mamp.info/de/
Über MacPorts
Außerdem kann man Apache über MacPorts installieren. Damit ist es leichter weitere Module wie z.B. PHP nachzuinstallieren.
Installation:
sudo port install apache2
- Konfiguration:
/opt/local/apache2/conf/httpd.conf
- Default-DocumentRoot:
/opt/local/apache2/htdocs/
Starten:
sudo /opt/local/apache2/bin/apachectl -k start
Stoppen
sudo /opt/local/apache2/bin/apachectl -k stop
Fehler unable to find IPv4 address of "my-host-name"
:
- Eigene IP-Adresse ermitteln. Im Beispiel:
192.168.1.35
/etc/hosts
öffnen- Zeile hinzufügen:
192.168.1.35 my-host-name
SSL aktivieren
Quelle: https://trac.macports.org/wiki/howto/MAMP
Zertifikat erzeugen:
openssl genrsa -des3 -out server.key 1024
# [enter your passphrase, a simple password we will remove soon]
openssl req -new -key server.key -out server.csr
# [you can accept all the defaults, it does not matter, or customize it to your liking]
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
# [will ask for passphrase]
cp server.key server.key.bak
openssl rsa -in server.key.bak -out server.key
# [passphrase needs to be typed]
Zertifikat kopieren:
sudo cp server.crt /opt/local/apache2/conf/
sudo cp server.key /opt/local/apache2/conf/
Folgende Zeilen zu /opt/local/apache2/conf/httpd.conf
hinzufügen:
LoadModule ssl_module modules/mod_ssl.so
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
Evtl. /opt/local/apache2/conf/extra/httpd-ssl.conf
anpassen
PHP 5 installieren
Quelle: http://2tbsp.com/content/install_apache_2_and_php_5_macports
Installation von PHP (Weitere Installationsschalter siehe Quelle):
sudo port install php5 +apache2 +mysql5
Evtl. curl istallieren:
sudo port install php5-curl
PHP-Apache-Modul aktivieren:
cd /opt/local/apache2/modules
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
Apache-Konfiguration öffnen:
sudo pico /opt/local/apache2/conf/httpd.conf
DirectoryIndex anpassen, um index.php
zulassen:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
PHP-Mime-Type hinzufügen so dass PHP-Modul angesprochen wird:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
php.ini
anlegen:
sudo cp /opt/local/etc/php5/php.ini-production /opt/local/etc/php5/php.ini
Danach Apache neu starten:
sudo /opt/local/apache2/bin/apachectl -k stop
sudo /opt/local/apache2/bin/apachectl -k start
Zum Testen eine Datei mit dem Inhalt <?php phpinfo();
unterhalb vom DocumentsRoot ablegen und im Browser aufrufen.
nginx
Links:
- Blog-Artikel Enable gzip compression
über MacPorts
nginx installieren:
sudo port install nginx
sudo cp /opt/local/etc/nginx/mime.types.default /opt/local/etc/nginx/mime.types
sudo cp /opt/local/etc/nginx/nginx.conf.default /opt/local/etc/nginx/nginx.conf
Die Konfiguration liegt in /opt/local/etc/nginx/nginx.conf
Die Logs liegen per Default unter /opt/local/var/log/nginx/
über Homebrew
nginx installieren:
brew install nginx
Die Konfiguration liegt in /usr/local/etc/nginx/nginx.conf
Die WWW-Daten liegen per Default unter /usr/local/var/www/
nginx starten und stoppen
nginx starten (nginx startet dann trotzdem im Hintergrund):
sudo nginx
nginx stoppen:
sudo nginx -s stop
nginx neustarten:
sudo nginx -s reload
Weblinks:
Tomcat über MacPorts
Tomcat installieren (tomcat5
funktioniert leider nicht):
sudo port install tomcat6
Tomcat liegt dann unter /opt/local/share/java/tomcat6/
.
Tomcat-User in /opt/local/share/java/tomcat6/conf/tomcat-users.xml
eintragen:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="password" roles="tomcat,admin,manager"/>
</tomcat-users>
Tomcat starten:
sudo tomcatctl start
Tomcat stoppen:
sudo tomcatctl stop
Git-Server aufsetzen
Quelle: Blog-Artikel
Jeder Nutzer muss bei sich einen SSH-Key generieren (falls noch nicht geschehen):
ssh-keygen -t rsa
Der Key liegt dann unter ~/.ssh/id_rsa.pub
.
Auf dem Server SSH-Server aktivieren unter: Systemeinstellungen / Freigaben / Entfernte Anmeldung
Auf dem Server bei jedem User im Homeverzeichnis den Key hinzufügen:
cd /Users/myuser/
sudo mkdir .ssh
sudo sh -c 'cat /path/to/id_rsa_myuser.pub > .ssh/authorized_keys'
sudo chown -R myuser .ssh
SSH-Config öffnen:
sudo vim /etc/sshd_config
SSH-Config anpassen (entsprechende Zeilen suchen und wie unten anpassen):
# root-Login verbieten
PermitRootLogin no
# RSA-Key-Authentifizierung aktivieren
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# Passwort-Authentifizierung verbieten
PasswordAuthentication no
PermitEmptyPasswords no
# Mac-Passwort-Authentifizierung verbieten
UsePAM no
Repos-Verzeichnis anlegen:
sudo mkdir /var/repos
sudo chgrp users /var/repos
Git-Repo anlegen:
mkdir /var/repos/myrepo.git
cd /var/repos/myrepo.git
git init --bare
Auf lokalem Rechner Git-Repo klonen:
git clone myuser@myserver:/var/repos/myrepo.git
Alternative 1: Auf lokalem Rechner Git-Repo bei bestehendem Repo als origin setzen:
git remote add origin myuser@myserver:/var/repos/myrepo.git
Alternative 2: Auf lokalem Rechner Git-Repo auf die neue Origin-URI umbiegen:
git remote set-url origin myuser@myserver:/var/repos/myrepo.git
VirtualBox-Image verkleinern
Quellen: Blog-Artikel, Stackoverflow
In der Windows-VM:
- Alle nicht benötigten Dateien löschen
- Papierkorb leeren
- Platte defragmentieren
- sdelete herunterladen und damit den nicht benötigten Plattenplatz mit Nullen überschreiben:\
sdelete c: -z
- VM beenden
In MacOS Disks auflisten:
VBoxManage list hdds
In MacOS Disks verkleinern (Endung .vdi
):
VBoxManage modifymedium disk 'path/to/disk.vdi' --compact
In MacOS Disks verkleinern (Endung .vmdk
):
vmware-vdiskmanager
von VMware Knowledge Base herunterladen (siehe "Attachments").-
Disk verkleinern:
path/to/vmware-vdiskmanager -k 'path/to/disk.vmdk'
VMware-Image verkleinern
Quelle: Blog-Artikel
In der Windows-VM:
- Alle nicht benötigten Dateien löschen
- Papierkorb leeren
- Platte defragmentieren
- sdelete herunterladen und damit den nicht benötigten Plattenplatz mit Nullen überschreiben:\
sdelete -c c:
- VM beenden
In MacOS Disk verkleinern:
"/Applications/VMware Fusion.app/Contents/MacOS/diskTool" -k 0 path/to/disk-image.vmdk
Sleep-Modus ändern
Details: http://www.camma.ch/2009/04/28/hibernate-ruhezustand-auf-dem-mac/
Die wichtigsten Hibernate-Modi:
- 0 (sleep only): RAM bleibt erhalten und wird über Akku bzw. Netzteil erhalten.
- 1 (hibernate only): RAM wird auf die Festplatte gesichert und der Rechner heruntergefahren.
- 3 (sleep & hibernate): Vereint Modus 0 (sleep-only) und zur Sicherheit Modus 1 (hibernate only).
Für Desktop-Rechner ist 0 (sleep-only) voreingestellt, für Laptops ist 3 (sleep & hibernate) voreingestellt.
Aktuellen Modus anzeigen:
pmset -g | grep hibernatemode
Modus ändern - im Beispiel auf 0
(sleep only):
sudo pmset -a hibernatemode 0
Problembehebung
Boot-Optionen
Beim Start des Mac kann man direkt nach dem Start-Ton folgende Tasten gedrückt halten für Boot-Optionen:
D
- Hardware-Test startenAlt
- Boot-Medium wählenShift
- Im Save-Mode starten (testet Start-Volume und lädt so wenig wie möglich)Cmd
+V
- Im Verbose-Mode startenCmd
+S
- Im Single-User-Mode starten (Konsole)
Details: http://support.apple.com/kb/HT1343
Skype erkennt iSight-Kamera nicht mehr
Folgende Datei löschen: /Library/Preferences/com.skype.skype.plist