Home
Welcome
About This Wiki
sandbox (play here)
This shows you the differences between two versions of the page.
apple [2015/03/26 13:18] dblume [Configuration] |
apple [2019/02/03 13:19] (current) dblume [Configuration] Add brew install gnuplot |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Apple ====== | ====== Apple ====== | ||
- | We got our first Macintosh. Here are some things I'm considering doing. | + | First time configuration of a new Macintosh. Updated for macOS Sierra 10.12 |
===== Configuration ===== | ===== Configuration ===== | ||
+ | * System Preferences: | ||
+ | * Trackpad -> Tap to Click (For not having to press hard for a click.) | ||
+ | * Tap-and-drag: Accessibility -> Mouse & Trackpad -> Trackpad Options and enable 'Dragging (with/without) Drag Lock' | ||
+ | * Open the Photos app, and drag a userpic to it. Then change your userpic in the System Preferences. | ||
* Get [[http://www.google.com/chrome/intl/en/landing_chrome.html?hl=en&platform=mac|Chrome]] (Login and sync.) | * Get [[http://www.google.com/chrome/intl/en/landing_chrome.html?hl=en&platform=mac|Chrome]] (Login and sync.) | ||
- | * [[http://www.mikesel.info/disable-os-x-dashboard/|Disable the dashboard]] with <code>defaults write com.apple.dashboard mcx-disabled -boolean YES; Killall Dock</code> | + | * [[http://www.tekrevue.com/tip/show-path-finder-title-bar/|Show the full path in the finder]] with <code>defaults write com.apple.finder _FXShowPosixPathInTitle -bool true; killall Finder</code> |
* System Preferences: | * System Preferences: | ||
- | * Tap-and-drag: System Preferences -> Universal Access -> Mouse & Trackpad -> Trackpad Options and enable 'Dragging (with/without) Drag Lock' (the second checkbox) to restore the old behavior. | ||
- | * Appearance | ||
- | * Place scroll arrows: At top and bottom | ||
* Mouse | * Mouse | ||
* Make tracking speed much faster! | * Make tracking speed much faster! | ||
* Enable Secondary click for the right mouse button | * Enable Secondary click for the right mouse button | ||
- | * Consider [[http://pilotmoon.com/scrollreverser/|Scroll Reverser]] to have [[http://apple.stackexchange.com/questions/116617/how-to-separate-mouse-and-trackpad-settings|natural scrolling for trackpad, but reversed for the mouse]]. | + | * 2017-01-15 (still needed): Consider [[http://pilotmoon.com/scrollreverser/|Scroll Reverser]] to have [[http://apple.stackexchange.com/questions/116617/how-to-separate-mouse-and-trackpad-settings|natural scrolling for trackpad, but reversed for the mouse]]. |
* Disable [[http://apple.stackexchange.com/questions/159180/yosemite-disabling-inertia-scrolling-using-scroll-wheel-for-the-mouse|inertia mousewheel scrolling]] with:<code>defaults write .GlobalPreferences com.apple.scrollwheel.scaling -1</code> | * Disable [[http://apple.stackexchange.com/questions/159180/yosemite-disabling-inertia-scrolling-using-scroll-wheel-for-the-mouse|inertia mousewheel scrolling]] with:<code>defaults write .GlobalPreferences com.apple.scrollwheel.scaling -1</code> | ||
* Get SteerMouse (linked below) to stop wheel acceleration (Or [[http://www.logitech.com/en-us/428/146?section=downloads&bit=&osid=9|Logitech V200 LCC]]) | * Get SteerMouse (linked below) to stop wheel acceleration (Or [[http://www.logitech.com/en-us/428/146?section=downloads&bit=&osid=9|Logitech V200 LCC]]) | ||
+ | * Keyboard | ||
+ | * Set Key Repeat to fastest, and Delay until Repeat to second shortest. | ||
+ | * Some apps don't repeat anything because some keys have a character accent menu. To disable: <code>defaults write -g ApplePressAndHoldEnabled -bool false</code> | ||
+ | * Microsoft Natural Ergonomic Keyboard 4000 doesn't have a current driver. That's OK. | ||
+ | * Swap the Option and Command keys. | ||
* Dock | * Dock | ||
* Position on Right | * Position on Right | ||
- | * Automatically show and hide dock? | + | * Automatically show and hide dock |
+ | * Outlook | ||
+ | * Turn off auto underline-to-italic, dashes, smart quotes: Preferences -> AutoCorrect then click on the AutoFormat page | ||
+ | |||
+ | **BSD grep** | ||
+ | |||
+ | OS X comes with BSD grep pre-installed, which doesn't use the Perl -P flag. | ||
+ | |||
+ | Go to http://brew.sh/ and run the ruby command. | ||
+ | |||
+ | brew install grep --with-default-names | ||
+ | brew install gnu-sed --with-default-names | ||
+ | brew install findutils --with-default-names | ||
+ | brew install jq | ||
+ | brew install tree | ||
+ | brew install httpie | ||
+ | brew install inetutils # If you need telnet (maybe nc is good enough?) | ||
+ | brew install gnuplot | ||
+ | # Maybe also readline if you brew install python3 | ||
+ | |||
+ | brew install bash | ||
+ | sudo echo /usr/local/bin/bash >> /etc/shells | ||
+ | chsh -s /usr/local/bin/bash | ||
+ | |||
+ | Log out of that console window and log back in again. | ||
+ | |||
+ | ** Python Packages ** | ||
+ | |||
+ | If pip isn't installed yet (Python older than 2.7.9), then install it with easy_install, then install requests. | ||
+ | |||
+ | sudo -H easy_install pip | ||
+ | sudo -H pip install requests | ||
+ | |||
===== Tips ===== | ===== Tips ===== | ||
Line 32: | Line 71: | ||
| Shift+Opt+Command+V | Paste without formatting | | | Shift+Opt+Command+V | Paste without formatting | | ||
- | ===== Versions and Codenames ===== | ||
- | Current info at Wikipedia: [[wp>OS_X#Versions]] | + | ===== Daemons, Agents, Cron, Launchd ===== |
- | ^ Codename ^ Version ^ Notes ^ | + | The preferred way to set a repeating task is not to use a cronjob but launchd. |
- | | Snow Leopard | 10.6 | iMac | | + | |
- | | Lion | 10.7 | MacBook Air (allows dragging on all window borders) | | + | In your ~/bin directory, create a job to run, tag_ip_address.sh |
- | | Mountain Lion | 10.8 | Current | | + | |
+ | <code bash tag_ip_address.sh> | ||
+ | #!/usr/bin/env bash | ||
+ | curl --data "`hostname -s`=`ifconfig | /usr/local/bin/grep "inet " | grep -v "127.0.0.1" | \ | ||
+ | sed -E 's/.*inet (([0-9]+.){3}[0-9]+).*/\1/' | perl -p -e 'chomp if eof;s/\n/,/'`&auth=[your secret auth]" "https://kvs.dlma.com" | ||
+ | |||
+ | sleep 11 # if launched as a daemon, live for 11s to not be detected as buggy. | ||
+ | </code> | ||
+ | |||
+ | That "sleep 11" is to mitigate the buggy daemon detection mentioned [[https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html|here]]. | ||
+ | |||
+ | Note that we had to specify the path to the homebrew grep, because LaunchAgent would use the default one instead. | ||
+ | |||
+ | cd into ~/Library/LaunchAgents or (/Library/LaunchDaemons if it can really be a daemon) and add a new plist file | ||
+ | |||
+ | <code xml com.dlma.tag_ip_address.plist> | ||
+ | <?xml version="1.0" encoding="UTF-8"?> | ||
+ | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" | ||
+ | "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
+ | <plist version="1.0"> | ||
+ | <dict> | ||
+ | <key>Label</key> | ||
+ | <string>com.dlma.tag_ip_address</string> | ||
+ | <key>Program</key> | ||
+ | <string>/Users/dblume/bin/tag_ip_address.sh</string> | ||
+ | <key>StartCalendarInterval</key> | ||
+ | <dict> | ||
+ | <key>Hour</key> | ||
+ | <integer>12</integer> | ||
+ | <key>Minute</key> | ||
+ | <integer>0</integer> | ||
+ | </dict> | ||
+ | </dict> | ||
+ | </plist> | ||
+ | </code> | ||
+ | |||
+ | Finally, [[http://apple.stackexchange.com/questions/217453/configure-launchd|you need to explicitly load it]]. | ||
+ | |||
+ | <code bash> | ||
+ | $ launchctl load -w com.dlma.tag_ip_address.plist | ||
+ | </code> | ||
===== Software to Get ===== | ===== Software to Get ===== | ||
- | * [[http://iterm2.com/|iTerm2]] | + | * [[http://iterm2.com/|iTerm2]] and install your [[http://git.dlma.com/dotfiles.git/|dotfiles]]. |
* If you want [[http://ipython.org/|IPython]], you probably have to install [[http://pypi.python.org/pypi/readline/6.2.4.1|readline]], too: ''sudo easy_install readline ipython'' | * If you want [[http://ipython.org/|IPython]], you probably have to install [[http://pypi.python.org/pypi/readline/6.2.4.1|readline]], too: ''sudo easy_install readline ipython'' | ||
* [[http://www5e.biglobe.ne.jp/~arcana/StartupSound/index.en.html|Startup Sound]] (Make it quieter before Lion!) [[http://hints.macworld.com/article.php?story=20120513121111656|Adjusting Startup Chime]] after Lion. | * [[http://www5e.biglobe.ne.jp/~arcana/StartupSound/index.en.html|Startup Sound]] (Make it quieter before Lion!) [[http://hints.macworld.com/article.php?story=20120513121111656|Adjusting Startup Chime]] after Lion. | ||
Line 74: | Line 152: | ||
* http://gimpshop.com/ | * http://gimpshop.com/ | ||
* http://pixelmator.com/ | * http://pixelmator.com/ | ||
+ | |||
===== Preferences I don't set anymore ===== | ===== Preferences I don't set anymore ===== | ||
Line 109: | Line 188: | ||
[[https://panel.preyproject.com/]] for when the device goes missing. (Or is stolen by a thief.) | [[https://panel.preyproject.com/]] for when the device goes missing. (Or is stolen by a thief.) | ||
+ | |||
+ | ====== NFS for OS X ====== | ||
+ | |||
+ | On the server side get your user ID and group ID (id -u; id -g), and update /etc/exports with something like: | ||
+ | |||
+ | <code> | ||
+ | /path/to/share 10.?.?.?(rw,sync,insecure,all_squash_anonuid=<uid>,anongid=<gid>) | ||
+ | </code> | ||
+ | |||
+ | 10.?.?.? would be the IP of the Macintosh. (That'll have to be updated every time it changes.) For a Macintosh to connect, "insecure" was said to be needed. And "all_squash" was needed for the uid and gid to be set. Restart and check the NFS server with "sudo systemctl restart nfs-server.service; systemctl status nfs-server.service". | ||
+ | |||
+ | Get the "hostname" for the server for the next bit on the client side. Call it jdoe-t3610. | ||
+ | |||
+ | On the client side, you could manually mount the NFS volume with something like, "<nowiki>nfs://jdoe-t3610/path/to/share</nowiki>" | ||
+ | |||
+ | Or better, configure automounter by adding a line to <nowiki>/etc/auto_master</nowiki>: | ||
+ | |||
+ | <code> | ||
+ | /- auto_sandbox -rw | ||
+ | </code> | ||
+ | |||
+ | And then make the file /etc/auto_sandbox | ||
+ | |||
+ | <code> | ||
+ | /sandbox nfs://jdoe-t3610/path/to/share | ||
+ | </code> | ||
+ | |||
+ | For the purpose of P4 client compatibility with the dev system, I use a symbolic link at root. | ||
+ | |||
+ | <code> | ||
+ | $ sudo ln -s /sandbox/sandbox/stb/ /link_to_p4_root | ||
+ | </code> | ||
+ | |||
+ | If you want your changes to take effect immediately, | ||
+ | |||
+ | <code> | ||
+ | $ sudo automount -vc | ||
+ | </code> | ||
====== Keywords ====== | ====== Keywords ====== | ||
aps, todo | aps, todo |