mieki256's diary



2023/10/15() [n年前の日記]

#1 [prog][windows] CUIファイラー Midnight Commander fo Windowsを試用

CUI(CLI)ファイラー Far Manager関連の情報をググっていたら、Midnight Commander の Windowsバージョンもあると知った。Linux上でたまに使っているソレを Windows上でも利用できるなら便利なのではと思えてきたので試用してみることにした。環境は Windows10 x64 22H2 + ConEmu 200713 {64}。

_Midnight Commander for Windows download | SourceForge.net
_Midnight Commander

インストール :

mcwin32-build228-setup.exe を入手して実行。デフォルトでは C:\Program Files (x86)\ 以下にフォルダを作成してその中にインストールされるように見えた。今回は D:\home\bin\mc\ にインストールしてみることにした。

起動の仕方 :

インストールしたフォルダにパスが通っている状態なら、DOS窓上で mc と打ち込むだけで起動する。

今回は、インストールしたフォルダをパス(環境変数 PATH)に含めず、mc.bat を書いておいて、mc と打ったら実行できるようにした。

mc.bat
@set MCPATH=D:\home\bin\mc
@set PATH=%MCPATH%;%PATH%
@echo Add Path : %MCPATH%
mc.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
一見すると雑な batファイルだけど…。
  • mc.exe にパスが通ってない状態で mc と打って実行すると mc.bat が実行されて、その際 PATH の先頭に、Midnight Commander インストールディレクトリが追加(挿入)されて、その直後に mc.exe を実行する。
  • 2度目の mc 入力時は、PATH に Midnight Commander インストールディレクトリが追加済みなので、その中の mc.exe が最初から呼ばれて起動する。
  • DOS窓を閉じれば PATH も元に戻る。

ショートカットキー :

F10終了
F9メニュー表示
Up / Down / Left/ Rightカーソル移動
Home一番上にカーソルを移動
End一番下にカーソルを移動
TAB / Ctrl+i反対側のペインに移動
Enterディレクトリの中に入る
Cirl+omcパネル表示とシェル表示を切り替え
F3ビューワ表示。テキストファイルの中身を表示できる。F3で抜ける
F4簡易エディタ起動。F10で抜ける
Ctrl+Enterカーソル位置のファイル名をコマンドライン入力欄に挿入
Ctrl+Shift+Enterカーソル位置のファイル名をパス付でコマンドライン入力欄に挿入
Ctrl+x h現在開いてるディレクトリをホットリストに登録
Ctrl+\ホットリストを表示。登録してあるディレクトリに移動できる
Alt+cディレクトリパスを直接入力して移動
Alt+tファイル一覧表示の種類を変更
Ctrl+u左右ペインの入替
Alt+oディレクトリ選択中なら反対側のペインに内容を表示
Ins / Ctrl+tファイル/フォルダをマーク
\マーク全解除

一番下にコマンドライン入力欄が常時表示されているので、そこに何かしら打ち込んで実行すれば、コマンドライン上でできることは大体できる。例えば、cd C:\hoge\ と打ち込めば、カレントディレクトリを C:\hoge\ にできるし、mcの表示もそのディレクトリになる。

あらかじめ mc 上で hoge.rb にカーソルを合わせておいてから、コマンドライン入力欄で、「ruby 」と打って、Ctrl + Enter を叩けば、現在カーソルがある位置のファイル名、hoge.rb が挿入されて、「ruby hoge.rb」という記述になる。その状態で Enter を叩けば、ruby で hoge.rb を実行できる。

問題点その1 :

これは ConEmu + cmd.exe 上で実行しているせいだと思うけれど、ところどころに日本語文字列(全角文字)が入っているせいか、横方向の表示が崩れてしまう…。本来なら縦に一直線になる部分がガタガタしてしまう。ちなみに使用フォントは Meiryoke_Gothic。ただ、フォントを HackGen 等にしても問題は解消しなかった。

Windowsターミナル上で動かしたところ、ConEmu のように横方向の表示が崩れたりはしなかった。その代わり、こっちはこっちで罫線が見えなくなった。表示してるつもりが表示されてないのか、そもそも表示してないのかは分からないけど…。

