Posts

Showing posts from 2013

win-bashでviがUnrecognized TERM Typeで起動できない。→ vt100じゃなくてunset

日本語で検索結果が出なかったので、覚書き程度です。 viでターミナル系の不具合が出たらとりあえずvt100セットしとけで今まで生き抜いてきたのですが、win-bashではそうもいきませんでした。デフォルトではdumbがセットされていますが、Unrecognized TERM Typeの回避はunset TERMが正しい(手っ取り早い?)ようです。 リンク先はwin-bashそのものではないですが、 Cannot Commit in Cygwin/Git, Windows XP [Unrecognized TERM Type] 答えの1 http://stackoverflow.com/questions/2018345/cannot-commit-in-cygwin-git-windows-xp-unrecognized-term-type

winexeが0x0000001を吐いてNT_STATUS_UNSUCCESSFULで落ちはじめたので、winexesvcを上げなおす

いささか対症療法ではありますが、winexeが突然 Service cannot start, status=0x0000001 ERROR: Failed to install service winexesvc - NT_STATUS_UNSUCCESSFUL とか言い出して、リモートにあるXPのコマンドがまるっきり呼べなくなってしまいました。 このブログのサブタイトルどおりYesterday it workedで、なんかいろいろやっているうちに「なにもしていないのに」動かなくなってしまうという事態に陥ってしまいました。絶対違うけど。 解決方法(原因)は、結局リモート側のwinexesvcサービスが止まったままだったので、始動させたら元に戻りました。エラーが不親切すぎです。もちろんホスト側のsambaなんて動かしもしていませんが、エラーが手元なのかリモートで起きたかくらい書け。 「対症」としたのはエラーメッセージが、サービスを開始できなかったのはインストールできなかったからだとあたかも言っている部分で、昨日何度も実行してたはずなのになんでまたインストールしようとするのか?とか、疑問が絶えないのであまり考えないことにしました。 テキストベースでのLinuxからWindowsコマンドのリモート呼び出しはsshやrshなどの方法がありますが両者ともWindows側に(比較すると)大掛かりな準備が必要で、sambaのスタックを使うwinexeのほうがなんとなく下位レイヤが枯れてて安心できるというかコンパクトで小気味いい感じがします。でも所詮シェルとコマンドプロンプトは似て非なるものというか、まともに動かないバッチなんかもいろいろあったので、動かせるものに限りはあると思います。

firefox syncを自前サーバで運用してsqliteからmysqlまで持っていく

Firefoxの啓蒙の一環とはいっても、この世の中タダで使わせてくれるサービスなんてありませんよね。ここbloggerなんかもそうでしょうけれど(遠い目)。なにかしら 勝手に吸い上げられてる こちらから差し出さなければならないものはあると思います。 さて、Firefox Syncを自前サーバで運用する設定、Mozillaのサイトに載ってたのですが、サーバを自前でという検索は"own server"とか"self hosted"とか使うと引っかかりやすいみたいです。 Run Your Own Sync Server http://docs.services.mozilla.com/howtos/run-sync.html どのバージョンのFirefoxまで動くとかまで詳しく書いてありませんが、結果から言うと19でも23でも大丈夫でした。ただ動作が非常にシビアというか、ネットワークアナライザを覗いていると画面入力中もひっきりなしに(本物の)サーバに接続にいったりして、自前と本物のどちらに接続しにいくのか画面上でははっきり分かりません(エラーも)。 パスワードリセットなどは顕著で、もちろん自前用のアカウントが本物のページから修正できるわけがありません(されたら困る)が自分で試してみた限りではリセットページ(URL)が自前サーバに飛ぶところと飛ばないところがありました。一番の問題はetc/syn.confのfallback_nodeで、ポートをfirewallで塞いでたりsshトンネルで別ポートを使ってたりするとダンマリになって、その接続エラーがどうして起きたのかfirefoxは教えてくれないところでしょうか(怒) 入れる環境側の問題としては、(syncサーバが)pythonに厳しすぎて2.6以上、入れた環境は2.4ぺけだったのでpythonから入れ直し、また派生するpip, easy-installやmod_wsgiまわりも全部差し替えになる(並行インストールでバイパス指定した)ので、非常に骨の折れる作業でした。結果的に動作まで至ったのはpython2.7.3、mod_wsgiが3.4、64ビットのCentOSです。この作業する前から2.4と2.6と2.7.1が滅茶苦茶に入っていたので、ま

