Un script shell interactif pour créer facilement une VM VirtualBox MacOS.
Les calendriers partagés Google Calendar ne sont pas synchronisés par défaut sur MacOS/IOS. Pour y accéder, il faut sélectionner explicitement les calendriers ici: https://www.google.com/calendar/syncselect
Pratique pour compresser les PDF lorsqu'on doit envoyer des documents par mail aux administrations mais que celles-ci ont des limites à 10Mb
To save storage space, you can compress a PDF in Preview.
Note: When compressed, the PDF may be of lower quality than the original.
In the Preview app on your Mac, open the PDF, then choose File > Export.
Click the Quartz Filter pop-up menu, then choose Reduce File Size.
Procedure pour installer differentes versions d'un logiciel avec brew:
$ git clone git@github.com:Homebrew/homebrew-core.git
$ cd homebrew-core
$ git log master -- Formula/terraform.rb
# retrouver le commit de la version qu'on souhaite installer
$ git checkout <commitid>
$ cd Formula
$ brew unpin terraform
$ brew unlink terraform
$ brew install terraform.rb
$ brew pin terraform
$ brew switch terraform <version>
Pour gérer les versions de Terraform, je préfère utiliser tfenv, mais la procédure est valable pour n'importe quel logiciel installable avec brew.
Le Getting Started pour utiliser Hammerspoon sur MacOS
What is Hammerspoon?
Hammerspoon is a desktop automation tool for OS X. It bridges various system level APIs into a Lua scripting engine, allowing you to have powerful effects on your system by writing Lua scripts.
C'est super puissant pour controller MacOS.
Quelques examples:
- Déplacer la fenêtre actuelle sur la moitié gauche de l'écran en pressant les touches
Cmd
,alt
,ctrl
et gauche
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Left", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local screen = win:screen()
local max = screen:frame()
f.x = max.x
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
- Déplacer la fenêtre actuelle sur la moitié droite de l'écran en pressant les touches
Cmd
,alt
,ctrl
et droite
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Right", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local screen = win:screen()
local max = screen:frame()
f.x = max.x + (max.w / 2)
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
- Afficher le titre en écoute sur Spotify en pressant les touches
Cmd
,alt
,ctrl
etS
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "S", function()
hs.spotify.displayCurrentTrack()
end)
MacOS inclut /usr/libexec/java_home
pour configurer JAVA_HOME
:
export JAVA_HOME=$(/usr/libexec/java_home)
Un générateur de launchd.plist
pour executer des tâches schedulées sur MacOS.
Powershell est disponible sur macos (brew install powershell-preview
). Pratique quand a pas envie de lancer un os windows juste pour tester un bout de code powershell. Bien il n'est pas possible sur les fonctions bas niveau de powershell...
A noter que c'est aussi dispo sur la plupart des distros linux: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux
Petit procédure pour générer une clé GPG avec Keybase sur MacOS et l'utiliser pour signer ses commits GitHub
Pour installer une appli via brew à partir d'une PR pas encore mergée dans master:
brew pull <github_pr_number>
brew install <formula_name>
Erreur rencontrée avec Ansible 2.6.5, Python 2.7.15 et MacOS 10.13 lors de l'execution d'un playbook sur un Windows 2016 Server:
$ ansible-playbook playbook.yml
PLAY [Prepare instance] *********************************************************************************************************************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************************************************************************************************
Friday 05 October 2018 11:32:23 +0200 (0:00:00.072) 0:00:00.072 ********
objc[11299]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called.
objc[11299]: +[__NSPlaceholderDate initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
^C [ERROR]: User interrupted execution
A priori c'est lié à la gestion des forks dans MacOS High Sierra. Le workaround est de faire un export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
avant de lancer Ansible
QuickLook stocke en clair une miniature de chaque fichier visualisé.
qlmanage -r cache # supprime les miniatures actuelles
qlmanage -r disablecache # désactive la mise en cache de ces miniatures
Quelques bonnes pratiques pour sécuriser MacOS.
Toutes les features d'iTerm2 en une page
Pour utiliser la font "Apple SF Mono" dans d'autres applications que Terminal.app sur MacOS
How-to pour mettre en place un Slave Jenkins sur un Mac pour builder des apps IOS depuis le Jenkins Master
10 commandes pour accélérer MacOSX en désactivant les animations superflues
Bug #1245081 “macbook keyboard layout maps the tilde key to some...” : Bugs : linux package : Ubuntu
Pour inverser le mapping des touches #@ et <> sur un clavier mac sous linux:
echo "echo 0 > /sys/module/hid_apple/parameters/iso_layout" >> /etc/rc.local
Comment installer Ubuntu sur MacOS X El Captain. C'est le créateur de Refind qui répond à la question. Testé et approuvé
- Boot the Ubuntu installer into "try without installing mode."
- Open a Terminal program window.
- In the Terminal, type ubiquity -b. This will run the Ubuntu installer, but -b tells it to not install a boot loader. If you follow advanced installation options, be sure to use ext4fs as your filesystem. Do not use a separate /boot partition unless you use LVM, RAID, or an encrypted root (/) partition. You may need to shrink your OS X partition to make room for Ubuntu (or you can do that before you start).
- When you're done, reboot, but hold down Command+R to boot into the OS X recovery environment.
- Launch a Terminal window and type csrutil disable to disable SIP.
- Reboot. The system should boot OS X normally.
- Install rEFInd.
Pour utiliser X11 dans un docker sur MacOS X:
brew install socat
brew cask install xquartz
open -a XQuartz
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
# in another window
# MyVBoxIP = VirtualBox IP with ifconfig vboxnet0
docker run -e DISPLAY=${MyVBoxIP}:0 jess/geary