Midnight Commander
                              -=-=-=-=-=-=-=-=-=-=

          user, n.: The word computer professionals use when they mean
                                    "idiot."
                   -- Dave Barry, "Claw Your Way to the Top"

        [I always thought "computer professional" was the phrase hackers
                       used when they meant "idiot." Ed.]

                   Jacek Kopecký, Petr Staněk, 9. února 1998

          Bývaly  doby, a většina z nás  si  je  pamatuje,  kdy  Unix-like
      operační systémy byly známy hlavně svou uživatelskou nepřívětivostí.
      DOS  by  na.tom  byl  podobně  nebýt  takřka   geniálního   programu
      pana  Petera  Nortona,  Norton  Commanderu. V tom se  nejspíš  prvně
      objevila  myšlenka mít na jedné  obrazovce  file  manageru  dvě okna
      s (nejčastěji) různými  adresáři.  Většina práce se soubory se přeci
      jen odehrává "někde" nebo "odněkud někam", takže dvě okna jsou právě
      dost.  Všichni  Nortona  znali a používali.  Mnozí si na něj zvykli.
      Poté se vyrojila  spousta  různých  napodobenin  (Volkov  Commander,
      Manažer602,  DOS  Navigator,  ...),  k tomu  se  rozšířily  Windows,
      a taky  Linux.  Ten  se  stal  populární  ne  kvůli  propracovanosti
      uživatelského   rozhraní,   ale   kvůli   stabilitě,   standardnosti
      a  kvůli  tomu,  že  to  není  produkt  společnosti  Microsoft.  Ale
      správa  souborů  zůstala  nepřívětivá  do doby,  kdy  přišel  Miguel
      de  Icaza  (miguel@roxanne.nuclecu.unam.mx) s  Midnight  Commanderem
      a do.prostředí UNIXů vnesl světlo Nortonovo.

                                   Screenshot 

                                  Podrobnosti

          Midnight  Commander (MC) je, jak už je asi zřejmé, "nortonoidní"
      správce   souborů.  Má  také   menu   nahoře,  pod  ním  dva  panely
      s výpisy  adresářů,  pod nimi  tzv.  Hintbar, kde se objevují  různé
      tipy pro  zpříjemnění/zefektivnění  práce s MC, dále pak  příkazovou
      řádku  a  pruh  "tlačítek".  Zobrazení  menu,  tlačítek  a  Hintbaru
      se  dá  vypnout,  podobně  jako  mini-status v panelech.  Ovšem v NC
      jsem  neviděl  možnost   rozdělit  si  obrazovku  nejen  vertikálně,
      ale i horizontálně  (panely nad sebou), a v obou  případech  třeba i
      asymetricky. To vše se dá najít v menu Options/Layout.

          Další rozšíření  oproti NC je v možnostech  zobrazení  informací
      v panelech. Kromě Full a Brief (jen dva sloupce) módů je k dispozici
      ještě  Long, kde se panel roztáhne  na.šířku  obrazovky a pokud není
      aktivní, je překryt  druhým. V takto  dlouhém  panelu se pak zobrazí
      informace ne  nepodobné  výstupu  příkazu ls -la.  Poslední  možnost
      zobrazení  je pak  User,  tu  si  uživatel  může  plně  nadefinovat.
      Také  mini-status  (oddělená  dolní  řádka  panelů) se dá  nastavit.
      Já to  například  používám  jen na zobrazení  jména,  které se někdy
      do.horní části panelu  nevejde,  protože tam ještě chci mít velikost
      souboru a přístupová práva. Takové dlouhé jméno souboru se v případě
      nedostatku  místa  zobrazí jako několik  znaků ze začátku,  vlnovka,
      a několik znaků z konce.

          Velmi  užitečná,  i když  někdy  možná  nebezpečná,  mi  připadá
      možnost  kopírování  nebo  přesouvání  souborů na  pozadí  (tlačítko
      Background),  zvláště v případě  kopírování  něčeho z Internetu přes
      FTP.

          Podobně  jako  NC má MC  vestavěný  prohlížeč a editor  souborů.
      Prohlížeč je poměrně  chytrý, dokáže zobrazit soubory tak, jak jsou,
      ale i tak,  jak by  měly  vypadat,  třeba  .html  "prožene"  lynxem,
      správně zformátuje i manuálové  stránky. Může se samozřejmě  splést,
      protože   soubory   rozeznává  podle  jména,   nikoli   třeba  podle
      výstupu  programu file. Pak máte ovšem  stále možnost  stisknout F8,
      to přepíná z filtrovaného  do.přímého  zobrazení. Ještě je tu F9, to
      pro změnu  přepíná tzv. formátování, tedy to, jestli MC interpretuje
      některé znakové  sekvence  používané  například k zvýraznění textu v
      manuálových  stránkách.  Prohlížet  soubory můžete po stisku klávesy
      F4 i v  hexadecimálním  módu, a tady  je  záludně  schovaná  možnost
      soubory v hexa  také  editovat  (F2,  pozor,  jen v raw mode -- F8).
      Tento  prohlížeč je schopen  hledat  kromě  normálního  řetězce (F7)
      také regulární výrazy (F6 nebo / popřípadě ? pro hledání  pozpátku).
      Pokračování  hledání  je buď  F17  (Shift-F7  nebo  Shift-F5),  nebo
      příhodné n.

                                    Ovládání

          MC  se  ovládá  podobně  jako  NC  pomocí  kurzorových   kláves,
      funkčních kláves a myši. Hlavní klávesové  zkratky jsou stejné s NC,
      tedy  např. F5 pro kopírování a F8 pro  mazání  souborů  (taky  jste
      si všimli F8 pro kopírování ve Windows  3.11 File  Manageru?),  dále
      třeba Ctrl-u pro prohození panelů apod. Další MC-specifické  zkratky
      jsou zjistitelné v menu,  podle  dokumentace  mají mnoho  společného
      s programy lynx, less a Emacs.

          Myš je podporována na linuxové textové konzoli (gpm) a v xtermu.
      Pro provádění cut-and-paste je přitom třeba držet klávesu Shift.

          I když  jsou  funkční i kurzorové  klávesy v terminálech  docela
      dobře definované, může se stát, že MC nepozná, co to uživatel mačká.
      Pak je tu možnost  zvolit v menu Options  položku  Learn Keys a MC s
      používanou  klávesnicí  seznámit.  Pokud ani toto nezabere,  funkční
      klávesy se dají simulovat sekvencí Esc-číslo, třeba Esc-5 pro F5.

                              Virtual Filesystems

          Už v NC nebo  nějakém jeho  pokračovateli  jsem  potkal  možnost
      procházení  obsahem  různých  archivů,  jako je arj,  rar, zip apod.
      V Midnight  Commanderu  kromě  archívů s příponami tar, tar.gz, tgz,
      tar.bz2,  rar,  arc, lha a snad i zip  můžete  prohlížet  obsahy deb
      a rpm balíků. Měl jsem  možnost  vyzkoušet jen rpm, to nabízí  kromě
      souborů v balíku  přímo  obsažených  navíc  soubor  HEADER a adresář
      INFO, kde jsou informace o balíku, a také skripty INSTALL a UPGRADE,
      jejichž spuštěním balík nainstalujete nebo upgradujete.

          Kromě všech těchto  lokálních  virtuálních  filesystémů MC ještě
      nabízí  síťové  připojení  na FTP  server  nebo  na.svůj  vlastní MC
      server. Na FTP se připojíte buď pomocí

       cd ftp://[!][user[:pass]@]\
       machine[:port][remote-dir]

          nebo  pomocí  volby  FTP link z menu  pro  daný  panel.  Všechny
      položky  mezi  ftp:// a  poslední ] jsou  dobře  popsány v nápovědě.
      Zmíněný  speciální  MC server  (mcserv)  je asi  zamýšlen  jen  jako
      náhrada  pro FTP server  tam, kde tento  není k dispozici.  Nenapadá
      mě totiž jeho  jiné  využití.  Všiml  jsem si jednoho  rozdílu  mezi
      FTP a  mcserv.  Soubory  kopírované  z FTP  se  cachují v /tmp a při
      jejich  přenosu se v Hintbaru  zobrazuje,  kolik už bylo  přeneseno,
      nic takového se neděje při komunikaci s mcserv.

          Hlavní výhodou těchto  síťových  virtuálních  filesystémů je asi
      to, že není  třeba  používat  různé  programy  (třeba  ftp a mc) pro
      stejné operace  (kopírování  souborů), navíc ve standardním ftp není
      možno rekurzivně přenášet adresáře.

          Poslední  verze MC navíc ještě umí na linuxovém  ext2fs  provést
      undelete: po

      cd undel:/dev/<<partition>>

          se zobrazí seznam čísel i-nodů, které lze obnovit.  Bohužel jsou
      ztraceny  původní názvy a je tak celkem pracné najít hledaný smazaný
      soubor.

                              MC a X-Window Systém

          MC lze také s úspěchem  použít  při práci v X-Window.  Jsou  dvě
      možnosti, jak jej spustit.  Možnost  první je spustit jeho Tk verzi,
      zvanou TkMC. Je to celkem  zajímavý  projekt, ale dokud  nebude TkMC
      stejně funkční jako MC, dám osobně přednost jeho textové verzi.

          "Textovou  verzi"  MC  lze  spustit v rxvt  nebo v  xtermu.  Pak
      však hrozí nefunkčnost spousty  oblíbených  kláves.  Částečně to lze
      řešit  pomocí  výše  uvedených  fines.  Jinak je zde  ještě  možnost
      upravit patřičné  definice kláves pro xterminál v souborech  termcap
      a  terminfo. V těchto  databázích  chybí  velké  množství  funkčních
      kláves. Takto neúplné definice xterminálů dokáží značně znepříjemnit
      život.

          Pokud  je  MC   zkompilován  se  SLang   knihovnou   pro   práci
      s  obrazovkou,  což  je  standardně,  pak  dokonce  správně  reaguje
      na.zvětšení  nebo  zmenšení  okna  xtermu,  což  není  podporováno v
      knihovně curses. Naštěstí je knihovna SLang přímo v distribuci MC.

          Pokud  MC  nesprávně  detekuje  barevný  xterminál a zobrazí  se
      černobíle, dá se k barvě donutit parametrem -c, nebo zapsáním vašeho
      oblíbeného barevného terminálu do .mc.ini, sekce [Colors].

                             Kompilace a instalace

          Pokud  instalujete  z rpm  (nebo  snad  i  deb)  balíků,  nejsou
      žádné   problémy.   Bezproblémová   je i  kompilace a  instalace   z
      .tar.gz  zdrojových  balíků,  hlavně  díky  tomu, že MC používá  GNU
      autoconf.  Zvláště jsem ocenil  soubor  INSTALL.FAST, ve kterém jsou
      krátce  popsány  všechny  kroky  pro  kompilaci a instalaci,  včetně
      nejdůležitějších parametrů skriptu configure.

          MC  je  taky  kompilovatelné  ve  Windows  95/NT,  to  jsem  ale
      nezkoušel, místo toho jsem použil binární distribuci.

                                  95/NT verze

          Ačkoli je to verze pro Windows,  používá  textové okno, takže je
      vzhledově shodná s ostatními. Krátce popíšu jen rozdíly mezi verzemi
      pro Windows a UNIX, jak jsem si jich všiml:

      - win verze (zatím) nemá \emph{vfs},
      - protože ve Windows nejsou všechny disky v jednom stromu, je tam
        použito F11 a F12 pro přepnutí diskových jednotek,
      - Windows verze nepodporuje myš.

                                      AIX

          S velikým   úspěchem  u ostravské   pobočky   IBM   používám  MC
      na.firemních sítích pod AIX-em. Velký údiv sklízí fakt, že je napsán
      pod GNU GPL, a tím hravě  vytlačí  své  komerční  konkurenty.  Pokud
      nevlastníte  překladače,  nezoufejte,  pro běžně  provozované  verze
      komerčních UNIXů najdete na Internetu již hotové binární distribuce.

                                 Vady na kráse

          I přes poměrně  vysoké  číslo  verze jsou v Midnight  Commanderu
      chyby a jiné vady na kráse.  Tedy, není  jich  mnoho.  První z těch,
      kterých jsem si všiml, se projeví, když mám rozepsaný  nějaký příkaz
      a použiji  menu.  To pak  funguje  dokud  nezmáčknu  klávesu  Enter.
      Ta místo vybrání položky menu spustí rozepsaný příkaz. Ovšem když se
      MC poté znovu  objeví,  nepřekreslí se správně a není vidět, že jsem
      pořád v menu. Opraví to až šipky doleva či doprava.

          Dále  se mi  od  nějaké  doby  (nevím,  od  jaké  verze)  špatně
      překresluje  rotující  lomítko v pravém  horním rohu obrazovky, lépe
      řečeno  ono tam často  zůstane i když už není  potřebné. Při  Ctrl-l
      se ovšem obrazovka  překreslí  správně, to ale nefunguje v menu (viz
      předchozí chyba).

          Hexadecimální  editor a prohlížeč také potřebují  dodělat, podle
      mých zkušeností jsou trošku "fuzzy".

          Stoprocentně  nefunguje ani mcserv,  když jsem jej spustil  jako
      normální  uživatel, ani za nic nechtěl  přijmout mé heslo, jako root
      mi to jednou fungovalo.


          Následuje pár věcí,  které je možno  dodělat:  postup  instalace
      rpm balíků by mohl být zobrazován v okně  stejně  jako třeba  postup
      kopírování;  snad by se také  dalo nějak  urychlit  načítání  obsahů
      adresářů v FTP, které  dost trvá  zvláště při pomalejším  připojení,
      například  modemem; kopírování/přesouvání souborů na.pozadí by mohlo
      nějak ukazovat, co už má a co ne.

          Další  věc  může  občas  mást:  pokud si  uživatel  nechá  někde
      v panelu zobrazovat  velikost souborů a ta se nevejde do stanoveného
      sloupce,   pak  se   místo v  bytech   zobrazí  v  kilobytech   nebo
      i v megabytech, s připojeným K nebo  M.  Pak se  například  velikost
      1854672 na první pohled jeví řádově větší než 23657K.

                                 Síťové zdroje

          Hlavní WWW stránka o MC je na adrese http://mc.blackdown.org/mc.
      Odtamtud  je  také  možnost  si MC  opatřit, a to buď ve  zdrojových
      textech pro  kompilaci,  nebo v binárních  distribucích pro  většinu
      podporovaných  systémů. V ČR je MC podle manuálové stránky na adrese
      ftp://sunsite.mff.cuni.cz/GNU/mc.

          Na  úpravě  xtermu  pro  MC a češtinu  pracuje  Richard  Šputa a
      výsledek bude dostupný na serveru LINUX-CZ.

          Na  adrese   majordomo@roxanne.nuclecu.unam.mx   je   dostupných
      několik  konferencí  o MC:  všeobecná  mc,  táž v  digest  formě  je
      mc-digest, hlavní oznámení se vyskytují v mc-announce, nejčerstvější
      záplaty  jsou  posílány do mc-patch  (je  jich tam prý  4-8  týdně),
      a diskuse o vývoji MC probíhá v mc-devel.

                                     Závěr

          V  různých  linuxových  konferencích  se  občas  vyskytne  dotaz
      na filemanagery v X-Window.  Jednou z prvních  odpovědí je zpravidla
      "MC v xtermu". Něco na tom bude...


            výheň