RewriteまわりのせいでSemanticScuttleがさくらレンタルでコケるので、phpのパラメータを追加する

いまさらオンラインブックマークだのソーシャルブックマークだのというのは古臭いのでしょうか?検索してもかなり昔のものしか出ず、3年も経てば同じ処理系でもガラリと動きの変わるネット界隈では厳しい取捨選択が必要でした。ビジネス的に廃れたからといってニーズがないわけではありませんよねこういうサービス、しかも自前サーバでというなら尚更に。 Scuttleが面倒起こしてるのは、たかだかブックマークデータの出し入れだけなのにRewriteなんか使ってカッコつけてるせいだと思うんですけど、だったら自分で作れよという結論に至る前に解決して(実に)良かったです。 入れたのはSemanticScutleでScuttleと同じではないのですがコケる設定まわりは一緒、のっけから500で堕ちるのは.htaccessのOptions FollowSymLinksによるものなので、なにも考えずにこの行を削除してください。2013/8/30時点ではさくらのphpの設定足してやるだけで、SemanticScuttle (0.98.5)は動き出すようになります。 このphp設定を端折ると一見動いたように見せかけてRegistrationなどの処理を行うとすぐに"No input file specified"などといってゴネ始めます(Scuttleではなくphpが返しているエラー)。検索する限りだと、さくらのRewriteくんだりに非常に強い癖があるだとか、PATH_INFO関連でソースに手を入れないといけないだとか出てきましたが、現状ではそこはそのまんまで問題ないようです。 追加設定は、さくらのコントロールパネルのほうで、php設定の編集→php.iniファイルパスのところへcgi.fix_pathinfo=1を手書きで足す。この変更が他へどのような影響を及ぼすかどうかについては考えないことにしています。 mysqlのエンコーディングについてもujisうんたらかんたらというのは全く考慮に入れないままutf8前提で日本語が使えました。入れてるデータがマシなのか何かのはずみでそうなってるだけかもしれませんが、これは動く動かないという瀬戸際の問題ではないので、使い物にならなくなったときにまた考えることにします。

Lenovo T61の音量とミュートボタンがまっさらのWindows7で認識せず。解決はドライバ集とは違う場所のツールから。

中古屋さんでリース終ちのLenovo T61にまっさらのWindows7がついてきたものを入手してみました。案の定タッチパッドまわりの設定(タップを無効化するとか)ができないのと本体の音量とミュートボタンが動かない問題とが起きましたが、なぜか指紋認識関連だけは吊るしの状態で完了したんですよね。ちょっと驚き。 でね、タッチパッドはLenovoのサイトで製品名で検索すると該当ドライバが出ますが、この音量関連ボタンの有効化がちょっと曲者で、そこからは必要なものがうまく見つかりません。 こちらのネタ元からLenovoのオフィシャルへのリンクが示されていました。 Lenovo T61 mute button and On Screen Display mute indicator doesn't work in Windows 7 リンク先が永続するかわかりませんが、 http://support.lenovo.com/en_US/detail.page?LegacyDocID=MIGR-74261 Hotkey Features Integrationのユーティリティ が必要になります。インストールして再起動で有効。 ネタ元のWindows7の画面の設定云々とかLenovo System Interface Driverの回答のところは無視しても大丈夫です。

ダイナミックDNSを独自ドメインで、そのうえwebはblogger、メールはlive.com (outlook)で送受信ともそのドメインでというネームサーバの設定のはなし

