User Tools

Site Tools


apple

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apple [2016/04/01 08:53] – [Configuration] dblumeapple [2024/04/26 20:44] (current) – [BSD vs. Linux commands] add tmux-256color dblume
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 -> Pointer Control -> Trackpad Options and enable 'Dragging (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>   * [[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>
 +      * 2024 Microsoft Natural Ergonomic Keyboard needs [[https://karabiner-elements.pqrs.org/|Karabiner Elements]] to make the following two swaps:
 +        * left_option -> left_command
 +        * application -> left_option
 +      * Swap the Option and Command keys.
     * Dock     * Dock
       * Position on Right       * Position on Right
-      * Automatically show and hide dock?+      * Automatically show and hide dock 
 +    * iTerm2 
 +      * User Powerline Fonts per [[private:fonts]].
     * Outlook     * Outlook
-      * Turn off auto underline-to-italic: Preferences -> AutoCorrect then click on the AutoFormat page+      * Turn off auto underline-to-italic, dashes, smart quotes: Preferences -> AutoCorrect then click on the AutoFormat page
  
-**BSD grep**+===== Tools Installation =====
  
-OS X comes with BSD grep pre-installed, which doesn'use the Perl -P flag.+The old way of installing Command Line Tools from the Terminal doesn'work anymore. But now it can be done from [[https://developer.apple.com/download/more/?=command%20line%20tools|the Developer download site]], not from the Terminal.
  
-  - Go to http://brew.sh/ and run the ruby command. +==== BSD vsLinux commands ====
-  - brew install homebrew/dupes/grep --with-default-names +
-  - Log out of that console window and log back in again.+
  
-** Python Packages **+macOS comes with BSD grep pre-installed, which doesn't use the Perl -P flag.
  
-If pip isn't installed yet (Python older than 2.7.9)then install it with easy_installthen install requests.+Go to http://brew.sh/ and run the ruby command. (See [[https://git.dlma.com/dotfiles.git/commit/fc19c7b34f522f3f22a32418c9da55df6b9b5f0e|this .bash_profile change for how we use default names for GNU ctagsfindgrep and sed]].)
  
-  sudo -H easy_install pip +  brew install grep 
-  sudo -H pip install requests+  brew install gnu-sed 
 +  brew install findutils 
 +  brew install ctags 
 +  brew install gawk 
 +  brew install jq 
 +  brew install tree 
 +  brew install httpie 
 +  brew install inetutils  # If you need telnet (maybe nc is good enough?) 
 +  brew install telnet 
 +  brew install gnuplot 
 +  brew install pv 
 +  brew install gnupg 
 +  brew install socat 
 +  brew install wget 
 +  brew install nmap 
 +  brew install tmux 
 +  brew install saulpw/vd/visidata 
 +  brew install ripgrep 
 +  brew install moreutils 
 +  brew install bash-completion. " See .bash_profile 
 +  brew install gitui 
 +  # Maybe also readline if you brew install python3 
 +   
 +  brew install bash 
 +  # Note where it was installed. Then something like... 
 +  sudo ln -s /opt/homebrew/Cellar/bash/5.2.15/bin/bash /usr/local/bin/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.
 +
 +==== tmux and "tmux-256color" ====
 +
 +We set tmux to set $TERM to "tmux" so that neovim's highlight can include italics. And we bump it to "tmux-256color" so that VisiData can make use of all its colors. (Dot plot AirPassengers.csv but don't set the month column to any format.)
 +
 +VisiData will complain it "could not find terminfo database". So we [[https://gist.github.com/nicm/ea9cf3c93f22e0246ec858122d9abea1?permalink_comment_id=4206886#gistcomment-4206886|manually use the one provided by a tmux developer]]...
 +
 +  curl -O "https://gist.github.com/nicm/ea9cf3c93f22e0246ec858122d9abea1/raw/37ae29fc86e88b48dbc8a674478ad3e7a009f357/tmux-256color"
 +  sudo tic -x tmux-256color
 +
 +That should install the database into /usr/share/terminfo
  
 ===== Tips ===== ===== Tips =====
Line 52: Line 98:
 | 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]] 
- 
-^ Codename      ^ Version ^ Notes ^ 
-| Snow Leopard  | 10.6    | iMac  | 
-| Lion          | 10.7    | MacBook Air (allows dragging on all window borders) | 
-| Mountain Lion | 10.8    | Current | 
  
 ===== Daemons, Agents, Cron, Launchd ===== ===== Daemons, Agents, Cron, Launchd =====
  
-The preferred way to set a repeating task is not to use a cronjob but launchd.+The preferred way to set a repeating task is not to use a cronjob but launchd. :!: Note that there's a breaking change in macOS Catalina. [[https://www.reddit.com/r/MacOS/comments/dffpzj/launchd_agent_no_longer_functions_after_catalina/|Launchd agent no longer functions after Catalina upgrade]].
  
 In your ~/bin directory, create a job to run, tag_ip_address.sh In your ~/bin directory, create a job to run, tag_ip_address.sh
Line 69: Line 107:
 <code bash tag_ip_address.sh> <code bash tag_ip_address.sh>
 #!/usr/bin/env bash #!/usr/bin/env bash
-curl --data "`hostname -s`=`ifconfig | grep "inet " | grep -v "127.0.0.1" | sed -E 's/.*inet (([0-9]+.){3}[0-9]+).*/\1/'`&auth=ahov" "http://kvs.dlma.com"+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> </code>
  
-cd into ~/Library/LaunchAgents and add a new plist file+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> <code xml com.dlma.tag_ip_address.plist>
Line 84: Line 129:
     <key>Program</key>     <key>Program</key>
         <string>/Users/dblume/bin/tag_ip_address.sh</string>         <string>/Users/dblume/bin/tag_ip_address.sh</string>
 +    <key>StandardOutPath</key>
 +        <string>/tmp/com.dlma.tag_ip_address.plist.out.txt</string>
 +    <key>StandardErrorPath</key>
 +        <string>/tmp/com.dlma.tag_ip_address.plist.err.txt</string>
     <key>StartCalendarInterval</key>     <key>StartCalendarInterval</key>
-    <dict> +        <dict> 
-        <key>Hour</key> +            <key>Hour</key> 
-        <integer>12</integer> +            <integer>12</integer> 
-        <key>Minute</key> +            <key>Minute</key> 
-        <integer>0</integer> +            <integer>0</integer> 
-    </dict>+        </dict>
 </dict> </dict>
 </plist> </plist>
Line 98: Line 147:
  
 <code bash> <code bash>
-$ launchctl load -w com.dlma.tag_ip_address.plist+$ launchctl load -w /Library/LaunchDaemons/com.dlma.tag_ip_address.plist
 </code> </code>
  
Line 104: Line 153:
 ===== 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'' +    Preferences -> Profiles -> Terminal -> uncheck "Save lines to scrollback in alternate screen mode" 
-  * [[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. +    Install Powerline Fonts per [[private:fonts]].
-  * [[http://foreword.com/2012/07/6869/vanilla_folders/|TotalFinder]] for some intuitive Finder features+
-  [[http://plentycom.jp/en/steermouse/|SteerMouse]] to change ScrollWheel rolling to constant 3x instead of accellerated +
-  * [[http://decimus.net/DTerm/|DTerm]] for quick one-off terminal commands +
-  * [[http://www.apple.com/downloads/macosx/development_tools/plisteditpro.html|Property List Editor]] for giving [[http://bura-bura.com/blog/archives/2006/08/18/increasing-the-heap-size-of-freemind-on-macos-x/|Minecraft more memory]]. +
-  * [[http://toolbar.google.com/gmail-helper/notifier_mac.html|Google Notifier]] ([[http://support.google.com/mail/bin/answer.py?hl=en&answer=10960|Two-step Authentication instructions]]) +
-  * GTD: [[http://www.hogbaysoftware.com/products/taskpaper|Taskpaper]] or [[http://culturedcode.com/things/|Things]] or [[http://www.omnigroup.com/products/omnifocus/|Omnifocus]] +
-  * [[http://magicprefs.com/|MagicPrefs]] for finer tuning of the Magic Mouse+
   * [[http://www.delicious-monster.com/|Delicious Library]]: Keep track of my physical media.   * [[http://www.delicious-monster.com/|Delicious Library]]: Keep track of my physical media.
   * Code Editing   * Code Editing
-    * [[http://www.sublimetext.com/3|Sublime Text 3]] and then [[http://config.dlma.com/#sublime|configure]] it.+    * [[https://code.visualstudio.com/|Visual Studio Code]]
     * [[http://developer.apple.com/tools/xcode/|XCode]]     * [[http://developer.apple.com/tools/xcode/|XCode]]
-    * [[http://macromates.com/|TextMate]] 
-    * [[http://www.barebones.com/products/bbedit/|BBEdit]] (or [[http://www.barebones.com/products/bbedit/comparison.html|TextWrangler]]) 
-    * [[http://www.editrocket.com/|EditRocket]] (Eventually read [[http://regebro.wordpress.com/2010/10/09/is-there-a-better-python-ide/|the comparison of Python IDEs]]) 
-  * [[http://quicksilver.en.softonic.com/mac|Quicksilver]]: Reach any program with a few keystrokes. (Eg., Control+space, M for Mail) 
   * Paint program   * Paint program
     * [[http://gimp.lisanet.de/Website/Download.html|GIMP]] (Can I find something powerful, free **and** user-friendly?) X11 is frustrating.     * [[http://gimp.lisanet.de/Website/Download.html|GIMP]] (Can I find something powerful, free **and** user-friendly?) X11 is frustrating.
Line 130: Line 168:
     * [[http://www.artrage.com/artrage-demos.html|ArtRage]]     * [[http://www.artrage.com/artrage-demos.html|ArtRage]]
  
-[[http://foreword.com/2011/05/6796/hack_os_x/|Danelope]] suggests these Image Editors:+[[http://foreword.com/2011/05/6796/hack_os_x/|Danelope]] suggests these Image Editors in 2011:
  
   * http://gimpshop.com/   * http://gimpshop.com/
Line 144: Line 182:
       * Command Key: Control Panel -> Keyboard -> Modifier Keys... -> swap Command and Control keys       * Command Key: Control Panel -> Keyboard -> Modifier Keys... -> swap Command and Control keys
         * Except that [[https://discussions.apple.com/thread/2793826?threadID=2793826&tstart=90|it doesn't persist past logging out]].         * Except that [[https://discussions.apple.com/thread/2793826?threadID=2793826&tstart=90|it doesn't persist past logging out]].
-      * [[http://lifehacker.com/5826055/make-your-keyboard-keys-repeat-properly-when-held-down-in-mac-os-x-lion|Make Your Keyboard Keys Repeat Properly When Held Down in Mac OS X Lion]].+      * [[http://lifehacker.com/5826055/make-your-keyboard-keys-repeat-properly-when-held-down-in-mac-os-x-lion|Make Your Keyboard Keys Repeat Properly When Held Down in Mac OS X Lion (macOS)]]. 
 +  * [[http://quicksilver.en.softonic.com/mac|Quicksilver]]: Reach any program with a few keystrokes. (Eg., Control+space, M for Mail)
  
  
Line 153: Line 192:
   * [[wp>Sokoban|Sokoban]]   * [[wp>Sokoban|Sokoban]]
   * A [[http://build.last.fm/category/Scrobblers|Scrobbler]]   * A [[http://build.last.fm/category/Scrobblers|Scrobbler]]
-  * A [[http://www.plurk.com/API|new Plurk client]] 
  
 ==== Sokoban ==== ==== Sokoban ====
Line 162: Line 200:
  
 What matters here is the ability to scrobble what I've played to last.fm directly from my iPhone/iPod. What matters here is the ability to scrobble what I've played to last.fm directly from my iPhone/iPod.
- 
-==== Plurk ==== 
- 
-The existing official client could stand improvement. 
  
 ====== Prey ====== ====== Prey ======
  
 [[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 macOS ======
 +
 +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
apple.1459525980.txt.gz · Last modified: 2023/04/12 20:44 (external edit)