Posts

突然ctrl+spaceのIMEオンオフキーを奪われる:PowerToysのプレビュー

Image
イーロン・マスクに日本は消えてなくなるとまた言われたみたいだが、このあたりにも衰退が感じられるというか、 PowerToysをリリースするときに誰もコントロールキー+空白はヤベェって進言する人がいなかったんだろうなと思うと哀愁を感じる。 PowerToysよさげじゃんと思ってインストールしたのはよかったが、アップデートがかかりMacOS丸パク……あ、こんな時間に誰かきた……プレビュー機能が追加されるやいなやCtrl+Spaceキーのショートカットを奪いその通知すらしないという、UNIX系はおろか109系の英語キーボード使いが大パニックを起こす事案が発生。 戻すのはここ

今日GPT-4が答えられなかったこと: mpvのA-Bループ再生はstartの指定が必要

 mpv (https://mpv.io) というMPlayerからフォークした強力なメディアプレーヤーがあるのだが、多分に漏れずこれ系のツールにありがちな魑魅魍魎としたオプションだらけで、ものすごくとっつきが悪い。なぜ動画再生をシンプルにシンプルに行おうというモチベーションが生まれにくいのだろうか。 やりたかったことは動画の一部分のループ再生。需要も高いと思うのだがほとんど解説してあるサイトがないし、LUAと組み合わせてスクリプトを書く手引きなどに翻弄されてしまった。 答えは、--ab-loop-a=<開始時間>(秒数でもhh:mm:ss指定でも可)や--ab-loop-b=<末尾時間>を使うなら、--start=<開始時間>を同時に使って、そこまでシークしないといけないということだった。 発見場所:https://stackoverflow.com/questions/9878138/playing-a-specific-interval-of-a-video-in-mplayer-using-command-line-option

今日GPT-4が答えられなかったこと: Node.jsのsharpが画像をつかんだままになる → sharp.cache(false)

https://github.com/lovell/sharp/issues/415 Hello, input files can be kept open by libvips' file cache. You can use  sharp.cache(false)  to prevent this - see  https://sharp.pixelplumbing.com/api-utility#cache どうもWindowsに限った話みたいだが、Node.jsのsharpパッケージを使って画像を加工したあと読み込んだ画像がつかんだままになる(呼び出し側のアプリケーションが終わるまで削除できない)問題、GPT-4は答えられなかった。 こちらにも同様の情報: https://stackoverflow.com/questions/50403225/fluent-ffmpeg-unable-to-remove-video-screenshot-after-creation use this: sharp. cache ( false );

Javaのデコンパイラを探していてProcyonのリポジトリがぐちゃぐちゃだったので覚書き

 GPT-4に聞くとどうやら無償で使えるProcyonがjavaのバイトコードのデコンパイルで便利らしく、ダウンロードしようとしたらプロジェクトのリポジトリがbitbucketとGitHubでぐちゃぐちゃになっていたので覚書き。デコンパイラだけ欲しい場合は、素直にプロジェクトのルート https://github.com/mstrobel/procyon からリリースのリンクを辿り https://github.com/mstrobel/procyon/releases からAssetsのjarファイルを取得すればよい

Ubuntuを22.04に入れ替えたらTeratermが公開鍵認証でつながらないのでECDSAでキーを作り直した

 Ubuntuを22.04にまっさらから入れなおして、今まで使っていたクライアント側のTeraterm 4.106のssh_known_hosts(名前も変だし変な場所にある)の該当エントリを消したんだけど、どうにもつながらなくなってしまった。ググったらECDSAで秘密鍵・公開鍵作り直せという書き込みがあって、これをやったら助かりました。 ssh-keygen -t ecdsa -b 521 参照先:https://askubuntu.com/questions/1409733/ubuntu-22-04-lts-ssh-server-refuses-auth-key-works-fine-on-20-04-lts

gitで他ブランチの特定のコミットを取り込むのはいいけど

他のブランチの特定のコミットを取り込むにはgit cherry-pickをすればよいという記事は見つかるのだけれど、取り込んでおしまいってなに?!と思ったので備忘録 取り込んだあとすぐリモートへpushすればOK。その他のコマンドは要りません

コールバック関数というクソネーミング(翻訳)センス。駄文です

駄文です。あとで直すかも。 コールバック関数ってどの言語やっててもだいたい出てきて、分かるひとには分かるけど、分からないひとにはさっぱり分からないとっつきにくさですよね。これってたぶんコールバックってそのままカタカナにしてしまった功罪だと思うのです。 日常英会話でいうcall back (call me back)は、折り返し電話(してくれ)をお願いするときに使います。なんで折り返し電話してほしいかというと、相手が不在とか忙しいとか相手の都合でいま話ができないからで、それで折り返しの電話番号を伝えておくのです。 コールバックというカタカナにはそのような文脈を示す能力がないので、これはそのまま使っては(私のような初心者には)ダメなのです。コールバック→コールし返すって普通思うだろバカチンが。(すいませんすいません) ものすごくざっっっくりですが、コールバック関数が必要なのは、呼び出し側が関数が終わるまで待ってないといけなくて、完了したらこれを呼んでくれっていう関数とかを渡しとくみたいなことですよね。(すいませんすいませんすいません) この渡している関数なりが折り返しの(自分の)電話番号的なものと考えれば、コールバックとはなんぞやという理解が早まると思うのです。折り返し先は職場の電話ではないかもしれないしメールかもテキストかもしれないという融通がきくみたいな。

UbuntuのxrdpにWindowsのRDPクライアントからつなぐとすぐ切れる。→ すでに同じユーザーがローカルでログインしてるからかも

エラーが見えないのはマジでキツイですけど、Ubuntu上のxrdpにWindowsのRDPクライアントでリモートから繋いでてすぐ切断されてしまう場合、すでに同じユーザーでローカルからログインしてるからというのが理由の1つです。私はそうでした。 https://github.com/neutrinolabs/xrdp/issues/1128 2019/11/09のコメントより。

CarotDAVをWineで動かす。あとWinSCPも (Ubuntu18.04)

あんまり探しても出てこなかったですけど、CarotDAVの1.15.5をUbuntu 18.04とWine-3.0の組み合わせで入れてみました。winetricks経由でdotnet40を入れてるんですが、ローカルファイル、Amazon Cloud DriveとGoogle Driveで使った限りでは接続やフォント周り、暗号化、アップロードに関しては特に問題ないです。暗号化をオンにしてもフォントに色がつかないんですがこの辺は割り切りというか、ご本家にはmonoのスタックが不完全みたいなことも書いてありましたし、自己責任ですかね。 同じくWinSCP 5.13.4も入れたんですが、こちらはちゃんとWineサポートしてますってサイトに書いてありますね。このテの質問投げても、なんで他のネイティブのツール使わないのか?っていう野次が必ず返ってくるのですが、ほっといてくれよ手に馴染むんだよとしかいいようがないし、痒いところに手が届いて良くできてると思うんですよね。 いまのところAmazon Cloud DriveサポートはCarotDAVにしかなくて、逆にAmazon S3はWinSCPのほうだけ。WinSCPも5.13.5でいよいよ暗号化のサポートが入るみたいです。サーバーサイドの暗号化っていまひとつそれ違くない感があって使いたくなくて。

iPadでCitrixのマウスをCitrixじゃないリモートデスクトップで使う

iPad (iOS)にマウスは要らないとか要るとかAppleがそう思ってるとか思ってないとかっていう系の話はエライ長いこと続いてるんですが、いっこうにマウスなんかサポートされないですよね。ペンじゃダメなんですよ。だってマウス要る状況ならキーボードも普通に使うだろ。持ち替えるのがツラ過ぎ。 逆に普通にアプリ使ってる分には指で十分だしLINEなんかで物理キーボード使おうとしてもやっぱり親和性よくないですよね。ただリモートデスクトップ系となると話は変わってきます。 これまでもCitrixのX1マウスというのはCitrixのエンタープライズ系のリモートデスクトップ上でiOSをサポートしていたのですが、素人には強烈にハードルが高かったのです。とりあえずX1マウスが簡単に手に入りそうだったので買ってみたもののしばらく普通のBluetoothマウスと化していました。 今回たまたまShiftPoint GTというエルゴマウスがどうもRDP系でiOS行けるぞというニュースを読みまして、X1マウスも行けるらしいとのこと。 https://www.youtube.com/watch?v=CWjYaQg28pg 試したところ無事うまく行きました。ShiftPointも結構な値段してますけどX1マウスのほうが手に馴染んでいいような気もします。Jump DesktopのアプリはRDPとVNCの両方サポートしてるのが嬉しいのですがアプリとしてはお高めです。 ある程度お金がかかるという点は否めませんが、iOSはマウス使えないというのはある条件下では偽であり、別段遅延も気にならずにヌルヌル使えております。

Windows10にTeratermを新規で入れたら文字化けしてUTF-8の設定もできない→日本語設定にしてフォントの文字セットも変更すると直る

Windows10 HomeというのはProで慣れてから使うと本当に癖の強いOSなのですが、ちょっと型の古いミニPCが嘘みたいな値段で買えてしまうのでぜんぜん要らないのについつい手が出てしまいます。MMCが32GではOSのパッチ当てるだけでもスリル満点です。 さて、Teratermの4.100を入れて移行したログインマクロをttpmacro経由で使おうとしたら文字化けしてしまいまして、Setup->Terminal setupに行ってもエンコーディングを設定する箇所がありません。このKanji (receive)とKanji (transmit)を出すには、General->LanguageでJapaneseを選択しないとダメなのです。(すいません英語で入れてるのでメニューが英語表記です) そしてこれだけではまだ文字化けしまして、接続先のLANGやLOCALEを変えてもなんにもなりません。Teraterm側のFont設定で文字セットを日本語にする(文字セットが日本語にできるフォントを選ぶ)作業が必要になります。 これが分かったのはヘルプを出そうとするとTerminal ([Setup] menu; English mode)に飛んだからなんですけど、なんでそんなクエストしないといけないのか。 HomeとかProとかはあんまり関係ないんですけどね。言語周りでなにか端折られてるんじゃないかと疑ってしまいがちで、言語パックを別CDから入れてた時代の後遺症ですかね。

PowerShellでリモートへログインしてリモートデスクトップのON/OFFはできるのか?→できる

ものすごい回りくどい検索結果ばかり出てくるので最短だけ書きますが、Windows7どうし(Home → Premium)で吊るしのPowershellを直接コマンドラインで叩いて、リモート側のリモートデスクトップのOn/Offを行うコマンドは、一行で  (Get-WmiObject win32_TerminalServiceSetting -Namespace root\cimv2\TerminalServices).SetAllowTSConnections(1) これだけです。参照元は ココ 。 Namespaceとrootの間はスペースが1つあって、括弧もこのまま。SetAllowTSConnections(1)をSetAllowTSConnections(0)に変えてmstsc.exeで接続するとOKとアウトな結果が確認できると思います。その間にリモート先のリブートすら必要ありません。 おそらくGet-WmiObjectの戻り値を使わないと駄目そうなんですが、たぶんこんな感じのが端折ってあるんだと思います。 http://4sysops.com/archives/enable-remote-desktop-on-remote-computers-with-powershell/ 実際使っているのはPowershellではなくてWMIだとか、細かいパラメータはいろいろ意味があるとか本当は大切でしょうけれど、出来る出来ないの話がWindowsのバージョンが多すぎたりコマンドのバージョンも多すぎたりして非常にぼんやりしてしまっているように思います。 そのずっと手前、リモート側のPowershellまで接続するまで辿りつくのにEnter-PSSessionがらみでややこしい認証の設定があった(かもしれない…)のですが、ここでは省略させていただくということでご健闘を祈ります。

Firefox Syncをowncloudで設定してもUnknown Errorで終わるのは、バージョン上げとプロファイル側の設定が不備だから

以前自前でsyncサーバを立てる話を書いたのですがいつのまにか動かなくなってしまって難儀をしていて、でもownCloudにはmozilla syncという便利なアプリが入ってて(入れないといけない)面倒な作業がゼロになりました。 ただ非常にドキュメント類が不備なため、アプリを活性化したはいいがfirefox側で一体なにをすればいいのかまったく分かりません(でした)。ひっかかるポイントはこのへんです。(ownCloudが6.0.3で入れたアプリはmoziila syncの1.4) mozilla sync 1.4はownCloud 6.0.0では動かない アプリページのChange Logにはちゃんと書いてあるんですけど、それだったらエラー出してくれ。。     v1.4: 2014-02-11     * IMPORTANT: Incompatible with ownCloud 6.0.0! ownCloud 5.x and ownCloud 6.0.1 work fine. version.phpってものすごい微妙な書き方なんですよね。     $OC_Version = array(6,0,0,16);     $OC_VersionString = '6.0.1'; どっちだよ!(=_=) こんなんだったら迷わず上げてください。 Sync用のメールアドレスをowncloudのユーザ設定からセットしないといけない これやらないとfirefox側でUnknown Errorとか無慈悲なエラーでとまります。えーとまずmozilla syncをenableしたらまずユーザ設定のページに行ってください。専用のセクションがあります。 firefoxの設定の仕方が書いてない 使ったのは24.5.0。Pale Moonの64bitですけどここはおんなじだと思います。 Tools -> Set Up Sync..ではCreate a New Accountでそのセットしたアドレスと元々のowncloudユーザのパスワードを使う。サーバのURLはownCloud(のユーザ設定画面)に書いてあるとおり、1.4では  https:(またはht...

Thinkpad T61の64bit Windows7にBluetoothのヘッドフォン(SBH80)がつながらないので、lenovoに行って母艦側のEDR関連ドライバを入手する

Bluetoothのよさげなヘッドフォン(SBH80)がソニーから出てたので買ってみたのですが、どういうわけかペアリングの後に64bitのWindows7がうまくドライバを入れられずに失敗してました。電波越しのデバイスにドライバもへったくれもあるかと思いながら、Sonyを漁っても一向にそれっぽいものは見つかりません。もしかしてPC本体側なの?と思ってレノボに行ってみたらそれっぽいのがあって、入れてみたら解決しました。別にソニー云々じゃなくてEDRまわりだったのですが。 リンクはどうせコロコロ変わると思いますが参考までに。 http://support.lenovo.com/en_US/detail.page?LegacyDocID=MIGR-67853 カテゴリからBluetooth and Modem オペレーティングシステムでWindows7を選ぶとドライバ名 "Bluetooth with Enhanced Data Rate Software II for Windows 7 (32-bit, 64-bit), Vista (32-bit, 64-bit) - ThinkPad" が出てきます。 ついでに放置してたMotorolaのS10-HDもつながるようになっちゃって、なんか買わなくてよかったのかな感もあるのですが、いいやもう音良いし。とにかくもうちょっと親切なエラー出せんのかWindows

owncloudの暗号化を設定したとたんログインできなくなって、その後クライアントが同期に失敗し始める。

サーバは6.0.1(64ビットRHEL/apache2.2.x上)、クライアントは1.5.0.1913のWindows版を64ビットの7で。 owncloudはEncryptionのビルトインアプリを有効化することで初めてファイルの暗号化を使えるのですが、まずサーバにログインできなくなり、それを直しても今度はクライアントが同期に失敗するようになってしまいました。該当のリファレンスはこれ Cannot login after enabling encryption https://github.com/owncloud/core/issues/3629 結局phpをopensslを有効にして(--with-openssl)ビルドしていなかったという原因だったのですが、サーバがphpのバージョンにシビアで5.3.3以上必須(5.3.2でハマってました)、なので最新の5.5.8を並行導入しました。apacheのモジュールが絡むとひときわ面倒です。あーもう、あーもう。 そして次に起こるのがクライアントから新しいファイルを同期しようとするとひっきりなしに失敗して"The server did not provide an ETag"などと喚きながらも最後には諦めて何もしないという問題。ググったリンクも無駄足だったので書かないですけど、これはクライアントを再起動することですんなり直りました。直ってみたらそりゃそうなんだけどさ、再起動が必要とかなんとか、もうちょっと親切なこと言えないのかね……。 どちらも、エラーが原因を根源的なものから表示しないという問題なのですが、タダのものに文句言えないのが痛し痒しですね。phpの下位互換性のショボさも毎回の泣き所です。

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の回答のところは無視しても大丈夫です。