BINDだのDNSだのっていうのは仕組みや歴史からして魑魅魍魎渦巻く世界であり、できれば知らん顔で素通りして生きていたいものです。IPアドレスとドメイン名の紐付きをサクっと登録しときたいだけなのに、なんでこうも難解なのか間口が狭いのか。研究畑のヒトは無駄に頭がいいからシロウトには冷たいです。勉強してくりゃいいじゃん?的な。商業ベースなら客先で背広組の社内ITが怒りまくって殉職者が出るレベルの設計ですよね。流行りの言葉でいうところの激おこスティックファイナリアリティぷんぷんドリームとかですか。 ここに記事を上げるということは激おことか言ってられなくなったからなのですが、最近dyndnsの無料サービスのハードルがあがって月イチで実ログインしろ(更新だけではダメ)みたいな話になりましたよね。そんなもん自動化があたり前の世界で人間がいちいちやってられるかと悲しみに打ちひしがれておりました。 そうこうしているうちに以前バリュードメインに他所で購入した独自ドメインを移行したのですが(安かったので)、dyndnsなんかに頼らなくてもバリュードメインにあるダイナミックDNSサービスが利用できることが分かりました。DiCEとかもそのまま使えるし。さらに 自分でブログをホストするのがダルいので、bloggerを自前のドメインで運用したい サブドメインなし独自ドメイン名(wwwとか無いやつ)でbloggerを使いたい メールサーバの管理もダルいので、live.com/outlook/旧hotmailで受信も送信も自前ドメインでやりたい の3点追加、ヘタに不正確な詳細は書けませんので結果から言いますけど、バリュードメインでドメイン名を保持する値段だけで全部設定可能です。ホント、ダイナミックDNS登録1件いくらみたいなサービスプロバイダは一体何を考えているのかと。 一瞬メール転送とダイナミックDNSの同時利用はバリュードメインもしくはenomで購入したドメインじゃないとダメー?みたいな印象を受けましたけれども、そんなことはありません(でした)。メール転送はする、でもネームサーバはns1.value-domain.comから始まるものを使います。(設定画面だと転送するなら上位サーバ指定しろといわれますけど無視) Live.comの独自ドメイン運用の仕方はこちらを

GMailへのメール着信をフィルタリングしてSMS経由で通知したい

Googleに登録した電話番号あてにSMSを飛ばす機能がGoogle Calendarのリマインダにありますよね。あれを無理くりスクリプト使って、特定条件下のGmailあてのメールにフィルタかけてSMSへ飛ばすっていうことがGoogleで閉じた世界で実現できるそうです。閉じた世界で実現できるそうです。大事なので2回言いました。 そしてサンプルの通りやってみたらすんなりうまく行ったのですが、負荷対策であんまり沢山投げられないみたいで最後のほうは思い出した頃に届きました。(笑) スマホ側の通知機能使えばいいじゃんって話なんですけど、例えばiPhoneでマナーモードにしたとき、メールは1回だけどSMSって2回震えますよね。メールなんて大勢から届くし優先度まちまちだし、あれってもしかしてフィルタかけて受信トレイになくてもブルってませんか?気のせいかな…… ということで私にはこの2回振動する・メールとは違う通知音がセットできるっていうとこが大事なワケでして、あの長くなりましたがこれ、Google CalendarのAPIを使います。 https://developers.google.com/apps-script/articles/gmail_filter_sms 先に飛ばしたいメールのフィルタ条件をGmailで作っておいて、つぎにGoogleドライブからスプレッドシートの新規作成を経由してスクリプトエディタ開く → 保存したスクリプトをその場で実行するか、トリガーを登録して実行する間隔をセットしてやるという流れが書いてあります。 リンク先にあるサンプルをコピペして、getUserLabelByNameのとこを自分で作ったフィルタ名に変えてやるだけで動き出します。 通知メール1つ1つにカレンダーイベントが登録されてしまってウザいと思ったので、すぐさまCalendarApp.createEventで取得したCalendarEventの値にdeleteEvent()をかけてやったら、きちんと通知は送ってイベントだけ消えてくれました(消えたような気が今はする)。リファレンスはこちら https://developers.google.com/apps-script/reference/calendar/calendar-app Googleお膝元の

SkyDriveを終了してしまったけど、どこから起動すればいいか分からない。

SkyDriveをタスクバーから終了させちゃって手動で再起動する状況って、わりとなくはない話だと思うのですが、使いづらいWindows7のスタートメニューでは直感的にどこにあるのかも分からず、実際skydrive.exeというのはめちゃくちゃなところにあったりします。 microsoft.comで適当にググった答え(……って、これSettingのMore infoから飛ぶ先と同じですね) http://windows.microsoft.com/ja-jp/skydrive/fetch-files-pc-ui 「Skydriveアプリを再起動する」のところですが、検索ボックスに'skydrive'を入力して~って、まぁ確かProgramsとして引っかかってくるんですけど、なんか人類の堕落を感じる…… 実際のめちゃくちゃなターゲットは (Usersの自分の下の)AppData\Local\Microsoft\SkyDrive\SkyDrive.exe なんでProgram Files とかx86じゃないの? なんか入れるときユーザー限定とかしちゃったかな?とも思いますけど、まぁいいや堕落してるし。