- 投稿日:2019-11-12T20:51:01+09:00
かっこいいMac設定が知りたいので自分の設定を晒す
はじめに
最近Macbook AirをCTOで購入しました!!
ポイント還元率の高いヨドバシカメラで購入しています。新しいMacに対して初期設定をしている中で、この手順を残しておこうという気持ちと、みんなどんな環境設定をしてるのかな?というのを知りたい気持ちとが出てきたので、とりあえず自分の手順を晒します。
これ見て設定を晒してくれる人がいたら、同じタグ
Macの環境設定を晒す
で寄稿してもらえると嬉しいです!Macのスペック
スペックは下記の通りです。
- Macbook Air スペースグレイ
- CPU 1.6 GHz Intel Core i5
- メモリ 16GB
- SSD 256GB
- USキーボード
こだわったのはメモリとキーボードです。
手元でコンテナを複数起動して開発することが多いので、メモリは16GB積んでいます。
それ以上立ち上げる必要がある時はクラウド上に環境作ってしまったりするので、ローカルは16GBで十分かなという感じです。キーボードは、かっこいいからという理由でUSキーボードを選択することが多いです。
日本語が印字されていないスタイリッシュなところが気に入っています。Mac自体の設定
購入から8日ほど待ってようやく手元にMacが届いたので早速設定していきます。
まずは本体の最低限の設定から。キーボード設定
タイピングを慣れている状態で実施するために下記の設定を有効化していきます。
- Function Keyの有効化
- windows風
- ライブ変換OFF
システム環境変数のキーボードのところから変更していきます。
cmd+space でSpotlightを起動して、 「キーボード」と入力するだけで設定画面に移動することができます。Dockの設定
Dockはデフォルトでは固定表示で結構アイコンが大きいので、下記の変更を実施します。
- Dockのサイズを小さめに
- 選択されたアイコンの拡大を有効化
- Dock操作をしない時は非表示に(「Dockを自動的に表示/非表示」を有効化)
アプリのインストール
次は開発でよく使うアプリ系をざっとインストールしていきます。
App Storeにないアプリはブラウザから調べてインストールしていきます。
よく使われるアプリ系だと思うので、個別に紹介することはしません。気になるものあればググるかコメントください。
- Chrome
- iTterm2
- VSCode
- Evernote
- Slack
- docker for Mac
- clipy
- alfred
- postman
- kindle
- xmind
あとはIDE系とか、必要に応じて好きなものをインストールすればいいかと思いますが、僕は基本的にVSCode+iTerm派なので基本的にこれでOKです。
開発モジュール系のインストール
ターミナルから、開発で利用するモジュール系をインストールしていきます。
- brew
- git
- zplug
- iTerm上でzshを使ってターミナルをカスタマイズしているので、そのプラグインマネージャとして利用しています
- npm / node / nodebrew など
- awscli
- Terraform
- Serverless Framework
また、最新のMacでもデフォルトインストールされていたPythonは2.7だったため、3.x系にアップグレードします。
- Pythonデフォルトバージョン変更
- https://qiita.com/ms-rock/items/72b8f1abc661c539bb09
- これやってもglobalのpythonバージョンが変わらない場合、pathの向き先を変更してます。これはもっといいやり方がある気がするので知りたい。。
アプリの設定
iterm
普段開発でVSCodeのターミナルやIDEのターミナルはほぼ使わず、iTerm一本でターミナル操作をやっているので、瞬時に起動でき、効率的に操作できる状態に設定していきます。
やることは主に下記の3点です
- hotkey
- zsh設定
- zplugによる追加機能
最終形はこんな感じ
hotkey
何の操作をしているときでも、ctrlキーのダブルタップでiTermが起動するように設定します。
- iTermの設定画面のKeysタブからHotkeyを選択
これでiTermを再起動すると、ctrlダブルタップでiTermが開いてくれます。
zsh設定
僕はプロンプト周りをカスタマイズしたzshを利用しています。
まずは下記のコマンドでzshを有効化$ chsh -s /bin/zsh
~/.zshrc
にzpulg系の設定を追記していきます。
プロンプトのデザイン変えたり、よく使うコマンドをaliasに入れたりしています。~/.zshrc# alias系の設定 alias ll="ls -lG" alias la="ls -aG" alias lla="ls -laG" alias ltr="ls -ltrG" alias gi="git init" alias gs="git status" alias ga="git add" alias gcm="git commit -m" alias gip="curl inet-ip.info" # コマンド補完機能 autoload -U compinit compinit # VCS(Version Control)機能 autoload -Uz vcs_info autoload -Uz colors # black red green yellow blue magenta cyan white colors # PROMPT変数内で変数参照 setopt prompt_subst zstyle ':vcs_info:git:*' check-for-changes true zstyle ':vcs_info:git:*' stagedstr "%F{green}!" zstyle ':vcs_info:git:*' unstagedstr "%F{magenta}+" zstyle ':vcs_info:*' formats "%F{cyan}%c%u(%b)%f" zstyle ':vcs_info:*' actionformats '[%b|%a]' # プロンプト表示直前に vcs_info 呼び出し precmd () { vcs_info } # プロンプト(左) PROMPT='%{$fg[green]%}[%n@%m]%{$reset_color%}' PROMPT=$PROMPT'${vcs_info_msg_0_} %{${fg[blue]}%}%}$%{${reset_color}%} ' # プロンプト(右) RPROMPT='%{${fg[red]}%}[%~]%{${reset_color}%}'これで、プロンプトに
Username@Hostname
,git branch/status
,current dir
を表示できるようになります。zplugによる追加機能
zshのプラグインはあんまり使いこなせてないんですが、下記はかなり重宝しています。
- cd拡張機能
- cd-gitroot
- シンタックスハイライト
それぞれターミナル起動時にロードされるよう、zshrcに追記します。
~/.zshrc# add plugin source /usr/local/opt/zplug/init.zsh zplug "mollifier/cd-gitroot" zplug "b4b4r07/enhancd", use:init.sh zplug "zsh-users/zsh-history-substring-search", hook-build:"__zsh_version 4.3" zplug "zsh-users/zsh-syntax-highlighting", defer:2 zplug "zsh-users/zsh-completions" zplug "junegunn/fzf-bin", as:command, from:gh-r, rename-to:fzf # Rename a command with the string captured with `use` tag zplug "b4b4r07/httpstat", \ as:command, \ use:'(*).sh', \ rename-to:'$1' # Install plugins if there are plugins that have not been installed if ! zplug check --verbose; then printf "Install? [y/N]: " if read -q; then echo; zplug install fi fi # Then, source plugins and add commands to $PATH zplug load --verboseこれで最初にデモ貼り付けたように、cdコマンドでよく使うディレクトリに一発で移動できたり、git管理されているディレクトリのrootに一発で移動できたり、シンタックスハイライトが有効になったりしてとても便利です!
VSCode
VSCodeで開発することが多いのですが、そんな変わった使い方はしていないと思います。
少なくともTerminalからcode
コマンドで呼び出せるようにしていることと、使用する言語に応じてpluginをいくつか入れている程度です。Terminalから
code
コマンドで開けるのは便利なのでおすすめです。
上のcd拡張機能と合わせると、プロジェクトに一発で移動してcode ./
でソースディレクトリを開いてすぐに開発に着手することができます。Keyファイル系の移行
古いMacから新しいMacに、AWSのIAM User系のCredentialファイルとか、sshの秘密鍵を移行する必要があります。
複数の会社で副業しているので、鍵の数が半端じゃなくて、それをSlackとかオンラインストレージ経由で移動してしまうとInternetを経由する分無駄にリスクが高くなるので、今回はAirDropで移行しました。P2PのBluetooth通信なので盗聴リスクがなく、安全でいいのかなと思います。
他にいい方法があったら知りたいです。Mac自体の物理環境
外で作業することも多いのですが、カフェで長時間開発とかしてると首が大変なことになるので、今回このスタンドを購入してみました。
これ、薄くて邪魔にならないしデザイン悪くないし安定性も高いのでお勧めします!
あとは画面を覗かれないようにフィルムをつけています。
保護フィルム
以上です!
Macで開発されている方の何かの参考になれば幸いです。また、冒頭にも書きましたが、みなさんの開発マシンも見てみたいので、こだわり設定とかあったら是非教えてくださいー!
- 投稿日:2019-11-12T17:03:41+09:00
Macをクリーンして開発環境を整える Ver.Catalina
はじめに
CatalinaにバージョンアップしたMacbookAir 2018向けのセットアップ記事になります。
簡単に言うとこの記事のCatalina対応版です。
Xcode
Homebrewの関係で結局CommandLineToolが必要になるので、
必要なら先にインストールをしてしまう。ただし、全部で7GBあり結構長いので、
暇がなければインストールを進めつつ次に進んだ方が早いです。zshのカスタマイズ
Catalinaはデフォルトでzshなのでそのまま使用。
設定は気に入っているzshrcがあるのでそれを適用してそのまま使う。% curl https://gist.githubusercontent.com/mollifier/4979906/raw/43d1c77344dd59fa119ca5b75e7a54e01e668710/zshrc_useful.sh -o .zshrc % source .zshrcなお、以降の作業で.zshrcの編集を行った場合、適宜以下のコマンドでリロードしよう
% source .zshrc
Homebrew
Mac向けのパッケージマネージャーの決定版とも言えるHomebrewをセットアップします。
Homebrewのインストール
% /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Homebrew caskのインストール
本来、Homebrewはコマンドラインのパッケージしかインストールできませんが、
Homebrew caskを導入することで、GUIのツールをインストールできるようになります。% brew cask list便利ツールを入れていく
Chrome
% brew cask install google-chromeGit
% brew install git % brew cask install sourcetreeインストール時の指示に従って.zshrcに追記。
.zshrcexport PATH="/usr/local/opt/gettext/bin:$PATH"Emacs
% brew cask install emacs
Docker
% brew install docker % brew cask install docker開発環境を入れていく
Node.js
Node.jsはNodenvを利用して管理。
% brew install nodenv.zshrcを編集し、下記のコードを追加
.zshrcexport PATH="$HOME/.nodenv/bin:$PATH" eval "$(nodenv init -)"インストール可能なバージョン一覧を取得
% nodenv install --list指定したNode.jsをインストール。
ひとまずその時点で一番新しいのを入れておく。% nodenv install 13.1.0 % nodenv global 13.1.0
Java
一旦、ちょっと古いけどJava11を利用する。
単に最新のJavaが欲しければ以下のコマンドで最新(2019/11現在はJava13)をインストール可能です。% brew tap install java
過去バージョンのパッケージをインストール可能にするbrewリポジトリを追加
% brew tap homebrew/cask-versionsOpenJDK11 をインストール。
% brew cask install java11
jenvのインストール
% brew install jenv
以下を.zshrcに追加
.zshrcexport PATH="$HOME/.jenv/bin:$PATH" eval "$(jenv init -)"% jenv add $(jenv add $(/usr/libexec/java_home -v 11) % jenv global 11.0% jenv enable-plugin export
Python
% brew install pyenv
.zshrcを更新
.zshrcexport LDFLAGS="-L/usr/local/opt/readline/lib" export CPPFLAGS="-I/usr/local/opt/readline/include" export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig" export PYENV_ROOT=/usr/local/var/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"; fiインストール可能なPythonのバージョンを検索
% pyenv install --listひとまず新しいのをインストール。
% pyenv install 3.8.0 % pyenv global 3.8.0
Android Studio
% brew cask install android-studio
Cocoapods
% brew install cocoapods
Visual Studio Code
% brew cask install visual-studio-code
Visual Studio for Mac
% brew cask install visual-studio
デザインツール
Figma
個人的にはAdobeXD派なんだけど最近みんな使ってるのでFigmaへ移行。
% brew cask install sigma
- 投稿日:2019-11-12T16:23:33+09:00
expectコマンドを導入してssh接続のパスワード入力自動化(mac)
ラズパイやリモートpcに個人的にsshでアクセスする際、いつもパスワード入力を求められてめんどくさい!!
色々調べていたら、expectコマンドを使えば、解決できそうだったので忘れないように記事にしておきます!対象者
- ある程度、シェルやlinuxなどの知識がある方
環境
- macOS Mojave 10.14.6
ゴール
- リモートpcにssh接続する際のパスワード入力を自動化する
現状
$ ssh -l <ログイン先ユーザー名> -p <ポート番号> <host> ↑このようにしてssh接続を試みると↓のようにパスワードを求められる $ Enter passphrase for key './id_rsa':expectコマンドの導入
$ brew install expect自動ログインのためのシェル
今回はauto_login.shという名称のシェルファイルを作成しました.
auto_login.sh#!/bin/sh timeout=10 password="paspas" command="ssh -l <ログイン先ユーザー名> -p <ポート番号> <host>" expectsentence="Enter passphrase for key './id_rsa':" expect -c " set timeout ${timeout} spawn ${command} expect \"${expectsentence}\" send \"${password}\n\" interact exit 0 "
- set timeout
- expect -c " "の中の処理がどの程度の時間でタイムアウト(スキップ)するかを表しています。
- spawn
- auto_login.shを実行して始めに実行するコマンドを隣に書きます。
- 今回の場合、ssh接続したいので、
ssh -l <ログイン先ユーザー名> -p <ポート番号> <host>
のようなssh接続コマンドを入力します。- expect
- spawnの横に書いた、コマンドを実行した際に、次にくる文字列を記入します。その際、\" と \"で囲むことに注意!
- 今回の場合だったら
Enter passphrase for key './id_rsa':
という文字列でパスワードを求められのでそのまま書きます。- send
- expect の横に書いたコマンドが来た時に、どのように入力して返すかを書きます。今回はパスワードを求められているのでパスワードを記入します。
- interact
- sshにログインしてから、操作ができるようにする。
実行
$ bash auto_login_sh
で実行して、パスワード入力を求められずにsshログインできることを確認。注意
- パスワードの自動入力はセキュリティ的にあまりよろしくないと思われるので、個人的な範囲での使用をおすすめします。
- 投稿日:2019-11-12T12:15:36+09:00
Mac Catalinaでブラウザが重すぎになる
はじめに
研究室のMacをCatalinaにしたところ、すべてのブラウザで
- ページが開けない
- 開くのに20秒かかる
- 画像表示されない
など、重すぎ案件が発生しました。
そもそも研究室で使用しているMacが
- 2013
- 8G RAM
- HDD
のため、かなり厳しいスペックなのですが(家のほうが断然良いので、研究室でやりたくない)
Catalinaにする前は普通に動いていたのでなんか不具合っぽいので直すことにしました。
試したこと
セーフモード
溜まったキャッシュを消して、カーネルの重要な部分のみで起動できる。
電源を消した状態で「Shift」を押しながら起動すれば、セーフモードになる。
その後、ログインしなくても、起動した時点でキャッシュは一新されているっぽい。NVRAMリセット
https://gori.me/mac/mac-tips/115967
によるとNVRAMとは、Macの電源が入っていなくても特定の設定情報を保存しておく特殊なメモリ領域のことを指す。かつてはPowerPCベースのMacがあり、その場合は同じ領域がPRAMと呼ばれていたが、現在はすべてのマシーンがIntelベースとなっているため、NVRAMに保存されている。
Macの設定がNVRAMに保存されているらしい。
以前、家のPCでWindowsとデュアルブートしたとき、Windowsがデフォルトで起動され始めたときも、NVRAMリセットでなんか治った。やり方は
電源を消した状態で「Command Option P R」を押しながら起動すれば、セーフモードになる。
長押しする。SMCリセット
Macの挙動がやばいときに実行する。
自分の環境では、「Shift Command Option」を押しながら起動する。https://gori.me/mac/mac-tips/115967
SMCのリセットを実行する場合、Macの種類によってやり方が異なる。デスクトップ型Macとノート型Macで異なるだけではなく、「Apple T2」チップを搭載しているモデルとそうではないモデルでやり方がさらに異なる。
やり方が異なり、あまり行わないほうが良いっぽい?
最後に
セーフモードとNVRAMリセットを行うと、挙動が改善されました。
おそらく、キャッシュらへんで変なゴミが溜まっていたのかと思います。参考サイト
- 投稿日:2019-11-12T12:14:52+09:00
MacとWindowsでそれぞれ画面キャプチャ(スクリーンショット)を撮るショートカット
Macとwindowsを両刀使いしているとショートカットがごっちゃになることがありますが、
画面の画像を撮りたい時にスクショのショートカットもよく忘れるのでメモです。スクリーンショットのショートカット
Mac(Mojave)
画面全体のスクショをファイルに保存する
「command」+「shift」+「3」
画面全体のスクショをクリップボードにコピーする
「command」+「shift」+「control」+「3」
マウスで選択した範囲のみのスクショをファイルに保存する
「command」+「shift」+「4」
マウスで選択した範囲のみのスクショをクリップボードにコピーする
「command」+「shift」+「control」+「4」
Windows10
画面全体のスクショをクリップボートにコピーする
「PrtScr」
※ノートPCなどの場合は「Fn」+「PrtScr」
の場合もあります手前にあるアクティブなウィンドウ(モーダル)のみのスクショをクリップボードにコピーする
「Alt」+「PrtScr」
画面全体のスクショをファイルに保存する
「Win」+「PrintScreen」
「ピクチャ」フォルダにファイルが自動保存されます。アクティブなウィンドウのみのスクショをファイルに保存する
「Win」+「PrintScreen」+「Alt」
「ビデオ」→「キャプチャ」フォルダにファイルが保存されます。
(スクショは「ピクチャ」でなぜかこちらは「ビデオ」「キャプチャ」です…)「切り取り&スケッチ」で範囲選択したスクショをクリップボードに保存する
「Win」+「Shift」+「S」
範囲選択すると右下に通知が出るので通知をクリックするとスケッチでファイル保存できます。Macはファイル自動保存がデフォルトなので便利だなと思っていましたが、
windows10になってからスクショ機能もパターンが増えたので使ってみると意外に便利ですね!