Mac 让 iTerm2 记住用户名密码 expect 脚本

/usr/local/bin
创建脚本 iterm2login.sh,权限设置为777
代码如下:

#!/usr/bin/expect

set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
    "(yes/no)?"
    {send "yes\n";exp_continue}
    "password:"
    {send "[lindex $argv 3]\n"}
}
interact

这里[lindex $argv 0], [lindex $argv 1], [lindex $argv 2], [lindex $argv 3] 分别代表着4个参数。
然后在iTerm2里面配置:
在 Command 选择 Login shell

item2login.sh 22 yadgen 127.0.0.1 password

脚本 端口号 用户名 服务器地址 密码
一一定应即可。

有的公司需要登录Jumpserver大同小异,修改expect即可。

在 Mac OS X 终端里使用 Solarized 配色方案

要在 Mac OS X 终端里舒服的使用命令行(至少)需要给3个工具配色,terminal、vim 和 ls. 首先下载 Solarized

git clone git://github.com/altercation/solarized.git

Terminal/iTerm2
Mac OS X 自带的 Terminal 和免费的 iTerm2 都是很好用的工具,iTerm2 可以切分成多窗口,更方便一些。
如果你使用的是 Terminal 的话,在 solarized/osx-terminal.app-colors-solarized 下双击 Solarized Dark ansi.terminal 和 Solarized Light ansi.terminal 就会自动导入两种配色方案 Dark 和 Light 到 Terminal.app 里。
如果你使用的是 iTerm2 的话,到 solarized/iterm2-colors-solarized 下双击 Solarized Dark.itermcolors 和 Solarized Light.itermcolors 两个文件就可以把配置文件导入到 iTerm 里。

Vim
Vim 的配色最好和终端的配色保持一致,不然在 Terminal/iTerm2 里使用命令行 Vim 会很别扭:

cd solarized
cd vim-colors-solarized/colors
mkdir -p ~/.vim/colors
cp solarized.vim ~/.vim/colors/

vi ~/.vimrc
syntax enable
set background=dark
colorscheme solarized

ls
Mac OS X 是基于 FreeBSD 的,所以一些工具 ls, top 等都是 BSD 那一套,ls 不是 GNU ls,所以即使 Terminal/iTerm2 配置了颜色,但是在 Mac 上敲入 ls 命令也不会显示高亮,可以通过安装 coreutils 来解决(brew install coreutils),不过如果对 ls 颜色不挑剔的话有个简单办法就是在 .bash_profile 里输出 CLICOLOR=1:

vi ~/.bash_profile
export CLICOLOR=1

创建可引导的 macOS 安装器

创建可引导的 macOS 安装器
有了 macOS High Sierra、macOS Sierra、El Capitan、Yosemite 或 Mavericks,您可以将 USB 闪存驱动器或其他存储介质用作从中安装 Mac 操作系统的启动磁盘。

从 App Store 下载 macOS 安装器
从 Mac App Store 下载 macOS 安装器。安装器下载至您的“应用程序”文件夹,存为单个文件,其名称开头为“Install”。例如:Install macOS High Sierra。
如果安装器在下载后自动打开,请退出。
装载要容纳安装器的存储介质,例如 USB 闪存启动器、外置硬盘驱动器、内置硬盘第二分区等。确保存储介质至少有 12GB 可用储存空间。
继续下一部分。

在“终端”中使用“createinstallmedia”命令
在下载安装器后,打开“终端”应用,“终端”应用位于“应用程序”文件夹下的“实用工具”文件夹内。
在“终端”中使用 createinstallmedia 命令来创建可引导安装器。以下是这个命令的基本语法:
High Sierra 的语法:
createinstallmedia --volume volumepath
Sierra 和更早版本的语法:
createinstallmedia --volume volumepath --applicationpath installerpath
将 volumepath 替换为您的 USB 闪存驱动器或其他宗卷的相应路径,并将 installerpath 替换为安装器的路径。

以下示例均假设安装器已位于您的“应用程序”文件夹中,并且您的 USB 闪存驱动器或其他宗卷的名称为“MyVolume”:
High Sierra 的示例:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
Sierra 的示例:
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app
El Capitan 的示例:
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
Yosemite 的示例:
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Yosemite.app
Mavericks 的示例:
sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Mavericks.app

Fink, Macports, Homebrew 区别

如果你有Linux/Unix背景,那么在Mac上你一定想安装那些你熟悉的open source软件。
Fink,Macports和Homebrew是3个主流的package management tool。

