20200525のMacに関する記事は6件です。

Macを買って最初にやった設定&インストールしたアプリ

MacBook Pro 16インチを新調したので、これを機に自分のやっている設定やアプリをまとめます。
リストアップして自動化できたらいいな。

設定

Spotlight検索を表示を Command + スペース から Option + スペース に変更

システム環境設定 → キーボード → ショートカット → Spotlight → 「Spotlight検索を表示」
Alfredを昔使っていた影響で Option + スペース に慣れてしまったので。

Spotlightの検索から除外する場に作業フォルダを追加

システム環境設定 → Spotlight → プライバシー → 「Spotlightの検索から除外する場所」にフォルダをドラッグ

mkdir ~/Workspace

いつもこのフォルダで開発をしていて、Spotlightがめっちゃ不安定になることがあるので、予め除外する。
※ たぶんnode_modulesが宇宙一重いせい。

ファイル管理怠ってSpotlightに引っ掛けたくないファイルがたくさんできてしまったときは、結構除外に苦労する。。。
基本Spotlightはアプリ呼び出しにしか使わない。

Caps lockCommand に変更

システム環境設定 → キーボード → キーボード → 修飾キー → 「Caps lock」
Caps lock いらない子。
Caps lock の位置に Command あるとショートカットを利用するときにホームポジションからあまり動かさずに入力できるのでよい。
また、自宅ではクラムシェルで Corne Cherry を接続して使っていて、A の左を Command にしているので、それに合わせるため。

CommandControl に変更

システム環境設定 → キーボード → キーボード → 修飾キー → 「Command」
Caps lockCommand にしているので、 CommandControl に。
Command のキーのほうが大きいし押しやすい。親指と人差し指で Control + C とか押せてこれもホームポジションからズレにくい。

入力ソース切り替えを Control + スペース から Command + スペース に変更

システム環境設定 → キーボード → ショートカット → 入力ソース → 「前の入力ソースを選択」
これもホームポジションからあまり離れず入力ソースの切り替えを行いたいため。
※ US配列なので、入力切り替えボタンがない。

Touch Barに表示する項目の変更

システム環境設定 → キーボード → キーボード → 「Touch Barに表示する項目」を「F1、F2などのキー」
Touch Barがアプリで切り替わるのあまり好きじゃない、かつ負荷を減らすため。

トラックパッドの軌道の速さ変更

システム環境設定 → トラックパッド → ポイントとクリック → 「軌道の速さ」
デフォルトだとカーソル遅いので、最大値-1のところが自分的にベスト。

トラックパッドをタップでクリック追加

システム環境設定 → トラックパッド → ポイントとクリック → 「タップでクリック」
軽くトラックパッドを操作したいので、タップでクリックできるようにしている。

トラックパッドの3本指ドラッグ有効化

システム環境設定 → アクセシビリティ → ポインタコントロール → マウスとトラックパッド → トラックパッドオプション → 「ドラッグを有効にする」を「3本指のドラッグ」
押しながら操作より3本指派。
この子だけアクセシビリティにいるのなぜ?

キーリピートの限界突破

# normal minimum is 15 (225 ms)
defaults write -g InitialKeyRepeat -int 10

# normal minimum is 2 (30 ms)
defaults write -g KeyRepeat -int 1

早いのに慣れるとGUIで設定できる最大値でももっさりに感じる。

Dockから消せるアプリはすべて削除

Dockからアプリをドラッグして「削除」が出てきたら離す。
基本的にSpotlightでの呼び出しか Command + Tab での切り替えしかしないため。

Dockの”自動的に非表示”をオンにする

Dockの余白を右クリック(2本指タップ) → ”自動的に非表示”をオンにする

メニューの時間に日付・秒を表示

メニューの時間をクリック → ”日付と時間”環境設定を開く → 時計 → 「秒を表示」「日付を表示」にチェック
「24時間表示にする」「曜日を表示」もチェック入っていなかったらいれる。

メニューのバッテリー表示に%を追加

メニューのバッテリーアイコンをクリック → 「割合(%)」を表示」をクリック

