Seite wählen

NETWAYS Blog

Homebrew – Der fehlende Paketmanager für macOS

Manche haben noch nie davon gehört, einige kennen ihn, und viele lieben ihn.

Zu Teenagerzeiten kannte ich nur Windows und dessen Umgang, wie man Software installiert und ebenfalls lästige Update-Hinweise beim Öffnen der Programme. Wie viele andere auch, begann ich meine Ausbildung mit einem Ubuntu auf meiner Workstation und lernte Linux Distributionen kennen und lieben. Einher ging die einfache Arte und Weiße an einer zentralen Stelle Software zu installieren, zu verwalten und auf dem neusten Stand zu halten. Zum Ende meiner Ausbildung bekam ich die Wahl eines neuen Notebooks und entschied mich für ein MacBook. Jedoch fand ich die manuelle Installation der Software und Pakete für die Kommandozeile sehr zeitaufwendig. Daraufhin empfahl mir ein damaliger Arbeitskollege Homebrew.

Homebrew ist eine in Ruby geschriebene, opensource Paketverwaltung für macOS, welche 2009 ursprünglich von Max Howell geschrieben wurde. Zur Unterstützung weiterer Pakete durch Beiträge anderer Nutzer wird GitHub verwendet. Modifikationen sind also schnell rückgängig gemacht und Änderungen lassen sich leicht umsetzen. Seit 2016 gibt es auch Linuxbrew, ein Homebrew-Fork für Linux, welcher seit 2019 fester Bestandteil von Homebrew geworden ist.

Die Installation ist genauso einfach wie die Bedienung:

$ /bin/bash -c "$(curl -fsSL "

Dabei erklärt dir das Skript was es macht und wartet auf deine Eingabe bevor es etwas ausführt.

Ein Paket oder eine Software installiert man folgendermaßen:

$ brew install git

Dabei spielt es keine Rolle, ob das Paket eine kommandozeilenbasierte Software ist oder eine grafische macOS Anwendung:

$ brew install google-chrome

Hierbei wird das erweiternde Projekt Homebrew Cask verwendet. Ob es für eine Software bereits ein Homebrew-Paket oder -Cask gibt lässt sich mittels Suche auf Kommandozeile herausfinden:

$ brew search google
==> Formulae
aws-google-auth                google-go                    google-sql-tool
google-authenticator-libpam    google-java-format           googler      
google-benchmark               google-sparsehash            googletest  
goose 

==> Casks
google-ads-editor              google-japanese-ime
google-analytics-opt-out       google-trends
google-assistant               google-web-designer
google-chat                    googleappengine
google-chat-electron           marshallofsound-google-play-music-player
google-chrome ✔                moefe-google-translate
google-cloud-sdk               homebrew/cask-versions/google-chrome-beta
google-drive                   homebrew/cask-versions/google-chrome-canary
google-drive-file-stream       homebrew/cask-versions/google-chrome-dev
google-earth-pro               homebrew/cask-versions/google-japanese-ime-dev
google-featured-photos

Falls es ein Paket noch nicht geben sollte, kann man es auch selbst erstellen:

$ brew create 
Created /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bar.rb

oder

$ brew create --cask foo
Editing /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/foo.rb

Alle, über Homebrew installierte, Software aktuell zu halten ist ebenso simpel, wie man es von anderen Unix/Linux Distributionen kennt:

$ brew update && brew upgrade

Das nur einmal für den Anfang.

Ausführliche Dokumentation und Informationen zu diesem Projekt findet man auf der Homepage oder auf Github:

Janina Vogel
Janina Vogel
Assistant Manager Consulting

Janina ist seit Dezember 2018 bei NETWAYS. Zunächst hat sie uns als Consultant unterstützt, seit Ende ihrer Elternzeit im September 2021 arbeitet sie im Bereich der technischen Planung. Besonders gefällt ihr, dass es in der IT nie langweilig wird und man immer wieder neu gefordert ist. Außerhalb der Arbeit geht sie ihrer Leidenschaft fürs Kochen und Backen nach.

Philips Brilliance 258B6 and macOS

