[[Apple]]
 

Differences

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

Link to this comparison view

apple [2017/01/17 13:40]
dblume [Daemons, Agents, Cron, Launchd]
apple [2020/03/17 17:26] (current)
dblume [Configuration] brew install telnet
Line 29: Line 29:
       * Turn off auto underline-to-italic, dashes, smart quotes: 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**+**BSD vs. Linux commands**
  
-OS X comes with BSD grep pre-installed, which doesn't use the Perl -P flag.+macOS comes with BSD grep pre-installed, which doesn't use the Perl -P flag.
  
-  - Go to http://brew.sh/ and run the ruby command+Go to http://brew.sh/ and run the ruby command.
-  - <nowiki>brew install homebrew/dupes/grep --with-default-names; brew install gnu-sed --with-default-names</nowiki> +
-  - Log out of that console window and log back in again.+
  
-** Python Packages **+  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 
 +  brew install pv 
 +  brew install gnupg 
 +  brew install telnet 
 +  # 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
  
-If pip isn't installed yet (Python older than 2.7.9), then install it with easy_install, then install requests. +Log out of that console window and log back in again.
- +
-  sudo -H easy_install pip +
-  sudo -H pip install requests+
  
  
Line 60: Line 70:
 ===== 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 67: Line 77:
 #!/usr/bin/env bash #!/usr/bin/env bash
 curl --data "`hostname -s`=`ifconfig | /usr/local/bin/grep "inet " | grep -v "127.0.0.1" | \ 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' | \ +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" 
-tr ";\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>
 +
 +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. Note that we had to specify the path to the homebrew grep, because LaunchAgent would use the default one instead.
  
-cd into ~/Library/LaunchAgents and add a new plist file+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 85: Line 98:
     <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 99: Line 116:
  
 <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 106: Line 123:
  
   * [[http://iterm2.com/|iTerm2]] and install your [[http://git.dlma.com/dotfiles.git/|dotfiles]].   * [[http://iterm2.com/|iTerm2]] and install your [[http://git.dlma.com/dotfiles.git/|dotfiles]].
 +    * Preferences -> Profiles -> Terminal -> uncheck "Save lines to scrollback in alternate screen mode"
   * 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 145: Line 163:
       * 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)]].
  
  
Line 154: Line 172:
   * [[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 163: Line 180:
  
 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 ======
Line 172: Line 185:
 [[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 ======+====== 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: On the server side get your user ID and group ID (id -u; id -g), and update /etc/exports with something like:
apple.1484689212.txt.gz · Last modified: 2017/01/17 13:40 by dblume
 
Recent changes RSS feed Driven by DokuWiki