世界を動かす技術を、日本語で。

GNU ミッドナイトコマンダー

概要

Midnight Commander (mc) は、視覚的なデュアルパネル型ファイルマネージャー GNU General Public License 下で提供されるフリーソフトウェア コマンドラインやリモート環境でも動作し、多彩な機能を搭載 インストール は各種パッケージマネージャーで簡単 ドキュメントやサポート も充実し、カスタマイズ性も高い

Midnight Commander 概要

  • Midnight Commander (mc) は、視覚的なデュアルパネル型ファイルマネージャー
  • GNU General Public License に基づくフリーソフトウェア
  • ファイルやディレクトリのコピー・移動・削除、検索、サブシェルでのコマンド実行機能
  • 内部ビューア・エディタ・diffビューア を標準搭載
  • ncursesやS-Lang などのテキストインターフェースライブラリを利用
    • 通常のコンソール、X Window端末、ssh接続、リモートシェルなど多様な環境で動作

インストール方法

  • システムパッケージマネージャー を利用した簡単インストール
    • Debian / Ubuntu:apt-get install mc
    • Fedora / Red Hat:dnf install mc
    • FreeBSD:pkg install mc
    • macOS:brew install midnight-commander
  • ソースコード はOSU OSLミラーおよびGitHub公式リポジトリにて公開
    • 詳細は Source codeページ 参照

ドキュメントと学習方法

  • F1キー によるコンテキスト感知型オンラインヘルプ
  • 詳細な マニュアルページ を用意
    • mcmceditmcviewmcdiff 各種マニュアル
  • 公式ドキュメント が一次情報源

カラースキームとカスタマイズ

  • テーマ機能 (スキン)をサポート

コミュニティ・サポート・開発参加

  • サポート情報 はCommunicationページに記載
  • 開発参加 は「Development」セクション参照
  • 開発版のリリースノート はWikiにて随時更新

Hackerたちの意見

デュアルペインファイルマネージャー。なぜかこれらの技術用語は「オーソドックスファイルマネージャー」と呼ばれていて、これは東欧や旧ソ連の国々で特に人気があった文化的なジョークだと思ってた。詳しい起源はここに書いてあるよね。https://softpanorama.org/Articles/introduction_to_orthodox_f...

ロシアでは、「オーソドックス」には教会に厳密には結びつかない別の意味合いがあって、「唯一の正しい方法」みたいな感じなんだ。例えば「技術スタックを学ぶオーソドックスな方法」っていうの。否定形にすると「間違ってる」や「異端」みたいな意味にもなる。例えば「パイナップルの乗ったピザ」とかね。

「オーソドックス」は特定のタイプのGUIから来ていて、コマンドで動いているものなんだ。UI要素は実際の効果を持つコマンドをトリガーするために使われていて、これらのコマンドは手動で実行することもできるし、もっと複雑なコマンドに自動化することもできる。これは強力なUIを作る素晴らしい方法だよ。Vimのようなものを動かす原理でもあるし、Lispベースのソフトウェアがハックしやすい理由でもある。EmacsやStumpWMなどを考えてみて。小さなプラグインAPIに対してプラグインを書くのではなく、アプリケーションに直接新しい機能を組み込んでるんだ。あなたが言うように、参照している記事にはもっと詳しく書いてあるよ。

当時、東ヨーロッパにはUnix文化がなかったから、彼らは人気だったんだよね。ほとんどのコンピュータオタクはDOSユーザーだったし。個人的には、こういう人たちがシェル言語をちゃんと学ぼうとしないのがちょっとダサいなって思ってた。

「オーソドックスファイルマネージャー」って、この記事の著者が無理やり作ったミームだと思う。彼が古い記事にリンクしてるのも注意してね。20~25年前、こういうファイルマネージャーがパワーユーザーの間で流行ってた頃、私はFidonet/Usenetのディスカッショングループにいて、最も熱心なユーザーたちと一緒だったんだ。彼らはしばしばシステム管理者やプラグイン開発者だったりして。「オーソドックス」って言葉は使われてなかったと思う。時々、皮肉として使われてたかも。だけど、ニコライ博士が教えてくれたのは、もし本当にその用語を広めたいなら、最終的にはできるってことだね :D