DOS窓(cmd.exe)上で表示したところ、ちゃんとした表示になった。DOS窓に特化して作られてるっぽいなと…。

問題点その2 :

Linux上で使う分には各種補完を M-TAB (Alt + TAB)で利用できるらしいのだけど、Windows上で M-TAB を叩くと、Windows自体が機能として持っている、ウインドウ切り替えが呼び出されてしまう。Esc + TAB で代用できないかと思ったけれど、それも無理なようで、単に TAB だけが受け付けられてしまう。Windows + mc で、代わりに使えるキーは無いのだろうか…?

#2 [prog][windows] Windows10上で動くCUIファイラーのスクリーンショットをメモ

せっかく Windows10 x64 22H2 + cmd.exe(DOS窓)上で動くCUI(CLI)ファイラーを色々試用してみたので、ついでにスクリーンショットもメモしておく。

lf :

ss_lf.png

_GitHub - gokcehan/lf: Terminal file manager

Python で実装された Ranger というCUIファイラーから影響を受けている1画面ファイラー。カーソルキーでフォルダ階層を移動できる。

vifm :

ss_vifm.png

_Vifm

vi(vim)と似たショートカットキーで利用できる2画面CUIファイラー。

goful :

ss_goful.png

_GitHub - anmitsu/goful: Goful is a CUI file manager written in Go.

Go言語で実装されている2画面CUIファイラー。

Far manager :

ss_far_manager.png

_Far Manager Official Site : main

Norton Commander クローン。2画面CUIファイラー。

Midnight Commander for Windows :

#3 [ruby] Gosuのキーボード関連定数が少し変わっていた

Windows10 x64 22H2 + Ruby 2.6.10 x86 + Gosu 1.4.3 を使って、昔書いたサンプルを動かしていたら、警告が出ていることに気づいた。

>ruby 06_gosu_fps_test.rb
06_gosu_fps_test.rb:205: warning: constant Gosu::KbEscape is deprecated

「Gosu::KbEscape は廃止された」と出ている…。

そのあたりの変更内容についてググってみたけど全然出てこない。なんだか Google の検索精度がどんどん悪化してる気がする…。

それはさておき、何を代わりに使うことになったのやら。

KbEscape は KB_ESCAPEになっていた :

_Module: Gosu - Documentation for gosu (1.4.6)

「KB_ESCAPE」という定数が目に入った。コレにしろということだろうか。


_Ruby Tutorial - gosu/gosu Wiki - GitHub

サンプルソースの中に Gosu::KB_ESCAPE という記述があった。やはりコレに変えないといかんらしい。


どの時点で変わったのか少し調べてみたけれど。

_Comparing v1.0.3...v1.0.4 - gosu/gosu-examples - GitHub

Gosu ではなくて、gosu-examples の変更点だけど、1.0.3 から 1.0.4 になる時に KbEscape から KB_ESCAPE に変更されてる。その時期より前にGosu側で変更されていたということだろうな…。2017年頃に修正されてるから、随分昔に仕様が変わっていたらしい。


_Gosu examples: available keys? - Issue #576 - gosu/gosu - GitHub

上記のやり取りによると、Gosu::KbSpace も Gosu::KB_SPACE になってる模様。

他の定義も無くなっていた :

別のスクリプトについても動作確認していたら、他にも定義が無くなっていたものが多数あった。
> ruby 07_input_test.rb
07_input_test.rb:43: warning: constant Gosu::KbLeft is deprecated
07_input_test.rb:43: warning: constant Gosu::GpLeft is deprecated
07_input_test.rb:48: warning: constant Gosu::KbRight is deprecated
07_input_test.rb:48: warning: constant Gosu::GpRight is deprecated
07_input_test.rb:53: warning: constant Gosu::KbUp is deprecated
07_input_test.rb:53: warning: constant Gosu::GpUp is deprecated
07_input_test.rb:58: warning: constant Gosu::KbDown is deprecated
07_input_test.rb:58: warning: constant Gosu::GpDown is deprecated
07_input_test.rb:63: warning: constant Gosu::KbZ is deprecated
07_input_test.rb:63: warning: constant Gosu::GpButton0 is deprecated