インストールしたアプリ

便利系

Google日本語入力

日本語入力はMacのデフォルトよりこっちのが動作早い。
デフォルト詰まる感じする。

入力ソースは
- ひらがな(Google)
- U.S.

1Password

パスワード管理。
これないと覚えられない。

HyperSwitch

画面切り替え用のアプリ。
アプリのウィンドウ切り替えができるのが便利で使っている。

Clipy

macOS スニペットアプリ
記憶する履歴の数は100にしている。

BetterTouchTool

スナップ領域を使用。
自宅のメインディスプレイが4Kと広くウィンドウ管理が大変なので、スナップ領域を使い保存したウィンドウサイズ&場所にすぐ配置。
めちゃくちゃ便利。

Google Drive File Stream

端末のSSD容量圧迫せずファイル保管できるの便利。
主に書類系を保存している。

連絡系

Spark

メーラー
分類とか自動でしてくれるし楽。

Line

みんな知っているコミュニケーションアプリ

Slack

みんな知っているコミュニケーションアプリ

Chatwork

一部クライントと使っているコミュニケーションアプリ

Discord

最近は常に開発チームで繋いでいる

Zoom

ビデオ通話、会議、リモート飲み用

開発系

Google Chrome

ブラウザ

iTerm2

Terminalアプリ。
画面分割できるのが最高。
Command + { or } で画面分割間の移動、
Command + Shift + { or } でタブ間の移動をめっちゃ使う。

PhpStorm

JetBrains社製のPHP向けのIDE。
フロントエンド開発もガッツリできるので、重宝してるけど、やっぱり他の言語を使うとき困るので、、
↓↓↓

Visual Studio Code

みんな使ってますね!

Sublime Text

メモ用に使っている

ln -s '/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' /usr/local/bin/subl

これでCLIからSublime Text起動できる。
/Users/{userName}/Documents/notes にテキストファイルを適当において保存するのが最近の運用。
オンライン同期したいので、Google Drive File Streamに入れるか検討中。

Homebrew

macOS用パッケージマネージャー

fish shell

command line shell
補完がかなり効くので便利。

brew install fish

iTerm2の設定で Start text at start を fish に設定。

fisher

fish向けのパッケージ管理ツール

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher

peco

インタラクティブなフィルタリングツール
自分は peco_select_history を使うために入れている。

brew install peco
fisher add oh-my-fish/plugin-peco

以下、Control + Rpeco_select_history が起動するように設定。

~/.config/fish/config.fish

function fish_user_key_bindings
    bind \cr peco_select_history
end

git

brew install git

command line tools for xcodeで入るけど、ちょっと古いので新しいのを入れる。

hub

githubにPRをCLIから作ったりできる。

brew install hub

nodebrew & Node.js

nodeのバージョン管理とインストール

brew install nodebrew
mkdir .nodebrew/src
nodebrew install stable
nodebrew use stable

~/.config/fish/config.fish

set PATH $HOME/.nodebrew/current/bin $PATH

本当はDockerでフロントエンドの開発環境を構築したいけど、過去案件でまだ移行できていないのがあるので、とりあえず入れている。

yarn

おなじみyarn

brew install yarn

docker

buildkitを有効化する。
Preference → Docker Engine

{
  "experimental": false,
  "debug": true,
  "features": {
    "buildkit": true
  }
}

Adobe Creative Cloud

XD、Illustrator、Photoshopよく使う。
最近デザイン挑戦中。楽しい。

音楽・音響系

Amazon Music

Prime契約しててちょい安めなので。

eqMac 旧: eqMac2

名前変わってUIもかっこよくなった。
外部接続しているスピーカーがこもり気味なので、ちょいドンシャリのeq入れてすっきりさせている。

Soundflower

仮想オーディオ入出力

  • Soundflower (2ch)
  • Soundflower (64ch)

ってのが増える

LadioCast

サウンドルーティング

Macデフォルトの音声 → eqMac → Soundflower (64ch)
通話アプリ → Soundflower (2ch)
とルーティングを行って、通話の音声はeq通さず出力しているのと、全体のボリューム調整。

