monolog

monora log #=> ものろーぐ

2018年11月の投稿

研究室に配属される前に知りたかった研究の流れ

雑記

こんにちは。名取さなさん10万FANS+おめでとうございます。大学まで片道2時間掛かる生活に嫌気が差したので、家に籠もってはたまに大学に行く生活をしています。睡眠が取れているのが何よりの救いです。

さて、大学は研究機関だと言われていますが、研究って具体的になにやるの? と思っていた3年間が終わり、4年目に突入して半年が経ちました。

半年も経つと秋になり、未来の後輩が研究室を決めるために見学や面談に来ているのを観測しています。

自分がその立場にいたとき、自分は研究をどういった流れで何をやるものなのか全く分かっていませんでした。
今もそんなに理解していない気はしますが、少なくとも今ぐらいの認識を研究室配属前に知りたかったな、というのは思っているので、転生したときのためのマニュアルとして少しまとめてみます。

そもそも研究のやり方とか認識とか、研究成果の扱いみたいなのは学問によってどうやら違うらしいのでとりあえず情報科学、とりわけコンピュータサイエンスの近くをやっている人間として書いています。
ちなみに成果は今のところほぼ無で、はじめての学会だね、と言われながら国際学会だし九州だしでよくわからない緊張に押しつぶされて寝込みつつもなんとか学生研究発表で入賞して、あと自腹で別府温泉に入りました。別府八湯温泉道初段程度の実力です。

read more »

tmux でも Touch ID で sudo を使う

Software お役立ち情報

Touch ID が搭載された MacBook Air を買いました。MacBook Air に欲しかった機能の8つ中8つが実現されたので買いました。1つ10点としたら10^8 で1億点だね、という話をしたら首を傾げられました。

Touch ID が sudo でもパスワードを入力する代わりに使えそうだな、と思ったので調べてみたらどうやら pam_tid.so という PAMモジュールが用意されており、コンフィグを弄ることで使えるようです。具体的には /etc/pam.d/sudoauth sufficient pam_tid.so を追記するだけです。簡単ですね。

しかし、tmux のようなターミナルマルチプレクサを使用している場合にはこれだけではうまく動作せず、sudoコマンドを用いても普通にパスワードを求められてしまいます。
(これは各ユーザごとに存在する bootstrap namespace に tmux が存在しないこと? が原因のようです。詳しくは当該リポジトリに説明と詳細へのリンクがあります。)

これに対処するために pam_reattach という PAMモジュールを書いた人がいて、これが使えます。

fabianishere/pam_reattach: A pluggable authentication module that reattaches to the user’s GUI (Aqua) session on macOS

参考にした元の記事やこのリポジトリの README.md には何事もなく以下のようにやれば入ると書いてありますが、これは失敗します。

$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr
$ make
$ sudo make install

これは最近の macOS の保護機能の1つである System Integrity Protection が有効になっているためで、rootであっても / 配下のほとんどが書き込み不可能になっています。つまり /usr/lib/pam にビルドされた pam_reattach.so をコピーすることができず失敗します。
多分これを開発するような人は無効にしてるんじゃないでしょうか……

実は/usr/lib/pam/usr/local/lib/pamで代替できます。というわけでそうします。具体的には以下のように PREFIX を変えるだけです。

$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local
$ make
$ sudo make install

それではよい tmux life をお過ごしください。