20191112のMacに関する記事は5件です。

かっこいい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を自動的に表示/非表示」を有効化)

image.png

アプリのインストール

次は開発でよく使うアプリ系をざっとインストールしていきます。
App Storeにないアプリはブラウザから調べてインストールしていきます。
よく使われるアプリ系だと思うので、個別に紹介することはしません。気になるものあればググるかコメントください。

  • Chrome
  • iTterm2
  • VSCode
  • Evernote
  • Slack
  • docker for Mac
  • clipy
  • alfred
  • postman
  • kindle
  • xmind

あとはIDE系とか、必要に応じて好きなものをインストールすればいいかと思いますが、僕は基本的にVSCode+iTerm派なので基本的にこれでOKです。

開発モジュール系のインストール

ターミナルから、開発で利用するモジュール系をインストールしていきます。

また、最新のMacでもデフォルトインストールされていたPythonは2.7だったため、3.x系にアップグレードします。

  • Pythonデフォルトバージョン変更

アプリの設定

iterm

普段開発でVSCodeのターミナルやIDEのターミナルはほぼ使わず、iTerm一本でターミナル操作をやっているので、瞬時に起動でき、効率的に操作できる状態に設定していきます。
やることは主に下記の3点です

  • hotkey
  • zsh設定
  • zplugによる追加機能

最終形はこんな感じ

ezgif.com-video-to-gif.gif

hotkey

何の操作をしているときでも、ctrlキーのダブルタップでiTermが起動するように設定します。

  • iTermの設定画面のKeysタブからHotkeyを選択
  • Create a Dedicated hotkey Window... をクリック
    image.png

  • hotkey設定画面でDouble-tap Keyにチェックをいれ、Controlを選択→OK
    image.png

  • iTermの設定画面でProfilesを選択し、Hotkey Windowを選んで好みの見た目に変更
    image.png

これで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
を表示できるようになります。

image.png

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自体の物理環境

外で作業することも多いのですが、カフェで長時間開発とかしてると首が大変なことになるので、今回このスタンドを購入してみました。

Majextand・人間工学に基づく世界最薄スタンド

これ、薄くて邪魔にならないしデザイン悪くないし安定性も高いのでお勧めします!
image.png
image.png

あとは画面を覗かれないようにフィルムをつけています。
保護フィルム


以上です!
Macで開発されている方の何かの参考になれば幸いです。

また、冒頭にも書きましたが、みなさんの開発マシンも見てみたいので、こだわり設定とかあったら是非教えてくださいー!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macをクリーンして開発環境を整える Ver.Catalina

はじめに

CatalinaにバージョンアップしたMacbookAir 2018向けのセットアップ記事になります。

簡単に言うとこの記事のCatalina対応版です。

Xcode

Homebrewの関係で結局CommandLineToolが必要になるので、
必要なら先にインストールをしてしまう。

AppStore - Xcode

ただし、全部で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-chrome

Git

% brew install git
% brew cask install sourcetree

インストール時の指示に従って.zshrcに追記。

.zshrc
export 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を編集し、下記のコードを追加

.zshrc
export 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-versions

OpenJDK11 をインストール。

% brew cask install java11

jenvのインストール

% brew install jenv

以下を.zshrcに追加

.zshrc
export 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を更新

.zshrc
export 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
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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ログインできることを確認。

注意

  • パスワードの自動入力はセキュリティ的にあまりよろしくないと思われるので、個人的な範囲での使用をおすすめします。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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リセットを行うと、挙動が改善されました。
おそらく、キャッシュらへんで変なゴミが溜まっていたのかと思います。

参考サイト

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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になってからスクショ機能もパターンが増えたので使ってみると意外に便利ですね!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む