1. Fink
Fink是基于Debian的packaging tools开发的。最大的特点是安装软件是预编译好的(pre-compiled/pre-built)。
所以,用Fink安装package是不需要在本机编译的,都是现成的binary code。
Fink最大的问题是package跟进不够快。很多最新版的软件,你要等Fink。

2. Macports
Mac算是BSD的一个变种吧。所以,BSD的包管理软件port被移植到Mac上就显的理所当然了。
macports的工作方式是下载source code然后在本地编译。macport的理念是尽量减少对系统现有库的依赖。
所以,第一次用macport的时候,需要很长时间让macport重新build整个基本库,什么perl啊,python啊的。
代价是较长的编译时间,较多的依赖关系下载。好处是不怎么依赖系统,也就是说,更新Mac OS不会破坏你现有的
package。
另外,macports安装所有的package到/opt/local下面。这样不会和系统现有的/usr/local有什么冲突。

3. Homebrew
这个比较新,是在Lion之后才兴起的。
工作方式和macport类似,也是下载source并在本地编译安装。但是和macports有两个根本的区别。
1) homebrew的理念是尽量使用系统现有的库。这样可以大大的减少编译时间。
2) package都安装到/usr/local下面。
这两点和macports是完全相反的。结果也是有利有弊。
最大的好处莫过于编译时间变短,安装简单。问题就是和系统紧密依赖。
另外Homebrew假设你的Mac是单用户系统,所以/usr/local的owner应该是你,而不是传统的root。
这个假设在大多数情况下都成立。
(当然你可以改变homebrew的安装路径,然后修改你的PATH)
另外,一个不太重要的区别,macport是用rsync来同步repository tree和获取新的package的。
homebrew是用git来管理repository的。
如果你是在内部网或者firewall后通过proxy使用,这点可能会给你带来影响–一些proxy不支持rsync的。

总结:
1. 忘了Fink吧,老了。
2. 如果你是重量级的Linux用户,希望使用所有的open source package,那么macports是你不二的选择。
3. 如果你只希望很快的安装一些便利的工具,那么homebrew是个不错的选择。

macports可以用svn来代替rsync。虽然selfupdate不可用,但是其他的sync, install等完全不影响。这样就可以绕过上面所说的proxy的问题了。
https://trac.macports.org/wiki/howto/SyncingWithSVN

使用svn来sync:
https://trac.macports.org/ticket/34298

文章转自: http://tetsu.iteye.com/blog/1507524

Apple TV屏保,支持离线缓存

Aerial
1. 下载Aerial.zip
2. 解压Aerial.zip,双击 Aerial.saver 进行安装
3. 如果不能安装,打开 系统偏好设置 – 安全性与隐私 – 允许从以下位置下载的应用:勾选(任何来源),如图:
屏幕快照 2015-11-12 09.57.28

 

 

 

 

 

3. 或者直接拷贝文件Aerial.saver,到目录~/Library/Screen Savers/。
4. 打开Finder,同时按下Shift + Command + G,前往目录~/Library/Screen Savers/。
5. 打开 系统偏好设置 – 桌面与屏幕保护程序,选择Aerial。
6. Enjoy this!

离线下载视频方法:
1. 打开终端(Terminal.app),进入目录~/Library/Caches/Aerial/,如果目录不存在则执行以下命令:
sudo mkdir ~/Library/Caches/Aerial
sudo chown User:staff ~/Library/Caches/Aerial
(User是你当前的用户名称,查看用户名称:ls -al /Users/,非Guest, 非Shared,剩余的就是了。)

2. 输入命令:
curl http://a1.phobos.apple.com/us/r1000/000/Features/atv/AutumnResources/videos/entries.json | sed -n 's/.*url"\ :\ "\([^"]*\).*/\1/p' | wget -i -

3. Enjoy this!

删除方法:
1. 打开 Finder,搜索 “Aerial”,与之相关的全部删除接。

解决 OS X 10.11.1 出现延迟,卡屏现象

2015年中的 RMBP 15寸,出现这些现象简直难以忍受。
经过强大的互联网,尝试不同的方法,最终得到解决办法,现分享给大家,不保证适合所有机器。
其实只要重置 SMC 和 PRAM 即可,具体方法如下:
重置smc
https://support.apple.com/zh-cn/HT201295

重置 pram
https://support.apple.com/zh-cn/HT204063