20200708のMacに関する記事は7件です。

Macでコマンドラインからsleep

コマンドラインからMacをスリープさせる時(ターミナル使ってる時、いちいちマウスとかに手を伸ばしてメニューからスリープを呼び出すのがめんどくさいダメ人間)、
よくこのコマンドが紹介されています。

$ osascript -e 'tell application "Finder" to sleep'

Finderを呼び出してスリープさせるのですが、10.9以降ではosascriptを使わなくてもスリープさせられるんですね。

$ pmset sleepnow
Sleeping now...

(コマンドを実行した時点で画面が真っ暗になります。"Sleeping now..."はスリープから復旧した時ターミナルに表示されています)

(良い子のみんなはしないと思いますが)sshとかでリモートでログインしていて、うっかり上記コマンドを実行すると「あ…」ってことになると思います。
「システム環境設定」の「ネットワークアクセスによるスリープ解除」にチェックを入れて、そとからsshで入ろうとしたのですが、反応ありませんでした。
pmsetのmanを見ると

networkoversleep - this setting affects how OS X networking presents shared network services during system sleep. This setting is not used by all platforms; changing its value is unsupported.

とあるので、すべての環境で「ネットワークアクセスによるスリープ解除」は有効になるとは限らないようです。手元の環境(iMac+10.13)ではスリープ後、外部からsshで入れませんでした(Port Scanしたらポートも開いてなかったので完全に寝落ちしてましたね)

リモートでディスプレイだけオフにする場合は以下コマンド(使い状況はあまり無いと思いますが)。

$ pmset displaysleepnow

ちなみにsleepコマンドは、あくまでもコマンド実行の際、次のコマンドまで待機させるだけ。

$ date +%H:%M:%S && sleep 5 && date +%H:%M:%S
20:00:55
20:01:00
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

RabbitMQをインストールする(Windows/Mac/Docker)

最終更新日

2020年7月8日

検証を行ったOS/Dockerのバージョンは下記です。

  • Windows 10 Home 64bit 2004 19041.329
  • macOS Catalina 10.15.5
  • Docker Desktop for Mac 2.3.0.3

インストールするもののバージョンは下記です。

  • RabbitMQ 3.8.5

この記事が古くなった場合、下記の手順は最新のインストール手順とは異なっている可能性があります。その場合は公式ドキュメントをご確認ください。

Windowsの場合

Erlangのインストール

(1) https://erlang.org/download/otp_versions_tree.html からEralngのインストーラーをダウンロードしてください。

スクリーンショット 2020-07-08 15.51.43.png

(2) インストーラーをダブルクリックしてください。

(3) [はい]をクリックしてください。

スクリーンショット 2020-07-08 16.01.50.png

(4) [Next]をクリックしてください。

スクリーンショット 2020-07-08 16.02.19.png

(5) [Next]をクリックしてください。

スクリーンショット 2020-07-08 16.02.45.png

(6) [Install]をクリックしてください。

スクリーンショット 2020-07-08 16.03.11.png

(7) [Close]をクリックしてください。

スクリーンショット 2020-07-08 16.04.28.png

RabbitMQのインストール

(1) https://www.rabbitmq.com/install-windows.html#installer からRabbitMQのインストーラーをダウンロードしてください。

スクリーンショット 2020-07-08 16.00.39.png

(2) インストーラーをダブルクリックしてください。

(3) [はい]をクリックしてください。

スクリーンショット 2020-07-08 16.04.59.png

(4) [Next]をクリックしてください。

スクリーンショット 2020-07-08 16.05.26.png

(5) [Install]をクリックしてください。

スクリーンショット 2020-07-08 16.05.51.png

(6) [Windows セキュリティの重要な警告]が表示されたら[アクセスを許可する]をクリックしてください。

(7) [Next]をクリックしてください。

スクリーンショット 2020-07-08 16.07.17.png

(8) [Finish]をクリックしてください。

スクリーンショット 2020-07-08 16.07.42.png

(9) 環境変数 PATH に、 RabbitMQがインストールされたフォルダ\sbin (例: C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.5\sbin )を追加してください。

RabbitMQの設定(必要に応じて)