With Apples policy to get rid of established connection methods and switching entirely to USB-C, we faced the need for keeping hardware connected to the new Apple devices.
As there are many offers for adapting USB-C to any other connectors, we looked thoroughly through these possibilities.
In the end we found a charming solution, Philips‘ Brilliance 258B6 (Review)
It provides USB-A, HDMI, DSUB, DVI, Audio connectivity, Ethernet, Display Connection and Power Supply via one single USB-C Slot so other devices could still be connected directly at the MacBooks USB-C ports.
While this setup has been runnig smoothly with mostly Dell Notebooks with Windows and Fedora, macOS was sometimes having issues.
The most annoying one has been intermittend Network connection loss. We have discussed this topic at length and could determine, that there is no fault at our network setup.
After a lot of testing, Philips came up with a solution: Installing the correct driver! You may find version 1.0.17 here.
Having installed this specific version, the monitors started to act as expected.
Another issue some users had to face, was a random vertical shift by one pixel.
Using the OSD you might want to switch off „Pixel Orbiting“ and this strange behaviour stopped.
So if you’re thinking about buying a new monitor for your new devices, this monitor might be a very good choice.

Tim Albert
Tim Albert
Senior Systems Engineer

Tim kommt aus einem kleinen Ort zwischen Nürnberg und Ansbach, an der malerischen B14 gelegen. Er hat in Erlangen Lehramt und in Koblenz Informationsmanagement studiert. Seit Anfang 2016 ist er bei uns tätig. Zuerst im Managed Services Team, dort kümmerte Tim sich um Infrastrukturthemen und den internen Support, um dann 2019 - zusammen mit Marius - Gründungsmitglied der ITSM Abteilung zu werden. In seiner Freizeit engagiert sich Tim in der Freiwilligen Feuerwehr – als Maschinist und Atemschutzgeräteträger -, spielt im Laientheater Bauernschwänke und ist auch handwerklich ein absolutes Allroundtalent. Angefangen von Mauern hochziehen bis hin zur KNX-Verkabelung ist er jederzeit...

Mac: Install binary packages with Cask

Unter Mac OS X sind die Anwendungen ziemlich gut organisiert. Alles ist an einem Fleck und die Vielfalt ist groß. Installiert man sich allerdings viele Anwendungen ohne die Verwendung des App Stores verliert man schnell die Übersicht. Mit Cask wird eine CLI zu Verfügung gestellt, welche genau diese Lücke schließt:
 

$ brew cask search sublime
==> Partial matches
sublime-text	  sublime-text-dev  sublime-text3
$ brew cask install sublime-text3
==> Caveats
Cask sublime-text3 installs files under "/usr/local".  The presence of such
files can cause warnings when running "brew doctor", which is considered
to be a bug in homebrew-cask.
==> Downloading 
######################################################################## 100.0%
==> Symlinking App 'Sublime Text.app' to '/Users/mhein/Applications/Sublime Text.app'
==> Symlinking Binary 'subl' to '/usr/local/bin/subl'
?  sublime-text3 staged at '/opt/homebrew-cask/Caskroom/sublime-text3/Build 3083' (106 files, 26M)
$ ls Applications/ | grep Sublime.*
Sublime Text.app

Okay, das haut jetzt den Geek mit samt seinem Lötkolben nicht unbedingt vom Hocker. Die Anwendung wird in den Benutzer-Application Verzeichnis installiert. Man spart sich allerdings viel Zeit beim aktualisieren und warten: Was ist installiert, in welchen Versionen und kann ich es upgraden.
Cask ist eine Erweiterung von Homebrew und befindet sich auf Github.

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

powerline-shell

powerline-shell
Hi folks,
ich habe letztens bei meinem Kollegen Mr. Frog ein neues Bling-Bling entdeckt The Mighty Powerline-Shell die mir besonders gut gefallen hat, ich war so angefixt das Ich mir einbildete das auch haben zu müssen, gesagt getan.
Die Powerline-Shell ist richtig Gut, da Sie als Segmentiertes ’self contained‘ Python-Script folgende Features abdeckt.

  • Ihr seht egal ob Git, SVN, Mercurial o. Fossil immer was gerade Sache ist
  • wenn eure Pfade auf einer Zeile zu lang werden, dann werden Sie gekürzt ohne relevante Information zu verlieren
  • viel Buntes für den Kreativen Ops/Dev ( Colored Themes )
  • auch werden euch Rückgabe werte des letzten Befehls aus eurer Shell ungleich 0 zurückgegeben
  • wenn Ihr euch per SSH auf entfernte Systeme verbindet, dann wird auch dies durch ein Schloss Symbol kenntlich gemacht
  • wenn das aktuelle Verzeichnis nicht mit euren Rechten beschrieben werden darf, wird dies auch durch ein Schloss Symbol wiedergegeben
  • Sie kann auch den Title eures TerminalEmulator mit user@host:/path Einträgen umschreiben
  • zeigt auch Änderungen an der Umgebung an ( Virtual Environment )
  • die aktuelle Zeit ist nun auch mit am Start ( Segment wurde von mir eingeführt, da ich dieses Feature für mein Daily benötige )
  • zeigt auch laufende Hintergrund Jobs an ( Shell forks )
  • die Features sind leicht zu erweitern ( Segmente werden in Python geschrieben )

