- 投稿日:2020-08-04T17:24:35+09:00
Box CLI を使ってみる
Box CLI を Mac で使うまでの手順(メモ)
少しずつ追加する予定・・・
目的
Mac のターミナルから Box を操作するために CLI SDK 入れて動かす。
何が出来るのか一通り試すにはコマンドが一番手っ取り早いのでは?的な。
セットアップ
Box CLIのインストール に従ってセットアップ
基本的な流れは
1. CLI ツールをインストール
2. 設定ファイルを作成
という感じ。CLI をインストール
下記のURLからダウンロードできる。
https://github.com/box/boxcli/releases
設定ファイルを作成
Box Developer Console で JWT認証を使った Boxアプリケーションをセットアップし、設定ページから JSON構成ファイルをダウンロードする、と言う流れ。
カスタムアプリの作成
- Box Developer Console にアクセス
- 「アプリの新規作成」をクリック
- 「カスタムアプリ」を選択して「次へ」
- 認証方法で「JWTを使用したOAuth 2.0(サーバー認証)」を選択して「次へ」
- アプリに名前をつけて「アプリの作成」をクリック
JWTキーペアを生成
- アプリケーションの左側のサイドバーで[構成]オプションをクリック
- [公開キーの追加と管理]セクションで[公開/秘密キーペアを生成]ボタンをクリック
- 秘密鍵が含まれたJSONファイルが落ちてくるので保存
上記の手順を行わないで進めると構成ファイルのロード時にエラーになる。
% box configure:environments:add 0__config.json Config object missing key boxAppSettings.appAuth.publicKeyIDアプリの承認
この手順を行わずに進めた場合、コマンド実行時に下記のエラーが発生する
% box folders:get 0 Unexpected API Response [400 Bad Request] unauthorized_client - This app is not authorized by the enterprise admin
構成ファイルを CLI に設定する
ダウンロードした構成ファイルを指定してコマンドを実行して構成を追加
% box configure:environments:add PATH_TO_CONFIG_FILE Successfully added CLI environment "default"
Successfully となっていれば成功!
構成ファイルについて
CLI には複数の構成ファイルを読み込むことが可能。
構成ファイルの追加
複数の構成ファイルを読み込む場合には名前をつけて読み込む。
% box configure:environments:add entgov_user1_app.json -n user1_app Successfully added CLI environment "user1_app"https://github.com/box/boxcli/blob/master/docs/configure.md#box-configureenvironmentsadd-path
構成ファイルの切り替え
configure:environments:set-current で切り替える環境の名前を渡せば切り替わる。
user1_app に切り替える場合は下記のコマンドを実行する。
% box configure:environments:set-current user1_app環境の一覧は下記のコマンドで取得可能
% box configure:environments:get実行ユーザーを取得
上記の手順で作成した構成ファイルを使って Box CLI を実行した場合、サービスアカウントで実行される。
作成者の権限で実行されるわけでない。
CLI でコラボレータとして操作する場合、対象のファイルやフォルダに対してサービスアカウントに権限がないとエラーになる。
サービスアカウントの確認方法
下記のコマンドを実行して、
Login:
の値として返却される値がサービスアカウント。% box users:get me
- 投稿日:2020-08-04T16:55:05+09:00
hugoで’hugo server'でプレビューしようとしたらError: listen tcp ***: socket: too many open filesが出た時の対処方法
hugo serverコマンド使用時の注意点
hugo serverで作っているwebページを確認しようとしたらこんなエラーがでた。
Serving pages from memory Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender Web Server is available at //localhost:49744/ (bind address 127.0.0.1) Press Ctrl+C to stop ERROR 2020/08/04 13:36:01 Error: listen tcp 127.0.0.1:49744: socket: too many open filesエラーをググるとファイル数を一気に開けないことで上記の症状が起こる模様
調べてみると、自分が作っているサイトに関しては
14000オーバー。
これが原因。自分の設定の確認方法
keineme% ulimit -n 12800keineme% ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 12800←ここが足りてない pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 65532 cpu time (seconds, -t) unlimited max user processes (-u) 2784 virtual memory (kbytes, -v) unlimited対応方法
/Library/LaunchDaemons/limit.maxfiles.plist
ここにファイルを作成する。limit.macfikes.plist<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>limit.maxfiles</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>limit</string> <string>maxfiles</string> <string>65000</string> // ここの数字は扱う数より大きければよい <string>65000</string> // 同様 </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> </dict> </plist>このファイルを保存してOS再起動。
再起動して再度コマンド入力。keineme% ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 65000 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 65532 cpu time (seconds, -t) unlimited max user processes (-u) 2784 virtual memory (kbytes, -v) unlimited再度
hugo server
を入力してプレビューがうまくいくことを確認する。Linuxでも同様の状況が発生するとのことで同じ項目あたりで調べてみるとよいみたい。
- 投稿日:2020-08-04T16:26:35+09:00
MacBookを買い替えたときの環境設定メモ
概要
MacBook Pro(2020) を購入し、出荷時設定から実施した作業内容についてまとめたメモ。
随時追記予定。経緯
大学時代に購入し、かれこれ7年ほど愛用してきた MacBook Air が「そろそろ引退させてくれ」と露骨にアピールするようになってきた1ので、重い腰を上げて買い替えることにした。
マシン酷使の最たる原因だった大学での研究活動からはとうに離れ、Twitter やネットサーフィン、動画視聴などライトな趣味範囲での使用となって久しいが、デスクトップでは Windows を使っているのでノートは Mac を持っておきたく、必然的に MacBook Air/Pro の2択に。
2020モデルから追加された新色は Air のゴールドが気になったが、Pro を触ってみたい欲とマシンスペックの魅力に勝てず、やや値が張りかつオーバースペックであることを承知の上で思い切って Pro を購入した。
給付金で実質半額だから……(小声)作業内容
実施した作業から順に記載していく。
今後、何かしら設定した場合は追記する可能性あり。環境設定
端末自体の環境設定項目。詳細な手順は気が向いたら追記するかも。
- キーボードバックライト OFF
CapsLock
キーをControl
に割り当てF11
(デスクトップ表示)無効化- Bluetooth を OFF
- トラックパッドをタップでクリック判定するように設定
- ディスプレイの輝度自動調整 & TrueTone 設定 OFF
- 蓋を閉じた瞬間にロックするように設定
- メニューバーのバッテリーを残量(%)表示
- メニューバーの時計を月日・秒を含めて表示
以下の設定は後述のアプリケーションインストール後に行う。
- Dock から不要なアプリアイコンを削除(Finder, 夜フクロウ, Chrome, ゴミ箱以外)
- ブラウザ(Chrome, 一応 Safari も)のリロードキーを
Command
+R
からF5
に変更Google 日本語入力
macOS 標準の IME は使い勝手があまりよくなかった2ので、使い慣れた IME をダウンロードする。
https://www.google.co.jp/ime/Google Chrome
下記のサイトから Google Chrome をダウンロード & インストール。これで Safari は勇退。お疲れさまでした。
https://www.google.com/intl/ja_jp/chrome/拡張機能(アドオン)
「Chrome アドオン おすすめ」などでググり、目についたものをいくつか突っ込む。
導入したアドオンは下記。
- AdBlock
- Autopagerize for Chrome
- The Great Suspender
参考:【2020最新版】Chrome拡張機能おすすめ43選を用途別に紹介!【大幅な効率化と生産性を向上を!】
夜フクロウ
以前から愛用していた Twitter クライアント。App Store からダウンロード可能。
https://apps.apple.com/jp/app/%E5%A4%9C%E3%83%95%E3%82%AF%E3%83%AD%E3%82%A6/id428834068?mt=12cdto
Finder で表示しているディレクトリをカレントディレクトリとしてターミナルを起動可能になるアプリ。下記ページから最新版をダウンロード。(当時最新:v3.1)
https://github.com/jbtule/cdto/releases参考:Finderからターミナルを「現在のパスで」秒で開く!Mac拡張機能「cd to」
Touch Bar 無効化
アプリケーションごとに表示が変わって「おぉ……」となる Touch Bar だが、
1分ぐらいで見飽きた後述のiTerm
を使うにあたって不便な面があるので一部のアプリをアクティブにしている際にはファンクションキーを常時表示させるようにする。
下記参考ページの手順に従い、次のアプリケーションを常時表示の対象とした。
- Finder
- Google Chrome
- Safari
- 夜フクロウ
- ターミナル
- iTerm(以降の手順でダウンロード後)
- プレビュー
- テキストエディット
- システム環境設定
- App Store
参考:Touch Bar 搭載の MacBook Pro でファンクションキーを使う方法
iTerm2
ブラウザを参照しながらコマンドを打つときなどに便利なターミナルアプリ。(当時最新:v3.3.12)
https://www.iterm2.com/downloads.html設定等は下記ページを参考に。
F11
キーを押すと、半透明の新規ターミナルウィンドウを画面の右半分に開くように設定した。参考:iTerm2のおすすめ設定〜ターミナル作業を効率化する〜
参考:iTerm を全画面で表示するのをやめて画面の左半分に表示するようにしたHomebrew
パッケージ管理ソフトとして
Homebrew
を導入。
参考ページの「mas-cliのインストール」までを実施。shell のカスタマイズ
とりあえず
shell
はzsh
かなと思ったら、Catalina からはデフォルトのシェルがbash
からzsh
に変わっているらしい。これはラッキー。
ということで、見た目のカスタマイズテーマだけ変えるため、下記参考ページの「sorinからpureに変更してみる」までを実施。テーマは好みの問題で、pure
ではなくpeepcode $
にした。Ruby
下記ページを参考に、
Ruby
を最新の安定版(v2.7.1)にアップデート。Python
下記ページを参考に、
Python
を3.x系の最新版(v3.8.5)にアップデート。参考:MacOSとHomebrewとpyenvで快適python環境を。
Scala
下記ページを参考に、
JDK
とScala
の最新版をインストール。Emacs
作業中
まとめ
肝心の開発環境関連を全く整備していないので、エンジニア向けではないただの作業メモになってしまったが気にしない。
新しい MacBook Pro では Touch ID でロック解除できるのが地味にうれしいが、Touch Bar を有効に使える日は果たして来るのだろうか……。
- 投稿日:2020-08-04T16:26:35+09:00
MacBook を買い替えたときの初期設定などなど
概要
MacBookProを購入し、出荷時設定から実施した作業内容についてまとめたメモ。
経緯
大学時代に購入し、かれこれ7年ほど愛用してきたMacBookAirが「そろそろ引退させてくれ」と露骨にアピールするようになってきた1ので、思い切って買い替えることにした。
マシン酷使の最たる原因だった大学での研究活動からはとうに離れ、Twitterやネットサーフィン、動画視聴などライトな趣味での使用となって久しいが、デスクトップではWindowsを使っているのでノートはMacを使いたく、必然的にAirかProの2択に。
Airの新色(ゴールド)も気になったが、Proを触ってみたい欲とマシンスペックの魅力に勝てず、やや値が張りオーバースペックであることを承知の上でProを購入した。
給付金で実質半額だったので……作業内容
随時追加予定。
環境設定
端末自体の環境設定項目。詳細な手順は気が向いたら追記するかも。
- キーボードバックライトOFF
- 蓋を閉じた瞬間にロック
- メニューバーのバッテリーを残量(%)表示
- BluetoothをOFF
- ディスプレイの輝度自動調整&TrueTone設定OFF
- メニューバーの時計を月日・秒を含めて表示
- CapsLockキーをControlに割り当て
- F11(デスクトップ表示)無効化
- Dockから要らないアプリアイコンを削除2
Google 日本語入力
macOS標準のIMEは使い勝手があまりよくなかった3ので、使い慣れたIMEをダウンロードする。
https://www.google.co.jp/ime/Google Chrome
下記のサイトからGoogle Chromeをダウンロード&インストール。これでSafariは勇退。
https://www.google.com/intl/ja_jp/chrome/拡張機能(アドオン)
「Chrome アドオン おすすめ」などでググり、目についたものをいくつか突っ込む。
導入したアドオンは下記。
- AdBlock
- Autopagerize for Chrome
- The Great Suspender
夜フクロウ
以前から愛用していたTwitterクライアント。App Storeからダウンロード可能。
https://apps.apple.com/jp/app/%E5%A4%9C%E3%83%95%E3%82%AF%E3%83%AD%E3%82%A6/id428834068?mt=12cdto
Finderで表示しているディレクトリをカレントディレクトリとしてターミナルを起動可能になるアプリ。下記ページから最新版をDL。(当時最新:v3.1)
https://github.com/jbtule/cdto/releasesTouch Bar 無効化
アプリケーションごとに表示が変わるTouch Barだが、iTermを使うと不便な面があるので一部のアプリをアクティブにしている際にはファンクションキーを常時表示させるようにする。常時表示の対象としたアプリは下記。
- Finder
- Google Chrome
- Safari
- 夜フクロウ
- ターミナル
- iTerm(以降の手順でダウンロード後)
- プレビュー
- テキストエディット
- システム環境設定
- App Store
参考:https://support.apple.com/ja-jp/HT207240
iTerm2
ブラウザを参照しながらコマンドを打つときなどに便利なので入れておく。(当時最新:v3.3.12)
https://www.iterm2.com/downloads.html設定等は下記ページを参考に。
F11キーを押すと、半透明の新規ターミナルウィンドウを画面の右半分に開くよう設定した。参考:https://qiita.com/ruwatana/items/8d9c174250061721ad11
参考:https://this.aereal.org/entry/2015/12/21/145324Homebrew
パッケージ管理ソフトとしてHomebrewを導入。
参考ページの「mas-cliのインストール」までを実施。
参考:https://qiita.com/takeshisakuma/items/e9685fb9e394212247c0shellカスタマイズ
参考:https://qiita.com/devzooiiooz/items/a5f8fc33dee214f60f4e
Emacs
作業中
まとめ
Touch Barを有効に使える日は来るのだろうか……。
- 投稿日:2020-08-04T12:03:58+09:00
Macとラズパイ間でファイル転送したいのでラズパイをファイルサーバー化する
ラズパイ開発をしていると、ホストPCからファイルをサクッと転送したくなります。
本記事では、ラズパイ側にファイルサーバー建ててMacからアクセスできるようにしてみます。先人たちのやり方に則って
samba
の環境構築を進めます# sambaインストール $ sudo apt-get install samba samba-common-bin # 共有したいフォルダ作成 $ sudo mkdir /var/samba # ユーザーを追加 $ sudo useradd smbuser # ユーザーログインするためのパスワード設定 $ sudo passwd smbuser # ユーザー権限を変更 $ sudo chown smbuser:smbuser /var/samba/ # ユーザーをデータベースに追加 # -aオプションはユーザーの追加と同時にパスワード同期を直ちに行ないたい場合に使用する $ sudo pdbedit -a smbuserSamba設定ファイルの更新
# バックアップ $ sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.backup # 設定ファイルの修正 $ sudo vim /etc/samba/smb.confファイルの末尾に以下を追記します
smb.conf[raspberryPi] comment = RasPi FileServer path = /var/samba writable = yes browsable = yes valid users = smbuser force user = smbuser
項目 内容 comment 説明 path 共有するディレクトリ read only ReadOnlyフラグ browsable ネットワークに表示するフラグ valid users アクセス可能なユーザー(,区切り) force user アクセスしたら強制的にこのユーザーになる sambaを再起動して準備は完了です。
$ sudo /etc/init.d/samba restartsambaにMacからアクセス
Finder > 移動 > サーバ接続..
からラズパイのsmb://IPアドレス
と入力して接続します。先程設定したユーザー/パスワードでログインします。
無事にMacからラズパイにアクセスでき、ファイルのやり取りが楽になりました。
環境
- RasberryPi 3B
- Raspbian GNU/Linux 9.8 (stretch)
- Samba Version 4.5.16-Debian
参考
- 投稿日:2020-08-04T09:46:57+09:00
シンボリックリンク作成時に 「オリジナルの項目が見つからない」エラーの対処法
シンボリックリンクを張ると以下のようなエラーが出て失敗してしまったので、その解決備忘録です。
経緯
僕はPhotoshop Script(jsx)を開発する際に、git管理したいので作業環境のjsxをPhotoshopディレクトリ内にシンボリックリンクを張って作業します。
作業環境/hoge.jsx ↓ /Applications/Photoshop 2020/Presets/Scripts/hoge.jsx以下のおなじみの
ln
コマンドで張ります。1$ sudo ln -s '作業環境/hoge.jsx' '/Applications/Photoshop 2020/Presets/Scripts/'アイコンが何かおかしい。
ダブルクリックしてみると、冒頭のキャプチャのエラーダイアログが表示され失敗したことが分かります。
※ファイルの情報でも確認できます。解決方法
$ ln -s 元ファイル絶対パス リンク先絶対パスこのように絶対パスで
ln
コマンドを実行します。
関連付けされたAtomのアイコンが表示されて、ダブルクリックするとオリジナルファイルが開くようになりました。成功。
まとめ
シンボリックリンクを張る場合は、相対パスではなく絶対パスを使用する。
/Applications配下--9-9^-9-0^¥-09-0^9-0-09^-090-9-97-アクセス権限的に
sudo
を使っています ↩
- 投稿日:2020-08-04T01:34:07+09:00
MacでRealsenseをPythonで動かす。
はじめに
初投稿です。至らない部分があると思いますが、優しい目でみていただけると幸いです…
悪戦苦闘しました。ちなみにめちゃめんどい。第一の罠
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_osx.md
公式にMacでのインストール方法は書いてある。しかし、どうやってプログラムをコンパイルできるのか分からなかった…第二の罠
そこで、Pythonの環境を作ろうと決断。Ubuntuでの環境構築を参考にしようとして、
$ pip install pyrealsense2
をした。何も起きない。悲しい。
悲しいことにMacには対応していないみたいなので、自分でビルドするしかない。第三の罠
ここで、Qiitaの記事を発見。
https://qiita.com/mizumasa/items/c6ca2c73fa86c9a5a39c
MacでPython環境を構築している方がいた!神!
早速、同じことをする。…結果、ダメだった?第四の罠
もう悲しくて悲しくてしょうがなかった…
苦手な英語を読むことに決意。公式のライブラリにissueであった物を参考にした。
https://github.com/IntelRealSense/librealsense/issues/5275
多分これ読めばたいていの人は行けると思う。しかし、僕は無理だったのでとにかく悲しかった???成功した方法
最後に僕の成功した方法を残しときます。
https://qiita.com/comachi/items/14b358568365bc5ee474
これ is 神。この記事が神でした。神って言ったけど、これじゃできなかったので少し修正。
この記事の下の方、「シンボリック作成」の部分。
$ cd /usr/local/lib/python3.6/site-packages
$ ln -s /usr/local/lib/pyrealsense2.cpython-37m-darwin.so pyrealsense2.so
$ ln -s /usr/local/lib/pybackend2.cpython-37m-darwin.so pybackend2.so
こうあるんですけど、
- pyrealsense2.cpython-37m-darwin.so
- pybackend2.cpython-37m-darwin.soこやつら、/usr/local/lib にいないんじゃ…
頑張って探しました。そしたら、
~/libreasense/build/wrapper/python/
にいたので、次のように変更。
$ cd /usr/local/lib/python3.6/site-packages
$ ln -s ~/libreasense/build/wrapper/python/pyrealsense2.cpython-37m-darwin.so pyrealsense2.so
$ ln -s ~/libreasense/build/wrapper/python/pybackend2.cpython-37m-darwin.so pybackend2.so
これでいけた!!!はず。
終わりに
まじで1週間くらいかかったので、残しとくことにしました。
C++の方は分からないので、みんなWindowsで開発しよう!!!参考にしたサイト
- 投稿日:2020-08-04T01:12:13+09:00
MacからラズパイにVNC接続して遠隔操作する手順
Macから手持ちのラズパイ3Bに同一無線LAN内でVNC接続して遠隔操作しようとしたのですが、ひと手間掛ける必要があったためその備忘録となります。
MacからVNCでそのまま開けない
ラズパイ側で予め
ifconfig
コマンドでIPアドレスを調べておきます。vnc://ラズパイのIPアドレスしかし接続失敗します。
リモートコンピュータのソフトウェアが、このバージョンの画面共有と互換性がないようです。
このようなエラーが出てしまいます。
TightVNCを使用する
ラズパイ側
$ sudo apt-get install tightvncserver
apt-get
コマンド1でTightVNCをインストールします。ラズパイ側でシェルで以下のコマンドを実行しTightVNCを起動しておきます。
$ tightvncserver
※初回パスワード設定が求められます。
Mac側
vnc://ラズパイのIP:5901
でVNC接続すると、無事に接続できました。これでラズパイに外部モニタやキーボードを繋ぐ必要はなくなりました。
余談
このままだとHDMIへの画面出力もしてしまい使用メモリの無駄です。
設定 > RasberryPiの設定 > システム > ブート
をデスクトップからCLIに変更します。するとHDMIへの出力が切れます。普段はsshでMacから接続し、GUI作業したい時にTightVNCを使うという運用が良さ気な感じです。
環境
- RasberryPi 3B
- macOS Catalina 10.15.5
- TightVNC-1.3.9
参考サイト
適宜apt-get update、apt-get upgradeを実行してください ↩