US-4x4のファームウェア

USBオーディオインターフェース、US-4x4のファームウェア。
最近一目惚れして購入。
このオーディオインターフェースにコンデンサーマイク接続して通話している。

映像系

NDI Virtual Input

使っていないiPhone Xをウェブカメラとして使うため。(ウェブカメラ高騰しすぎ)
iPhoneのアプリ NDI HX Camera をインストールして、USB接続。
ただ、Discordとか反応しなくて困ってる。。。

あとがき

新しいキーボード触りたくてこの記事書きました。
結構いい感じだけどやっぱり自分はCorne Cherryのがいいな。

メモリ64GBのもりもり買ったんで「これでメモリ余裕だぜ!」って思ってたらこの記事書いてるときで20GBも使ってて、なんだろなー?と。Chromeさんメモリ潤沢にあると3GBも食いつぶすのね。ってかプロセス多すぎぃぃい。

設定変えたりアプリ増やしたらこの記事をアップデートしよう。

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

macOS Catalina で Oniguruma v5.9.6 をコンパイル

需要なさそうだけど、成り行きでやったのでメモ。

configureファイルとMakefile生成に必要なツールをインストール

❯ brew install autoconf
❯ brew install automake
❯ brew install libtool
❯ brew install intltool
❯ brew install pkgconfig
❯ brew install cmake

ソースコード取得

❯ git clone https://github.com/kkos/oniguruma.git
❯ cd oniguruma 
❯ git checkout v5.9.6

ソースコードの前処理

よくわからないけど、automakeやlibtoolのバージョン違いなどに起因しているように思われるエラーが出るので、それを解消するために、ファイル作ったりすこし内容を置換したり。

❯ touch NEWS
❯ touch ChangeLog
❯ sed -i '' -e 's/INCLUDES/AM_CPPFLAGS/g' Makefile.am 
❯ sed -i '' -e 's/INCLUDES/AM_CPPFLAGS/g' sample/Makefile.am 
❯ glibtoolize --ltdl --force --copy
❯ automake --add-missing

configureファイル・Makefile.in生成

❯ autoreconf

いろいろwarningは出ますが、これでconfigureとMakefile.inの両ファイルが生成されればOK。

Makefile生成・コンパイル・インストール

インストール先はお好きに。

❯ ./configure
❯ make
❯ make DESTDIR=/Users/xxx/Library/oniguruma5.9.6 install 

エラーと参考サイト

上記手順で進めればエラーは出ないと思いますが、エラーメッセージから解決を求めて来た方の参考になればということで。

test-driverがないエラー

parallel-tests: error: required file './test-driver' not found
parallel-tests:   'automake --add-missing' can install 'test-driver'

エラーメッセージのとおり automake --add-missing すれば解消します。

Makefile.in生成でエラー

古いバージョンのautomakeが期待されていることから起きるエラー?のようですが。これはもうMakefile.amのほうを編集して解決してしまいます。

sample/Makefile.am:5: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')

configureでエラー

sed: ./ltmain.sh: No such file or directory
mv: rename libtoolT to libtool: No such file or directory
cp: libtoolT: No such file or directory
chmod: libtool: No such file or directory
config.status: executing default commands

https://stackoverflow.com/questions/11826167/libming-0-4-2-installation-giving-error-on-osx-10-7-4-x64-when-building-from-sou

↑を参考にしました。configureファイル生成前に、必要なライブラリをインストールして glibtoolize 実施。

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

Macのバタフライキーボードのキーが取れてしまう問題の対応方法について

前提

バタフライキーボードでは、「よく使うキーが外れてしまう」「ほこりが溜まって押し心地が悪くなる」問題が起きやすいです。 コロナ前ならAppleに持っていけば直してくれるんですが今は臨時休業中です。

結論

キーボードカバーを付けましょう。キーボードカバーを付けることによって全く気にならなくなりました。
安いものなら1000円ほどで買えます。