Gosu::KbLeft は Gosu::KB_LEFT に、Gosu::KbRight は Gosu::KB_RIGHT に、他もそんな感じで修正しないといかんようだなと…。要するに、Gosu::Kb* という記述があったら、Gosu::KB_* にして、かつ、KB_ 以降を大文字にしないといけない模様。

手元のスクリプトを修正 :

せっかくだから、GitHub にアップロードしてあった Gosu のサンプル群も修正しておいた。

_GitHub - mieki256/gosu_examples_mieki256: Ruby + Gosu examples by mieki256.

#4 [windows] Windows10のセーフモードでアプリをアンインストールしたい

Windows10 x64 22H2 のセーフモード上で、セットアップファイルが msi で提供されてるアプリのアンインストール作業をしたい。

経緯 :

Windows10 x64 22H2上で TortoiseGit を使おうとしたら「バージョンが古いぞ」「アップデート版があるぞ」と表示されたので、現行版の TortoiseGit-2.15.0.0-64bit.msi を入手してインストールしようとしたのだけど、インストーラを実行したら Windows10 がブルースクリーン(BSOD)になってしまった。

随分前から手元の環境では、システム全体に関わる何かをインストール/アンインストールしようとするとBSODになることが多いので、今回もなるんじゃないかと予想はしてたけど…。やっぱりか…。

一旦 TortoiseGit をアンインストールしてから作業したほうがいいだろうか、もしかしてセーフモードで行えばBSODにならずに済むだろうかと、セーフモードで起動して、コントロールパネルから TortoiseGit のアンインストールを試みたのだけど、「そんなことはできない」と言われてしまった。

調べたところ、セーフモードでは msi 関連のサービスも動いてない状態になるので、アプリのセットアップファイルが msi で提供されている場合、インストールもアンインストールもできないそうで。

一応、セーフモードで上でもそれらのサービスを動かして作業する方法があるらしいので試してみた。引用してメモ。

作業の流れ :

Windows10をセーフモードで起動。cmd.exe を管理者権限で開く。

以下を打ってレジストリにキーを追加。セーフモードのみなら Minimal のほう。セーフモード+ネットワークなら Network のほう。
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\MSIServer" /VE /T REG_SZ /F /D "Service"
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\MSIServer" /VE /T REG_SZ /F /D "Service"

msiserver を起動。
net start msiserver
または、コンピュータの管理 → サービスとアプリケーション → サービス → Windows Installer を右クリック → 開始、を選ぶ。

アプリをアンインストールする。コントロールパネル → プログラムの管理、だっただろうか…。

アンインストール作業が終わったら、msiserver を停止。
net stop msiserver

レジストリからキーを削除。
REG DELETE "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\MSIServer" /F
REG DELETE "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\MSIServer" /F

余談 :

セーフモード上でアンインストール作業を行ったら、BSOD にはならなかった。ということは…? 少なくとも、ハードウェア側で問題が起きているわけではなさそうな気配がとても濃厚になってきた気がする。一体どのプログラムが悪さをしているんだ…?

参考ページ :

#5 [movie] 「ゴジラvsビオランテ」を視聴

BS12で放送されていたので視聴。初見。

あんなに有名な映画なのに、恥ずかしながら今まで見たことが無く。おかげで基本的には楽しく見れました。なるほど。「ビオランテ」ってこういう映画だったのか。

先週は「メカゴジラの逆襲」を放送していて、少しだけチラチラと横目で見ていたのだけど、その映像と比べると「ビオランテ」の映像はグンとレベルが上がってるように思えた。日本の特撮って、着実にレベルが上がっていたんだなと改めて認識した次第。ハリウッドのSFX/VFXの進歩の速度と比べてしまうから、停滞していた印象になってたのかもしれないなと反省。このあたり、シリーズ作品を一つ一つ順に見てしまうと進んでいることが分かりづらいというのもありそう。

最後のあたりに1カットだけ出てくる 沢口靖子さんの顔で、なんだか全てが台無しになった気分に。いや、あの方は全然悪くない。あんな構図で、あんな入れ方をした監督が悪い。なぜこのタイミングでアレを入れようと思ったのか。なんか変だなーとは思わなかったのだろうか。いや待て。実はわざとやってた可能性もありそうか。「こんな えいが に まじに なっちゃって どうするの」的な。などと邪推せずにいられないぐらいにパワーを持ったカットだった気がする。