Midnight Commanderが大好きで、使うシステムには毎回インストールしてる。ファイルシステムのナビゲーションや基本操作がすごく効率的で快適なんだよね。ショートカットを覚えて、他のコマンドラインツールと一緒に使うとさらに良いよ(ヒント:MCでCtrl+Oを押すと、今いるディレクトリの通常のシェルコマンドプロンプトに切り替わるし、もう一度Ctrl+Oを押せばMCに戻れる。これでMCを効率的に使いつつ、通常のコマンドラインも使えるから便利)。

特にNASでファイルを移動するときに使ってて、めっちゃ便利。GUIファイルマネージャーでは、Dolphinが最高だと思う。現在のディレクトリのための統合シェルがあって、ビューを分割できるし、sshやSFTPのURLも直接開ける。ローカルの作業では、Dolphinとそのシェルの組み合わせが無敵だよ。

私はあなたよりもそれを愛してると思う。確信してるよ。それは私のワークフローに根付いていて、ファイルに対する考え方にも影響してるんだ。

最新の修正を加えたファイルを、ショートカット一つで参照できる?それが一番恋しいんだ、シェルで。

同じく。MS-DOS時代に育ったことが関係してるのかな。デザインがすごく洗練されて効率的に見えるんだよね。

自分の唯一の不満は、デフォルトでvimのキーバインドがないことかな。システムやTUIツールで一貫したキーバインドがあると嬉しいんだよね。

99年から大好きなんだ。友達が「Linuxの管理者になるには、夜遅くまで起きてないとダメだよ。ミッドナイトコマンダーは真夜中にしか動かないから!」って言ってたのを思い出す。Slackware 7 <3

オーソドックスファイルマネージャーが最初に登場した頃、今はあまり見られないことがあった。それは特定の機能がOS/2やUnix系、LinuxベースのOS、Windows NTでは動かない理由を説明するのに多くの時間を費やさなければならなかったこと。MS/PC/DR-DOSだけが他のプログラムのPSPを直接操作したり、ビデオRAMやキーボードバッファを直接覗いたりできたから。ファイル名に「拡張子」が必ずしも必要ないことや、タイムスタンプの種類が1つ以上あること、リンクやシンボリックリンクが存在すること、異なる人が同じマシンで異なるローカル時間を持つこと、ディレクトリにサイズがあることなども説明しなければならなかった。今ではDOS的な考え方はずいぶん少なくなった。Midnight Commanderのスクリーンショットは、DOS的な考え方を持つOFMユーザーには少し違和感があっただろうね。今では、初心者には元々のMS/PC/DR-DOSツールが奇妙に見えるだろう。彼らは8.3形式のファイル名カラムが狭かったり、ドットを省略したり、システムファイルのためにファイル名にグラフィックを使ったり、C0範囲のコードをビデオRAMに直接入力して得られるグリフを使用したり、Altキーを押したり離したりすることでUI要素が変わったりしてた。

「Lynxのような動き」パネルオプションと「クイックビュー」を有効にすると、ソースツリーをレビューするのに最高の方法になるよ。Debianのftpマスターたちもこれを使って、新しく導入されたパッケージのライセンスレビュー用のプラグインを使ってるくらいだからね。https://lists.debian.org/msgid-search/20191228133344.GA4943@...

mcは全然使えなかった。何のショートカットも直感的じゃなくて、何十年もいろんなGUIファイルマネージャーを使ってきた私には難しかった。残念だな、SSHをめっちゃ使うから、純粋なCLIで普通のファイル作業をするのは超面倒でミスが多いんだよね…でも最近探してみたら、nnnファイルマネージャーを見つけて、基本的なキーボードコマンドがちゃんと動くから、すごく作業効率が上がったよ。https://en.wikipedia.org/wiki/Nnn_(file_manager)

同じく、nnnはすごく軽く感じるよ。それに、すぐに使えるから、作業するたびに「自分の」.rcファイルを何十台も持ち歩く必要もないしね。

どのキーボードショートカットも全然直感的じゃなかった それは80年代からNorton Commanderと全く同じだよ。

MCは使ったことないけど(TUIにはあまり興味がない)、昔、同じようなグラフィカルなファイルマネージャーを書いたことがあるんだ。インスピレーションはAmigaのDirectory Opusから来たんだけど、あれは本当に素晴らしかった。90年代後半にGTK+がリリースされて、Cプログラミングへの愛とLinux、GTK+の複雑なグラフィカルインターフェースを作る能力が合わさって、デュアルペインのファイルマネージャーができたんだ。すごくいいプロジェクトだったよ。