私は MacBook Pro(13-inch, 2016) を使用していて、下記のカバーを買いました。
https://www.amazon.co.jp/gp/product/B06ZYBSSR3/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&th=1

後述

定期的にキーが外れると集中しづらく仕事の質が悪くなりますので、本当にオススメです。
また、本記事はプログラミングに関する知識とは微妙にずれていますが、職場の人も同じ事象でストレスを感じていまして、そういった人が他にも多いのではないかと思い記事にさせていただきました。

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

[Xcode]The maximum number of apps for free development profiles has been reachedと出てインストールできない。

原因

自作のアプリやプロビジョニングプロファイルを削除しても、インストールに失敗する場合は無料枠プロファイルのカウント処理がバグっている可能性が高いです。

対応

iPhoneをMacに繋いで、コンソールでログを表示しながら再度インストールを試してください。

  1. Window->Devices and Simulators->対象のデバイスを選択してOpen Consoleボタンをクリックでログを表示
  2. アプリを実行して対象デバイスへのインストールを試みてください。
  3. MIFreeProfileValidatedAppTrackerでログを絞り込んでください。
[MIFreeProfileValidatedAppTracker _onQueue_addReferenceForApplicationIdentifier:bundle:error:]: 182: This device has reached the maximum number of installed apps using a free developer profile: {(
    "<bundleid>",
    "<bundleid>",
    "<bundleid>"
)}

というようなエラーが出ているかと思います。

  1. その一覧に表示されているアプリを削除または、再インストール
  2. 自作アプリをインストール

の順番で実行してみてください。

情報源

https://stackoverflow.com/questions/61953293/the-maximum-number-of-apps-for-free-development-profiles-has-been-reached-xcode/61978102#61978102

3日ほど悩んだので取り急ぎ共有しました。

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

Mac/Linuxのaliasでaws ssmによるパスワード管理を直感的にする

公私共にお世話になっているSSMですが、都度コマンドは何だっけと苦労してたのでaliasにしました。
正確には、引数を使う必要があったので、aliasではなくfunctionとして実装しました。以下のように利用できます。

$ setssm TEST_KEY test_val #登録して
$ getssm TEST_KEY #参照する
test_val #出力
$ setssm TEST_KEY2 "test space日本語" #スペース、日本語の処理も可
$ echo HOGE$(getssm TEST_KEY2)FUGA #コマンド上で展開し変数としても扱える
HOGEtest space日本語FUGA
$ listssm | grep TEST #一覧の出力からgrepで検索し、TESTを含むキーと値を出力
TEST_KEY test_val
TEST_KEY2 test space日本語

実装は~/.bash_profileの終わりに以下を追加し、source ~/.bash_profileで更新するだけです。

~/.bash_profile
function setssm() {
  command aws ssm put-parameter --name $1 --type "String" --overwrite --value "$2";
}
function getssm() {
  command aws ssm get-parameter --name $1 --query 'Parameter.Value' --output text;
}
function listssm() {
  command aws ssm get-parameters-by-path --path "/" --query "Parameters[].[Name,Value]" --output text
}

個人的に最も捗るのはコマンドを会社用と自分用に分けてしまうことです。setssm_privatesetssm_corpなどコマンドを2パターン用意し、--profile引数をそれぞれに付与するとパーソナルな情報を会社のssmにアップしたりその逆を避けれます。

最近は認証情報もSSM経由で取り扱えるフレームワークが増えてきて、レポジトリに認証情報をアップするリスクや心配が無くなってきていいですね。皆様も良いAWSライフを。

参考
https://github.com/aws/aws-cli/issues/1961
https://hacknote.jp/archives/8043/
https://dev.classmethod.jp/articles/aws-cli-all-ssm-parameter-get/
https://qiita.com/tomoya_oka/items/a3dd44879eea0d1e3ef5

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

学内限定サーバーでしかオンラインアクティベートできないMathematicaを学外からアクティベートする方法(MacOS)

はじめに

Mac使いでMathematicaを使いたいが、ライセンスサーバーが学内にあるので学外からアクティベートできず使えない!

