18:11:23 # Life execCommandでボタンをクリックしたらコピーする。 なんかいまいち標準化されていないけど他の方法がないので仕方がなくexecCommandを使う。 クリックするだけで必要な文字列をクリップボードに入れてくれる機能は コマンドの実行を直接する方法がない場合にはそれなりに便利。 適切なSSHキーをつかってサーバに接続して適切なコマンドを実行するようにできればいいんだけど、 なんかウェブページからはそれはできないっぽい。
11:54:41 # Life GCE のインスタンスを一覧して起動・停止するためだけのアプリを作ってみた。 GCPのGCEの管理ページは僕の環境だとなぜか20秒位かかるのでだいたいロードするのを待っているとやろうと思ってたことを忘れてしまうという問題がありました。手元のJSプロファイラーで眺めるとCPUが負荷高い。 ところがAPIをたたくとなんか500ミリ秒くらいしかかからないことが判明。 project名を指定したらインスタンスとIPアドレスの一覧を表示して、TERMINATEDとRUNNINGステータスのインスタンスについてはとりあえず切り替えるようにしてみた。全然AJAXじゃなくてリロードしたら状態が更新されるんだけどまぁ500ミリ秒もかからないのでいいでしょう。 AppEngineにおいてみた。
10:45:19 # Life ssh/config の LocalCommandでScreenのタイトルを変えてみる。 設定してみたんだけど、ControlMasterの時にしか実行されないので最初にログインしたScreenのセッションでしかタイトルが書き換わらないことが判明した。 .bashrcで書き換えたほうがよいのかな。 やってみた設定:
Host * # This configuration only works for the controlmaster. PermitLocalCommand yes LocalCommand tty -s && echo -ne "\ek%n\e\\" > $(tty)
19:55:03 # Life NodejsのコードからGCEをたたけるようになった。 とりあえずcompute.instances.aggregatedList。OAuthが通るようになるまで時間かかった。あと何が保存して再利用できるのか自明ではない。
20:49:17 # Life Chrome remote desktopを以前Debianで設定しようとしてはまったので再挑戦した。最悪なのはログを全くはかないというかまだどこにはいているのか発見できていないというところなんだけどどうやらChrome Browserの標準出力に垂れ流しているというのに気づいてちょっと進歩。 ~/.chrome-remote-desktop-sessionの設定とあとRootのパスワードというのが重要だった。辛い。