2016年以降新しいバージョンが出てないのはちょっと悲しいな。 [0] 使い勝手は落ちてないと思う。最大の要望はGTK 2からGTK 3にアップデートすることだったんじゃないかな。でも、誰かがそうしたくない理由もわかるよ… 0: https://sourceforge.net/projects/gentoo/

まだWindows用があって、60ドルもするのが面白いね。今どき、誰がそんなソフトを買うんだろう。

Midnight Commanderには今でもすごく愛着があるよ、Norton Commanderの時もそうだったし。兄のコンピュータとDoomのデスマッチをするために、並列ケーブル接続を始めるのに使ってたんだ。ファイルマネージャーとしては結構クールだよね。理由は特にないけど、iPadで両方を並べて動かしてるスクリーンショットを貼っておくね。最近はこんなこともできるみたいだし。

なんか変な理由でZTreeWinを使ってみたくなってるんだ。今はデュアルペインのマネージャーを日常的に使ってるのに、ノスタルジーに駆られてZTreeWinに挑戦しようとしてる。2年以上前にライセンスも買ったのに、まだ真剣に触ってないんだ。今使ってる(デュアルパネルの)オーソドックスなファイルマネージャーの便利さとスピードが恋しいし、ゼロから全部学ぶのに根気がなくなってきてる。ZTreeWinの良い学習リソース知ってる人いる?

Midnight Commanderは素晴らしいツールだけど、若いユーザーは私たちが何かを失ったことに気づいてないと思う。Norton Commanderは、デュアルペインデザインだけじゃなくて、いくつかの要素が組み合わさって、ファイル操作がめちゃくちゃ速かったんだ。ハードウェアを考えながらソフトウェアを丁寧にデザインすることが大事だった。最大限に活用するには、キーボードのテンキーを使うべきだったし、クラシックなIBM PCのテンキーが理想だった。大きな+、大きな0、[num]/*-が上の段にあって、ファンクションキーもキーボードの上段にあった。ESCはすぐに反応するべきで、遅延なんていらなかった。多くの人はこれらが重要じゃないと思ってるけど、私は違う。ここでは、ほんの一瞬の差が大事なんだ。上で説明した設定では、現在のディレクトリの全ファイルを選択して、もう一方のペインに移動するのは、右手で一振り(テンキーの+とEnterを押す)、左手でF6、すぐに右手でEnterを押すだけ。これを=キーの+を使ってやってみて、同じだと言える?

ちゃんとしたキーボードさえあれば、まだまだ使えるよ。あ、モニターもね。ノートパソコンにかがんで長時間作業してるなら、数字キーが使えないことよりももっと大きな問題があると思うけど…。

毎秒のわずかな差が重要だ それが真実なら、手を休める場所から動かさなきゃいけないような、最も使いにくいキーに悩まされることはないよね。 > すべてのファイルを選択する…:右手を一振り それよりも、普通のCtrl+Aの方がいいよ。振らずに親指をちょっと動かすだけ。 > 左手でF6を押して、すぐに右手でEnterをもう一回押す。 それとも、同じ手でCtrl+Shift+X(あるいはもっと簡単にX、Xとか)。

「すべてのファイルを選択」は、実は一つのキー:* だったんだ(実際には選択を反転させる機能で、事前にファイルが選択されていないと仮定してね)。+とEnterを押すと一つのファイルが選択されて、次のファイルを編集/実行しようとするの?

ESCはすぐに効くはずなのに、遅延があるのはおかしいよね。これはmcのせいじゃなくて、エスケープシーケンスを正しく処理するためにターミナルエミュレーターが遅延を追加してるんだ。設定で変更できるかもしれないけど、どこでも使える一番簡単な方法は、素早く2回押すことだよ。それはDOSのやり方よりちょっと遅いだけで、1秒待つよりずっと早いから。

面白いファイルブラウザだよね。デフォルトの「青」色は今見るとレトロな感じがする。もし終了する方法が気になるなら(ターミナルから起動した場合):ESC 0だよ。もしくはシェルからの「exit」でもOK。正直、ちょっと時間かかったけどね(q、ctrl-c、ctrl-q、F10、ESCは全部ダメだった)。

F10はいつも私には効いてたけど、いくつかのターミナルではF10が他の機能に使われてることもあるんだよね。それがダメなら、マウスで「10 Quit」をクリックするのも手だよ(理想的ではないけど、すぐに解決できる方法だし)。