その後のアクションシーンも、なんというか…。当時、アクション監督という役職はなかったのだろうかと疑問を持ってしまった…。何が起きてるかは最低限伝わるのだけど、ハラハラドキドキ感は皆無で、アクションシーンとはどうあるべきかについて悩み始めてしまった。あのへんのくだりは無くてもいいよな…。

超能力関連の設定も要らなかったなと。なんであんな要素を入れたんだろう。当時流行ってたんだろうか。まあ、そのあたり、平成ガメラシリーズでも似たような印象を持っていたりするのだけど。

そんな感じで、「コレ、要る?」と首を捻るところは多々あったのだけど。特撮シーンがイイ感じだったので、まあいいか的な気分に。おそらくはワイヤーで吊って動かしているのであろう、ビオランテのうねうね感は良かった…。見えないところでかなりの数のスタッフが操演(?)していて、先輩が若手に怒号を浴びせたり腹や背中に蹴りを入れながら撮影してたのでは、などと想像してしまったりして…。スタッフの呼吸を合わせて「せーの」で動かすあたりはドラマにならんかな…。「せーの」じゃなくて「アクション!」でカチンコかな。分からんけど。

CGシーンの作り方にはヒントがありそう :

ワイヤーフレームのCGカットが何カットも出てきたのだけど、線が妙に滑らかで、このCGってどうやって作ってたんだろうと疑問が湧いた。当時のブラウン管でここまで奇麗に出せるものかな、不思議だなと。いや、当時であればベクタースキャンで描けそうでもあるし、ビットマップ、と言うかラスタースキャンよりは線が滑らかだろうけど、それにしても…。

_ベクタースキャン - Wikipedia
_ラスタースキャン - Wikipedia

気になったので、Wikipediaの該当ページを眺めたのだけど、作り方を知って驚いた。

_ゴジラvsビオランテ - Wikipedia

プロッタで紙に描いて光学合成とな。ソレ手描きアニメじゃん!? いや、手描きではないのだよな。たしかに間違いなくCGアニメ。でも出力がアナログ。CGアニメなのにアナログなアニメ。なんかすげえ…。もしかして当時はそういう作り方が当たり前だったのだろうか。山やゴジラが異なる色で描かれていたので、それぞれを別の紙に出力して、フィルムカメラでコマ撮りして、後からフィルムを光学合成で重ねてたんだろうな…。大変だ…。

改めてググってみたら、件のCGカットの作り方は有名なエピソードのようで、Twitterで紹介してる方が何人も居たし、動画サイトでも話題になってた模様。知らなかった…。勉強になった。

「レンズマン」のCGカットの話をちょっと思い出した。アレも、当時のCGマシンは半透明が使えなかったから、何回かレンダリングしてフィルム撮影して、後から光学合成して半透明にしていたそうで。

こういった作り方は、今でも使えそうな気がしてくる…。一旦、あえて、アナログ的な何かとしてCGを出力して、それをまた撮影してアニメにすることで、不思議な映像にならないかな…。いやまあ、今ならそのアナログの何かをコンピュータの中でシミュレーションして、最初から最後までコンピュータの中でやってしまいそうでもあるけれど。それでも、変わった表現をする上で、発想のヒントになりそうな気がする。「オレのカレーは仕上げに この変な虫を入れるのさ!」 *1 みたいな。いや、それとはちょっと違うか…。 *2

*1: _嵐馬破天荒の世界/ミスター味皇1
*2: もっとも、今のCGも、最後にわざとノイズを加えて実写素材と馴染ませたり、紙のテクスチャを載せてアナログ感を付加したり等、アナログな何かを付加する試みは当たり前のようにやってるわけで。「オレのカレーは仕上げに」的に、そこで一体何を入れるのか、工夫する余地はまだあるのだろうなとも。あるいは、3Dプリンターで出力したパーツを人形のコマ撮りアニメに利用した例も見かけたし、それはまさしく一旦アナログにしてみる手管と言えそうだなと。

以上、1 日分です。

過去ログ表示

Prev - 2023/10 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project