(1) コマンドプロンプトで rabbitmq-plugins enable rabbitmq_management を実行してください。

スクリーンショット 2020-07-08 16.16.30.png

(2) コマンドプロンプトで rabbitmq-plugins enable rabbitmq_tracing を実行してください。

スクリーンショット 2020-07-08 16.17.28.png

macOSの場合

RabbitMQのインストール

(1) ターミナルで brew install rabbitmq を実行してください。

Homebrewがインストールされていない場合は、公式サイトを参考にインストールしてください。

(2) 環境変数 PATH/usr/local/sbin を追加してください。

(3) ターミナルで rabbitmq-server を実行してください。これでRabbitMQが起動します。

スクリーンショット 2020-07-08 16.31.27.png

Ctrl + Cで停止します。

RabbitMQの設定(必要に応じて)

(1) ターミナルで rabbitmq-plugins enable rabbitmq_management を実行してください。

(2) ターミナルで rabbitmq-plugins enable rabbitmq_tracing を実行してください。

Dockerの場合

Dockerのインストール方法は別記事にて紹介しています(Windows 10 Proの場合macOSの場合

(1) 次のようなDockerfileを作成してください。

Dockerfile
FROM rabbitmq:3.8.5-management-alpine

RUN rabbitmq-plugins enable rabbitmq_tracing

EXPOSE 5672 15672

(2) ターミナル(orコマンドプロンプト)でDockerfileを作成したフォルダに移動して、 docker image build -t rabbitmq-scd . を実行してください。

$ docker image build -t rabbitmq-scd .
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM rabbitmq:3.8.5-management-alpine
3.8.5-management-alpine: Pulling from library/rabbitmq
df20fa9351a1: Pull complete 
6a4ed0140701: Pull complete 
d144d94e32f5: Pull complete 
4d0a1f15085c: Pull complete 
3efe37eb67c8: Pull complete 
21fb2255fd06: Pull complete 
8d1fc732c7d2: Pull complete 
ebf280fe3644: Pull complete 
947f27a4fe95: Pull complete 
Digest: sha256:7bb012930d5fa185ad5a52e0693096eb4628fba48b9ad7303edb09b80c47ad0c
Status: Downloaded newer image for rabbitmq:3.8.5-management-alpine
 ---> 4e6d459e4748
Step 2/3 : RUN rabbitmq-plugins enable rabbitmq_tracing
 ---> Running in beba71787921
Enabling plugins on node rabbit@beba71787921:
rabbitmq_tracing
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_tracing
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@beba71787921...
The following plugins have been enabled:
  rabbitmq_tracing

set 4 plugins.
Offline change; changes will take effect at broker restart.
Removing intermediate container beba71787921
 ---> 8aacc20abf9a
Step 3/3 : EXPOSE 5672 15672
 ---> Running in f84d57362063
Removing intermediate container f84d57362063
 ---> 0ab7f38dc713
Successfully built 0ab7f38dc713
Successfully tagged rabbitmq-scd:latest

(3) ターミナル(orコマンドプロンプト)で docker container create -p 5672:5672 -p 15672:15672 --name rabbitmq-scd rabbitmq-scd を実行してください。

$ docker container create -p 5672:5672 -p 15672:15672 --name rabbitmq-scd rabbitmq-scd
67473dcbed40bee46c5f9b3531763ed71fd6cd5b6a6cb1364b90da21d621ce59

(4) ターミナル(orコマンドプロンプト)で docker container start rabbitmq-scd を実行してください。これでRabbitMQが起動します。

$ docker container start rabbitmq-scd
rabbitmq-scd

docker container stop rabbitmq-scd で停止します。

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

【jQuery】 scroll スクロールすると浮き上がってくるやつ はじめました。

【ゴール】

画面収録 2020-07-08 14.46.12.mov.gif

【メリット】

■ リッチなサイト構築
■ jQuery理解度向上 

【実装】

手順

*jQueryのgem、もしくわ、ライブラリの読み込みが必要です!
HTML記述
jQuery記述

HTML記述

*JSが読み込めるように「id」をつけます。

hoge.html
.
.
.
.
<h2 id="text" style="display: none;">文字が遅れて見えてきます</h2>
.
.
.
.

jQuery記述

*「window」に対して、スクロールイベントを発火
*「if」による条件分岐
 →*「.scrollTop」が一定の数値で発火(今回は1100で設定。)
 →*「fadeIn」でフワッと現れます。

hoge.js
$(window).scroll(function () {
    if ($(this).scrollTop() > 1100) {
      $('.text').fadeIn(1000);
    }
 });

以上、jQuery記述少なくてとても便利です。。。。

【合わせて読みたい】

■ 【jQuery】初心者でもよく理解できたやつ
https://qiita.com/tanaka-yu3/items/a03734b248c3f2ee8461

■ 【raty.js】 星付き 評価機能 実装 rails view表示まで
https://qiita.com/tanaka-yu3/items/6aab71a46764370c00d0

■他、スクロールイベントについて
https://yuyauver98.me/scroll-show-hide-btn/

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

Karabiner-Elementsでwindows-likeとemacs-likeの2つのキーバインドを使い分ける

MacのKarabiner-Elementsでwindows-likeとemacs-likeの2つのキーバインドを使い分けるにはどうするのかに関するメモ。

やりたいこと:普段のWEBブラウザ等ではwindows-likeなキーバインド(Ctrl-c,Ctrl-vでコピーペーストCtrl-fで検索)を使い、terminalやEmacsではそのキーバインドをやめたい(Ctrl-w,Ctrl-yでコピーペースト、Ctrl-sで検索)。

手順1: Karabiner-Elementsをインストールする

Karabiner-Elementsをインストールする。
https://karabiner-elements.pqrs.org/
上記のURLからダウンロードしてくる。

手順2: Karabiner-Elementsの使い方を理解する

まず、Karabiner-Elementsを起動してComplex modificationsタブを選択する。

スクリーンショット 2020-07-08 06.21.54.png

次にAdd ruleボタンを押したのちImport more rules form the Internet(open a web browser)ボタンを押すとキーバインドのサンプル集が見つかる。この中から目的のものをImportする。今回は Windows shortcuts on macOSを選択。

スクリーンショット 2020-07-08 06.24.12.png

これでルール集を取り込めるが、まだそのルール集の中のどのルールを実際に使うのかを決めていない。実際に使うルールをEnableする。例えばCtrl+C, Ctrl+P, Ctrl+X => Cmd+C (Copy), Cmd+v (Paste), Cmd+X (Cut)をEnableにするとその瞬間からばCtrl+CがCmd+Cに変換されて、ブラウザ等のテキストがコピーできるようになる。まずはそこまで確認すること。

そして、この設定でEmacsを開いて編集しようとするとおかしなことになることに気づくはず。例えばCtrl-x Ctrl-fでファイルを開こうとすると最初のCtrl-xがCmd-xに変換されてしまうのでうまく開けなくなる。

手順3: アプリケーションごとにキーバインドを変えるためルールを編集する

先ほども開いたキーバインドのサンプル集のページにいく。
https://ke-complex-modifications.pqrs.org/

今回はWindows shortcuts on macOSのImportでEdit JSONを選択する。
スクリーンショット 2020-07-08 06.44.28.png

ここでタブを開いて見ていくと、Rule Conditions, Frontmost application unlessという項が見つかる。これはこのキーバインドのルールを適用しないアプリケーション一覧が書かれている。ここにEmacs等を加えれば良い。実は^com.apple.Terminal$という項目がすでにありterminalはこのキーバインドから除外されていることがわかる。このようにアプリケーションの名前はアプリケーションのBundle Identifierを調べてその名前を書く必要がある。

スクリーンショット 2020-07-08 06.28.01.png

アプリケーションのBundle Identifierを調べるには、Karabiner-Elementsをインストールしたときに同時にインストールされるKarabiner-EventViewerを使用する。このアプリケーションを起動し、Frontmost applicationタブを選べばクリックしたアプリケーションのBundle Identifierを教えてくれる。Emacsはorg.gnu.Emacsであり、Xquartzは org.macosforge.xquartz.X11である。
スクリーンショット 2020-07-08 06.33.43.png

これを先ほどのWindows shortcuts on macOSの編集ページでBundle Identifierに加えれば良い。他の例を真似て以下のように書く。

^org\.gnu\.Emacs$
^org\.macosforge\.xquartz\.X11$

なかなかの手作業だが、使用するキーバインドの全てでこのBundle Identifierを追加する。最初の項Ctrl+C, Ctrl+P, Ctrl+X => Cmd+C (Copy), Cmd+v (Paste), Cmd+X (Cut)のように複数のキーバインドがまとめて書かれている場合にはキーバインドごとにBundle Identifierを追加する必要がある。この場合は3箇所に書く。

一通り編集が終わったら、あとで間違いがあったとき直せるようにSHARE!ボタンを押し、URLを保存しておく。

スクリーンショット 2020-07-08 06.30.59.png

手順4: 編集したルールを適用する

最後にINSTALL!を押して Karabiner-Elementsに登録し、実際にルールをEnableすれば完了である。具体的なやり方は手順2を参照のこと。

リファレンス

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

MacbookにpyenvをHomebrewを使ってインストールしたけど、pythonのバージョンが切り替わらないときの対処法

問題

mac osでHomebrew(パッケージ管理ツール)を使って、pyenvをインストールし、pythonのバージョンをglobalに設定してみたけど、pythonのバージョンが切り替わらない。

$ brew install pyenv # pyenvのインストール
$ pyenv install 3.8.0 # pythonのバージョンのインストール
$ pyenv global 3.8.0 # pythonのバージョンをglobalに設定
$ python -V # バージョンを確認
2.7.7 # デフォルトのバージョンと変わらない問題

解決法

ホームディレクトリの.bash_profileまたは.zshrcにeval "$(pyenv init -)"を加え、sourceコマンドで適応させる

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

Mac OSにpyenvをHomebrewを使ってインストールしたけど、pythonのバージョンが切り替わらないときの対処法

問題

mac osでHomebrew(パッケージ管理ツール)を使って、pyenvをインストールし、pythonのバージョンをglobalに設定してみたけど、pythonのバージョンが切り替わらない。

$ brew install pyenv # pyenvのインストール
$ pyenv install 3.8.0 # pythonのバージョンのインストール
$ pyenv global 3.8.0 # pythonのバージョンをglobalに設定
$ python -V # バージョンを確認
2.7.7 # デフォルトのバージョンと変わらない問題

解決法

ホームディレクトリの.bash_profileまたは.zshrcにeval "$(pyenv init -)"を加え、sourceコマンドで適応させる

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

mysqlclientをpip installできないときの対処法

環境

macOS Catalina 10.15.5
pipenv 2020.6.2
Homebrew 2.4.3

エラー

mysqlclientをインストールしようとすると、長い長いエラーメッセージが出てきてインストールできませんでした。
※ pipenv でインストールしていますが、pipでバージョン指定ナシでも同様の現象があるようでした。
※ Catalinaにアップグレードしたら起こったという情報もありました。

$ pipenv install mysqlclient==1.4.6

.
.
.
ERROR: Couldn't install package: mysqlclient

こうしたらいけた

mysql-connector-cをインストール

$ brew install mysql-connector-c

opensslのパッケージ情報を表示

$ brew info openssl

openssl@1.1: stable 1.1.1g (bottled) [keg-only]
Cryptography and SSL/TLS Toolkit
https://openssl.org/
/usr/local/Cellar/openssl@1.1/1.1.1g (8,059 files, 18MB)
  Poured from bottle on 2020-05-03 at 16:19:23
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openssl@1.1.rb
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> /Users/あなたのホームディレクトリ/.bash_profile

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

For pkg-config to find openssl@1.1 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

==> Analytics
install: 583,299 (30 days), 2,291,367 (90 days), 6,244,922 (365 days)
install-on-request: 72,656 (30 days), 337,989 (90 days), 825,813 (365 days)
build-error: 0 (30 days)

上記コマンドで表示される以下の3つを実行
※ 環境によって異なります.

  $ echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> /Users/あなたのホームディレクトリ/.bash_profile
  $ export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  $ export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

参照

https://stackoverflow.com/questions/35190465/virtualenvpython3-4-pip-install-mysqlclient-error

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