こんな経験がある方はこの記事を見れば解決します。(ただしVer.11以前のMathematicaでは成功していません。)

sshでDynamic Port Forwardingを飛ばしてしまえば解決するはずだったのですが、どうやらMathematicaはMacのネットワーク設定からsocksプロキシを設定しても見てくれないようです。。。
この現象によって筆者はずっと悩んでいましたが、tsocksというソフトを利用することによって解決しました。

(また、この記事はMacOSを標的としていますが、LinuxやWindows Subsystem for Linux(WSL)でも同様の手順で解決するはずです。
純正Windowsはtsocksが使えないのでもう少し工夫する必要がありそうです。)

環境

  • MacOS Mojave 10.14.6
  • Mathematica 12.0

※ Mathematica 11.1以前の32bit版を使用している方は後ろの方のMathematica 11.1で起動しない問題も参照してください。

Dynamic Port Forwarding

まず、Mathematicaのライセンスサーバーにpingが通る踏み台サーバーを用意し、
sshでDynamic Port Forwardingします。
Dynamic Port Forwardについての詳細な説明は省きます。
詳しくはググるか、sshによるポートフォワーディングまとめなどを参照してください。

$ ssh {ユーザー名}@{学内に置いてある踏み台サーバーIP} -D 10080

ここでは10080ポートを利用していますが、基本何でもいいです。ただし、小さい数字はすでに何かのサービスが専有している可能性があるので10000以上を指定するのが無難です。

本来はここまでやってsocksプロキシを設定すればよいのですが、今回は追加の手順が必要です。

tsocks

tsocksは任意のアプリケーションの通信を強制的にsocksプロキシ経由にするソフトです。
githubで公開されています。

homebrew版もありますが、上手く動かなかったのでソースからビルドします。

まず別のターミナルを開いて、ローカルにcloneします。(今回は~/optを作業ディレクトリとします。)

$ cd ~/opt
$ git clone https://github.com/pc/tsocks.git

あとはgithubで記された手順に従って作業しますが、/usrにソフトをインストールすることは推奨されていませんし、SIPで保護されているので、/usr/local以下にインストールするように変更します。

以下の手順を実行してください。

$ cd tsocks
$ autoconf
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

次に/usr/local/bin/tsocksを以下のdiffのように修正します。

$ vi /usr/local/bin/tsocks
diff
45c45
< LIBDIR="/lib"
---
> LIBDIR="/usr/local/lib"

さらにtsocks用の設定ファイルを作ります。

$ sudo vi /etc/tsocks.conf
$ cat /etc/tsocks.conf
server = 127.0.0.1
server_type = 5
server_port = 10080

ここでのserver_portは先程ポートフォワーディングで設定したポートです(今回は10080)。

実際に起動する

以下で起動します。

$ tsocks /Applications/Mathematica.app/Contents/MacOS/Mathematica

これでsocksプロキシ経由でMathematicaを起動することができました。

毎回これを入力するのはめんどくさいので、エイリアスを設定しておくと良いです。

$ echo "alias math-socks='tsocks /Applications/Mathematica.app/Contents/MacOS/Mathematica'" >> ~/.bashrc

次回からは以下でsocksプロキシを経由して起動できます。

$ math-socks

あとは起動したMathematica上でいつものようにネットワークアクティベートすればOKです。

Mathematica 11.1で起動しない問題

同様の手順でMathematica 11.1を起動しようとすると、

$ tsocks /Applications/Mathematica.app/Contents/MacOS/Mathematica
dyld: could not load inserted library '/usr/local/lib/libtsocks.dylib' because no suitable image found.  Did find:
    /usr/local/lib/libtsocks.dylib: mach-o, but wrong architecture
    /usr/local/lib/libtsocks.dylib: stat() failed with errno=1

[1]    66718 abort      tsocks ./Mathematica

と怒られます。
これはVer.11以前のMathematicaが32bitアプリであるため発生している現象です。

これに対応するためにはtsocksを32bitでmakeする必要があると思われますが、、、勉強不足でやり方がよくわかりません。
どなたか教えて下さい。

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