Die Powerline-Shell ist auch sehr benutzerfreundlich in etwa 3 Schritten eingerichtet.

cd ~ && mkdir git && cd git
git clone https://github.com/powerline/fonts.git powerline-shell-fonts
git clone 
./powerline-shell-fonts/install.sh
./powerline-shell/install.py
vi ~/.bashrc

Noch fix den Prompt auf die Powerline-Shell umbiegen. 😉

function _update_ps1() {
	export PS1="$(~/powerline-shell.py $? 2>> /dev/null)"
}
export PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"

Und einen der neu installierten Fonts mit dem ‚Powerline‘ Suffix wählen, fertig.
Hier noch Bilder „weil Bilder mehr als tausend Worte …“ naja ihr wisst schon.
github-lenrico-powerline-shell
Links:

https://github.com/Lokaltog/powerline-fonts
 

Unnötiger Wirbel um die Magic Mouse

Die Magic Mouse wurde am 20. Oktober 2009 der Öffentlichkeit vorgestellt. Durchsucht man heute das Internet nach einigen Tipps oder Kaufentscheidungen, gehen die Meinungen zu der Wundermaus doch sehr weit auseinander. Viele bemängeln, dass die Maus den Zeiger zu langsam über den Bildschirm fährt oder sich nach dem Standby des Rechners nicht wieder automatisch verbindet, aber dafür gibt es so einfache Lösungen, dass viele gar nicht erst drauf kommen.
automatisches Verbinden der Magic Mouse
Wer kennt das nicht, der Mac war aus, das MacBook war im Standby oder die Maus war leer. Scheinbar gibt es hier keinen Umweg um das Bluetooth Symbol und das manuelle Koppeln. Das sich das für Mac-User die dann nur noch eine Tastatur haben – als schwierig gestaltet – ist klar.
Doch es geht auch anders, man muss nur darauf kommen. Der Mac wird angeschaltet oder aus dem Standby geholt und die Maus ist angeschaltet und liegt in der Reichweite, man schiebt sie über den Tisch, aber nichts passiert. Wer der Maus nach dem Einschalten beider Endpunkte 3 Sekunden Zeit gibt und dann mal klickt, der wird sehen, dass die Maus sich automatisch wieder mit dem Mac verbindet.
Mausempfindlichkeit auf Anschlag aber dennoch zu langsam?
Auch hier gibt es mehrere Lösungen, auf die man erst kommen muss. Zum Einen gibt es die Möglichkeit einer Softwarelösung um die Mausgeschwindigkeit zu erhöhen. Hier gibt es zum Beispiel MZoom. Doch Apple hat auch hier mitgedacht und die Zeigerbeschleunigung dummerweise unkommentiert gelassen. Testet es selbst, wenn man die Maus langsam vom linken auf den rechten Bildschirmrand schiebt, hat man mit der Hand eine ziemlich große Strecke zurück gelegt. Gibt man der Mouse am Anfang einen etwas größeren Ruck, so braucht man wesentlich weniger Strecke um die Bildfläche zu überqueren und spart sich so das Umsetzen der Maus.
Better Touch Tool als Allzweckwaffe
Alles bekommt auch Apple nicht mit seiner Magic Mouse hin, organisiert man sich aber noch das freie Programm „Better Touch Tool“, so kann man seiner Magic Mouse doch zeigen, wie sie den Zeiger schneller bewegt. Außerdem kann man noch eine Vielzahl von neuen Gesten und neuer Funktionen für die Magic Mouse und das Trackpad hinzufügen.