Dept. of mathematics Různé
Server newton


Isaac Newton (1642 - 1727)

Obsah

Úvod

newton je aplikační server pro pracovníky katedry matematiky. Je osazen dvěma čtyř-jádrovými procesory Intel Xeon na 2.33 GHz (celkem o výkonu 37245 bogomips) a 16 GB RAM. Obsahuje zatím kapacitu 1 TB disků. Běží na něm 64bitová verze operačního systému Linux z distribuce Gentoo.

Server je především centrálním úložištěm pravidelně zálohovaných dat uživatelů (/home). Nabízí připojení několika způsoby (viz níže) a umožňuje uživatelům využívat přímo výpočetní výkon procesorů serveru a spouštět množství UNIXvých aplikací. Na serveru je instalováno zhruba 700 softwarových balíčků a není problém podle požadavků uživatelů instalovat další. Distribuce Gentoo nabízí komfortní instalaci zhruba 95 tisíc svobodně distribuovaných balíčků. Instalované balíčky jsou pravidelně upgradovány na nejnovější verzi.

Možnosti připojení

XDMCP - grafické připojení

Protokol umožňuje přihlásit se do grafického prostředí a využít veškerých aplikací, které jsou instalovány na newtonovi, v grafickém režimu. Při tomto připojení váš počítač funguje jako grafický terminál. Veškeré činnosti se odehrávají na serveru newton a váš počítač je tu jen od toho, aby k němu byla připojena z jedné strany klávesnice, myš a monitor a z druhé strany síť. Tento přístup je omezen jen na lokální síť katedry matematiky. Z internetu se k serveru pomocí XDMCP nepřipojíte.

Abyste mohli využít XDMCP, potřebujete mít na svém počítači instalován Xserver. Zní to pro mnohé možná nelogicky, proč Xserver, když váš počítač není žádný server: program Xserver totiž slouží jako grafická podložka aplikacím, běžícím na skutečném serveru newton.

V učebně kat. matematiky a v některých počítačích v pracovnách je instalován Linux, tj. Xserver tam přirozeně běží. Na těchto počítačích je konfigurován virtuální uživatel "newton", jehož jméno stačí napsat za login prompt v textové linuxové konzoli. Objeví se tučňák a možnost přihlášení do serveru newton. Na linuxových počítačích je možno otevřít více grafických sezení typu XDMCP. Dejme tomu, že je přihlášen pomocí XDMCP uživatel A. Pak je možno klávesami Alt-Ctrl-F1 přejít do textové konzole a jako login vyplnit znovu jméno "newton". Po přechodu do grafiky se může přihlásit uživatel B. Poté se grafická sezení uživatelů A a B dají přepínat pomocí Alt-Ctrl-F7 a Alt-Ctrl-F8, případně další sezení jsou přístupné pomocí Alt-Ctrl-F9 atd.

Uživatelé "ostatních operačních systémů", kteří chtějí využít připojení XDMCP, si musejí pořídit program Xserver běžící na jejich platformě. Tomuto programu je potřeba při jeho spuštění zadat parametr "-query newton".

Přihlašovací okénko XDMCP pro newtona nabízí v záložce "session" možnost výběru několika (asi deseti) window managerů včetně obecně známých KDE, Gnome, XFCE, Afterstep, atd. Administrátorem serveru je preferován window manager FVWM, který je nastaven jako výchozí. Více o window managerech níže v tomto dokumentu.

Výhoda XDMCP: plná grafika, vše se děje pod centrální správou na serveru newton, žádné speciální požadavky na klientský počítač. Uživatel si může sednout k libovolnému počítači na katedře, který umožňuje XDMCP připojení, a všude má stejné pracovní rozhraní bez výjimek. Při vyšrotování jednoho počítače a nahrazení jiným uživatel spustí Xserver a pokračuje v práci tam, kde na starém počítači přestal.

Nevýhoda XDMCP: od serveru k uživateli je po síti přepravován jen obraz, nikoli zvuk. Není možné tedy provozovat aplikace vyžadující spustit zvuk. Protokol byl navržen před více než 20 lety (dávno předtím, než např. ve firmě Microsoft se vůbec odvážili uvažovat o grafickém systému) a v té době byl velmi nadčasový. Bohužel, v té době tvůrce protokolu opravdu nenapadlo, že se někdy budou počítače používat i k přehrávání zvuku a videa.

Doma mi toto omezení nevadí: několik počítačů se zde připojuje současně pomocí XDMCP k centrálnímu domácímu serveru a máme rozveden zvukový systém jinými kabely po celém bytě. Stačí tedy spustit ve správné místnosti zesilovač. Bohužel, když na serveru pracuje více uživatelů (což je typické), pak všichni slyší všechno, což je zřejmě nevyhovující.

SSH - připojení k příkazovému řádku a transport souborů

protokol umožňuje získat vzdálený přístup k serveru odkudkoli z internetu. Spojení je šifrované, ale uživatel se o šifrování nemusí starat. Je možné získat textový prompt k možnému spuštění vzdálených aplikací (běžících v textovém režimu na newtonovi) a je možné stěhovat tímto protokolem soubory po síti. K přihlášení se používá program ssh a ke kopírování souborů program scp. Příklady použití následují (všechny příklady předpokládají, že příkazy ssh a scp pouštíte na lokálním počítači, nikoli na počítači newton).

   ssh newton                     máte-li na newtonovi stejné uživatelské
                                  jméno jako na lokálním strojku a jste-li
                                  v doméně feld.cvut.cz. Získáte textový
                                  prompt vzdáleného počítače.
   ssh user@newton.feld.cvut.cz   máte-li na newtonu uživatelské jméno user
                                  a nejste v doméně feld.cvut.cz.
   scp odkud newton:kam           kopírujete lokální soubor "odkud"
                                  na newtona do souboru "kam" a jsou splněny 
                                  podmínky o uživateli a doméně.
   scp odkud newton:              kopírujete lokální soubor odkud
                                  na server newton, tam se bude kopie 
                                  jmenovat stejně.
   scp odkud user@newton:         kopírujete lokální soubor "odkud", na 
                                  newtonovi máte jiné uživatelské jméno "user".
                                  Pokud je lokálním počítačem v tomto
                                  případě newton samotný, můžete si tímto
                                  příkazem stěhovat soubory mezi různými
                                  uživateli.
   scp odkud user@newton.feld.cvut.cz:
                                  totéž, pokud nejste v doméně feld.cvut.cz.
   scp odkud1 odkud2 newton:       kopie dvou souborů na newtona, tam se
                                  budou jmenovat stejně.
   scp * newton:                  kopie všech souborů aktuálního adresáře
                                  do uživatelského "home" na newtonovi
   scp odkud newton:adresar/      kopie souboru "odkud" do newtona podadresáře 
                                  "adresar". Ten musí existovat a je dán
                                  relativně vzhledem  k home adresáři uživatele
   scp odkud newton:/adresar/     kopie souboru "odkud" do newtona podadresáře 
                                  "adresar". Ten musí existovat a je dán
                                  absolutně vzhledem k celému stromu souborů
                                  na newtonovi
   scp -r adresar/ newton:        kopie celého adresáře včetně podadresářů 
                                  do home adresáře na serveru newton 
                                  Tam vznikne stejný podstrom souborů.
   scp newton:odkud kam           kopie souboru "odkud" z newtona do
                                  lokálního souboru "kam"
   scp newton:/cesta/k/odkud kam  soubor "odkud" zadán absolutně vzhledem
                                  k celému stromu souborů na newtonovi.
   scp newton:adresar/* kam/      kopie všech souborů z newtona z adresáře
                                  "adresar" (zadán relativně vzhledem k home) 
                                  do adresáře "kam" na lokálním počítači
                                  (zadán relativně vzhledem k aktuálnímu adresáři)
   tar cfz - odkud/ | ssh newton "cat - > archiv.tgz"
                                  všechny podadresáře adresáře odkud/ se
                                  archivují místo v lokálním počítači na
                                  vzdáleném serveru v souboru archiv.tgz.
   tar cfz - odkud/ | ssh newton "tar xpCz kam/" 
                                  kopie rozsáhlých archivů "odkud" do
                                  serveru do adresáře "kam" po síti
                                  přenášeny v komprimovaném a šifrovaném stavu.

Snad je zde dostatek příkladů k pochopení logiky, s jakou se používají parametry programů ssh a scp. Více o tom najdete v manových stránkách programů. Najdete tam i možnost přihlášení a kopírování souborů z/na vzdálený systém bez hesla. To je ovšem obsáhlá problematika, která vyžaduje dobře znát bezpečnostní filosofii těchto programů. To se mi do tohoto textu nevejde, takže odkazuji na manové stránky k ssh a na svůj text Použití ssh/scp bez hesla.

K bezpečnostní politice programů napíšu jen jednu věc. Program ssh si při prvním pokusu o navázání spojení vyžádá hash bezpečnostního klíče vzdáleného serveru a zeptá se vás, zda jej může uložit do lokálního disku (souboru .ssh/known_hosts). Odpovíte "yes". Příště už se ptát nebude, protože už jej bude mít uložený. Kdyby nějaký útočník na síti umístil strojek, který by se snažil tvářit jako vámi používaný server (a přitom to nebyl ten server, útočníkův strojek je na síti zcela někde jinde a snaží se vyloudit od vás heslo, tzv. middle-man útok), pak tento útočník nemůže mít bezpečnostní klíč skutečného serveru (ledaže by se do něj dokázal nabourat), takže vydá jiný hash klíče. Program ssh jej zkontroluje se stavem v .ssh/known_hosts a pokud se liší, vypíše dech beroucí varování a nikam se nepřipojí. V praxi je asi častější než existence middle-man útoku skutečnost, že administrátor serveru upgraduje software a (asi z nepozornosti) vygeneruje nový tajný klíč serveru. Pak nezbývá, než zvednout telefon a ověřit si u administrátora, že se to skutečně stalo a že se nejedná o middle-man útok. V telefonické domluvě si můžete s administrátorem pro ověření vyjasnit tzv. "finger" (neboli otisk) nového klíče, který by měl administrátor znát. Tento "finger" se vám vypíše v rámci onoho dech beroucího varování. Je-li vše v pořádku, pak editorem zrušte v souboru .ssh/known_hosts záznam týkající se problémového serveru a spusťte ssh znovu. Nyní se vás ssh zeptá, zda může hash klíče serveru uložit do .ssh/known_hosts a příště už se ptát nebude.

Máte-li na lokálním strojku Xserver a program ssh spouštíte z xtermu, pak příkazem "ssh -X newton" můžete dosáhnout toho, že budou fungovat i vzdálené grafické programy. Spustíte-li je po přihlášení z příkazového řádku, pak se tyto programy promítnou na váš lokální Xserver.

Uživatelé "ostatních operačních systémů" mohou instalovat program putty a třeba winscp, které nabízejí možnosti srovnatelné s možnostmi standardních UNIXových programů ssh a scp.

NFS - unixové sdílení disků

Je možné je zprovoznit na Linuxových počítačích. Například v učebně je sdílen home adresář z newtona i leibnize, takže uživatelé na těchto počítačích používají home z těchto serverů (jste-li učitel, pak máte home newtona, jste-li student, máte home leibnize). Pro další klienty je samozřejmě nutné na serveru sdílení disků povolit. Na klientovi je potřeba rozhodnout, zda připojit home vedle lokálního home, nebo připojeným home zakrýt lokální. Druhé řešení má tu výhodu, že uživatel, ačkoli pracuje na lokálním strojku, má při sobě pořád stejná data, jako když pracuje na serveru, a nemusí přemýšlet nad verzí dat (co má na serveru a co na lokálním strojku). Toto řešení je použito v učebně, ale ne například na serveru leibniz. Pokud tam učitelé dostanou přístup, pak tam mají zcela samostatný na newtonovi nezávislý home adresář a home z newtona je přístupné pomocí NFS v adresáři /newton.

Vzdálené sdílení disků (přes internet) je sice technicky možné, ale z bezpečnostních důvodů se nepoužívá. Data přenášená po síti totiž nejsou šifrována.

Uživatelé "ostatních operačních systémů" NFS připojení nepoužívají, místo toho používají následující možnost:

SAMBA - windowsové sdílení disků a tiskáren

Server newton nabízí disk home a všechny tiskárny tímto protokolem v rámci skupiny K301. Uživatelé si musí založit na newtonovi Samba účet (pokud jej nemají) a vyťukat u správce serveru své heslo k tomuto účtu. Pak mohou za použití tohoto hesla připojovat disk home serveru a všechny tiskárny. Samba účet je nezávislý na UNIXovém účtu na serveru. Můžete mít stejné heslo ale nemusíte.

Možnost připojení je omezena jen na počítače v síti katedry matematiky. Na druhé straně všechny počítače připojené na tuto síť mají možnost využít služeb serveru protokolem SAMBA. Není tedy nutné při pořízení nového strojku na katedru dělat něco na serveru, aby se strojek mohl připojit. Uživatel musí mít na serveru vedený svůj samba účet. Nic jiného není potřeba.

LPD - UNIXové sdílení tiskáren

Výše bylo uvedeno, že uživatelé "ostatních operačních systémů" mají možnost sdílet protokolem SAMBA tiskárny. Uživatelé UNIXových operačních systémů je sdílejí taky, přirozeným protokolem pro tyto účely v UNIXu provozovaným: LPD. Tento protokol je omezen jen na počítače připojené lokálně na síť katedry matematiky. Kromě toho jsou tiskárny systémem CUPS nabízeny i novějším protokolem IPP (viz níže kapitolu o tiskárnách).

Struktura souborového systému

V kořeni souborového systému "/" jsou vytvořeny adresáře /home, /archiv, /usr, /etc, /backup a další. Pro uživatele je zajímavý jen adresář /home a případně /archiv. Ostatní adresáře slouží operačnímu systému.

Zálohy

Adresář /home obsahuje uživatelská data a podléhá pravidelným denním zálohám. Zálohy se spouštějí automaticky ve tři hodiny v noci denně s výjimkou neděle. Zálohovací systém uchovává denní zálohy 3 týdny zpět, týdenní zálohy (ze soboty každého týdne) 3 měsíce zpět, měsíční zálohy (z první soboty každého měsíce) jeden rok a zálohy z první soboty v březnu a říjnu uchovává pět let. Protože se zálohovací disk občas zálohuje na pásku, můžeme říci, že zálohy existují napořád.

Má-li uživatel problém, že přišel omylem o nějakou práci, může se podívat do záloh. Příkazem

   backup-info  soubor

dostane veškeré informace o stavu zálohování souboru. Místo přesně napsaného jména souboru může uživatel použít regulární výraz nebo jen část názvu souboru. Systém vypíše všechny jeho soubory, které výrazu vyhovují. Vedle data souboru se nachází seznam záloh (images), ve kterých se tento soubor nachází. Názvy záloh odpovídají datu, kdy byla záloha provedena, tj. například 20080413 znamená záloha z 13. 4. 2008 (3 hodiny ráno). Pokud jste soubor dlouhou dobu neměnili, zjistíte, že vedle jednoho data souboru je výpis celé řady záloh. V takovém případě můžete obnovovat z libovolné zálohy, protože všechny obsahují stejný soubor. Chcete-li číst výpis seznamu chronologicky, musíte číst zespodu nahoru a zprava doleva. Tj. nejčerstvější informace jsou nahoře. Pokud chcete restaurovat soubor, pak proveďte příkaz

   backup-restore zaloha /home/plna/cesta/k/souboru

kde "zaloha" je vybraná záloha, např. 20080413. Pozor, tento příkaz nahraje soubor do aktuálního adresáře a bez ptaní přepíše případný soubor stejného jména, který v aktuálním adresáři je. Chcete-li si zachovat i (dejme tomu poškozený) soubor, který restaurujete, musíte si jej nejprve přejmenovat nebo zálohu nahrávat do jiného adresáře. Restaurování celého adresáře provedete příkazem (soubory musejí v daném adresáři existovat):

   backup-restore zaloha /home/plna/cesta/k/adresari/*

Restaurovaní větších struktur (včetně podadresářů) není tímto nástrojem jednoduše možné. V takovém případě přejděte do adresáře /backup/newton-home, tam si vyberte zálohu, přejděte do ní a dále přes podadresář "tree" až k vybranému místu, které chcete restaurovat. Nakonec použijte nástroje na kopii větších celků tam, kam potřebujete.

Stejným způsobem se denně zálohují emaily z počítače russell (tzv. INBOXy). Zálohy INBOXů si můžete prohlédnout příkazem "mail-info" (bez parametrů). Zálohu můžete restaurovat příkazem "mail-restore zaloha", kde záloha je vybraná záloha, např. 20080413. Příkaz bez ptaní uloží váš INBOX z vybrané zálohy do aktuálního adresáře pod jménem "inbox-zaloha", například tedy "inbox-20080413".

Z russella se zálohují kromě INBOXů i data, která uživatel ukládá při práci s webmailem. Na restaurování těchto záloh není přímo připraveno udělátko (podobné udělátku "mail-restore"), ovšem uživatel může přejít do adrásáře

/backup/russell-mail/"číslo-zálohy"/tree/webmail/"uživatel"
a tam si může vybrat ty soubory, které chce restaurovat. Může je kopírovat, kam uzná za vhodné.

Quota - omezení kapacity

Každý uživatel je v adresáři /home omezen quotou 10 GB. To znamená, že může uložit svá uživatelská data v /home jen tehdy, pokud celkový součet velikostí všech jeho souborů v /home nepřesáhne 10 GB. Toto nastavení je implicitní a uživatelům, kteří potřebují větší pracovní prostor, administrátor systému na počkání zvětší quotu. Celková kapacita disku vyhrazeného pro /home je 250 GB. Jedná se tedy o podstatně větší prostor, než jsme měli na starém newtonovi (celkově tam bylo 15 GB). Pokud uživatelé potřebují přechodně výrazně větší prostor, dostanou možnost zápisu do vybraného adresáře disku /archiv, který také disponuje 250 GB prostoru a na rozdíl od /home nepodléhá pravidelným zálohám.

Popis struktury /home

Z historických důvodů je zde adresář /home/math1 a v něm teprve adresáře jednotlivých uživatelů. Např. /home/math1/user je "home" adresář uživatele "user". To znamená, že uživatel "user" má aktuální úložiště po přihlášení nastaveno na /home/math1/user. Tam si může vytvářet své další adresáře a soubory a ukládat tam práci. Jeho práce je kryta před zraky ostatních uživatelů, kteří nemají do jeho "home" adresáře přístup.

Adresář /home/math1/common je speciální místo, kam mají přístup všichni uživatelé. Mohou tam ukládat soubory za účelem vzájemné výměny informací. Pokud chtějí v common dát soubor ostatním jen ke čtení, nebo i k zápisu si mohou rozhodnout sami. Potřebují k tomu znát jen malou násobilku z UNIXových přístupových práv k souborům a adresářům.

Adresář /home/math2 obsahuje z historických důvodů "home" adresáře hostů, kteří nejsou trvalými zaměstnanci katedry matematiky.

Adresář /home/www obsahuje www prezentaci katedry, která je exportovaná pro WWW server katedry a je viditelná z Internetu z adresy http://math.feld.cvut.cz/. Tam administrátor může zakládat uživatelům adresáře a ti pak mohou zveřejňovat v těchto adresářích informace pro veřejnost.

Analogicky adresář /home/ftp je exportován do veřejného ftp serveru katedry matematiky. I zde mohou po dohodě s administrátorem dostat uživatelé přístup a ukládat data ke zveřejnění.

WWW server - počítání přístupů

Oficiální WWW server katedry http://math.feld.cvut.cz běží na jiném počítači než newton, na počítači math. Data pro www server jsou z newtona exportována z adresáře /home/www. Do počítače math není uživatelský přístup a také není potřeba. WWW stránku určenou ke zvěřejnění umístíte do newtona na /home/www/kamsi/kdesi/stranka.html a od té chvíle bude viditelná kýmkoli na internetu jako http://math.feld.cvut.cz/kamsi/kdesi/stranka.html. Vyskytuje-li se v adresáři soubor Welcome.html, welcome.htm nebo index.html, pak se tento soubor zobrazí při použití URL daného adresáře.

WWW server udržuje přehled o počtu přístupů na každou stránku. Tento počet můžete zobrazit přímo na dotyčné stránce pomocí kódu:

   <!--#echo var="COUNTER" -->

Jak zařídit, aby se číslo zobrazilo např. tak, jako na titulní stránce katedry, to si zájemce zjistí pohledem do souboru /home/www/Welcome.html.

Informace o počtu přístupů všech stránek katedry je možné zobrazit v newtonovi příkazem webcount. Protože tento příkaz vyroluje poněkud větší množství informací, jsou užitečné následující možnosti:

   webcount | less
   webcount | grep nemecek | less
   ... atd.

Příkaz webcount se opírá o perlovský skript dbmmanage, podrobněji viz man dbmmanage.

Výchozí hodnoty počítadla stránek jsou s přechodem na nový WWW server (29. 6. 2009) nastaveny na nulu. Výjimku má hlavní stránka katedry, které jsem přidělil počet přístupů podle počtu ze starého serveru. Hodnoty počítadla stránek může nastavit jinak jen administrátor serveru newton. Máte-li zájem tyto hodnoty měnit, domluvte se s ním.

Počty přístupů stránek v době odstavení starého serveru math (29. 6. 2009) jsou uloženy v souboru /home/www/webcounter/math.feld.cvut.cz-txt. Můžete se do něj podívat například pomocí příkazu less.

Window managery

Window manager je program, který orámuje každou grafickou aplikaci svou vlastní dekorací a řídí možnosti umisťování jednotlivých aplikací na ploše. Většinou managery poskytují nabídku na spouštění různých aplikací. Rozsáhlejší window managery (KDE, Gnome) se považují za tzv. desktopy, protože navíc mají svou vlastní základní sadu aplikací, které uživatel běžně používá, a nabídka je s nimi provázána s jednotnou filosofií ovládání aplikací.

Správce serveru newton preferuje window manager FVWM. Stejný window manager byl implicitní i ve starém newtonovi. Je typický tím, že je pracovní plocha rozdělena na devět částí (zdrobnělinu rozdělené plochy vidíme v levém horním okénku) a k nabídce se dostaneme kliknutím levého tlačítka myši kamkoli na plochu. Aplikace získá fokus (stane se aktivní a může přijímat znaky z klávesnice) jen přesunutím myši, tj. není nutné klikat. Aktivní aplikace může tedy být i z větší části schována pod jinou aplikací. Pravda, popsané chování není typické pro každý manager FVWM, neboť se manager do tohoto stavu musí konfigurovat. Implicitně dnes přichází nainstalován v poněkud jiné podobě, ale správce serveru je konzervativní a nový FVWM speciální konfigurací (za vydatné pomoci syna) přiohnul do původního stavu.

Kdo chce používat jiný window manager než FVWM, může. V případě obtloustlejších managerů (Gnome, KDE) musí počítat s tím, že něco poběží možná pomaleji, neboť přes síť se přesunuje velké množství dat, aby to bylo líbivé. Také tyto managery mají výrazně větší systémové nároky než FVWM. Stav nabídek jiných window managerů než FVWM je správcem serveru neudržovaný. Typicky tyto nabídky se automaticky mění po instalaci nového software. Nicméně software šitý na míru potřebám pracovníků katedry (například přístup do databáze KOS) najdete jen v nabídce FVWM. Dá se ale samozřejmě i tento software spustit z příkazového řádku xtermu.

Výběr window manageru provedete při přihlášení pomocí XDMCP (grafické přihlášení) v záložce "session". Dále je podrobněji popsána jen uživatelská konfigurace window manageru FVWM.

Implicitní konfigurace FVWM je řízena souborem /etc/X11/fvwm/system.fvwm2rc a soubory v /usr/share/fvwm/. Tam je nastaven veškerý vzhled window manageru a jeho chování. Jazyk těchto souborů je popsán v manové stránce "man fvwm". Uživatel může změnit toto nastavení tím, že přidá do svého "home" adresáře adresář ".fvwm" a do něj soubor "cfg". V něm může použít stejný konfigurační jazyk. Protože je "cfg" čten jako poslední, přepisuje se tím systémové konfigurační nastavení jen v těch aspektech, které si uživatel přeje. Ostatní systémové nastavení, které není v "cfg" zmíněno, zůstává nezměněno.

Při startu FVWM se kromě uvedené konfigurace čte soubor "fvwm-exec" z adresáře "/etc/X11/fvwm", kde jsou uvedeny programy, které se mají na začátku práce spustit (něco jako autoexec.bat z dob starého dobrého DOSu). Má-li uživatel ve svém "home" v adresáři ".fvwm" soubor "exec", pak ten má přednost a čte se místo systémového souboru "fvwm-exec". Systémový soubor "fvwm-exec" spustí jeden xterm, do něj vypíše náhodně generované moudro (program fortune) a přidá implicitní pozadí, které je "skoro modré" a navozuje pocit práce na moři. Uživatel může začít pracovat, má totiž před sebou v xtermu příkazový řádek. Kdo vládne příkazovým řádkem, je pánem stroje. Kliknutí na plochu odhalí nabídku spouštění některých dalších vybraných aplikací.

Správce serveru má v osobním ".fvwm" soubory "cfg" a "exec", které mírně modifikují systémové nastavení. Jsou zde uvedeny jako příklad:

   cfg:
   *FvwmPager: Geometry 73x58-0+0
tím se dává najevo, že okénko s devíti miniplochami bude vpravo nahoře a ne vlevo nahoře.
   exec:
   xterm -geometry +0+0 &
   xterm -geometry +0+368 &
   gkrellm -geometry -1+67 &
   xloadimage -fork -quiet -fullscreen -onroot pic/jezero.jpg

spustí se tedy dva xtermy (nakonec jich během práce člověk většinou otevře na ploše několik desítek) a dále vpravo bude umístěn monitoring vytížení systému, program "gkrellm". Konečně jako pozadí je obrázek jezera. Obrázky pro pozadí lze dohledat na serveru http://www.volpejpr.cz, nebo google vyhledá tisíce dalších možností pod klíčovým slovem "wallpapers".

Opuštění jakéhokoli window manageru je možné rychle klávesovou zkratkou Xserveru: Alt-Ctrl-Backspace. Tím se pozavírají svižně a bez hloupého ptaní všechny otevřené aplikace a lokální počítač se odpojí od grafického sezení na newtonovi.

Čeština

Českou klávesnici lze nastavit lokálně (nezávisle na Xserveru) v některých aplikacích. Jmenovitě v emacsu a v xtermu. Mimo to je možné nastavit českou klávesnici globálně pro celou pracovní plochu v Xserveru. Pozor! Je-li česká klávesnice nastavena globálně i lokálně, pak to zákonitě nebude fungovat, neboť je aktivní dvojí transformace klávesových kódů.

V xtermu a v Emacsu (spuštěném příkazem ema) funguje lokální přepínač klávesnice na tlačítko Pause/Break. V Emacsu spuštěném příkazem emacs je nutné nastavit klávesnici výběrem input metody, klávesa Pause/Break v tomto režimu Emacsu není konfigurovaná.

Globální nastavení české klávesnice v celém pracovním prostředí je jediná možnost, jak psát přímo česky ve Firefoxu a podobných aplikacích. Toto nastavení přepínáme klávesou Scroll-Lock na Xserverech, kde je tato možnost konfigurovaná. Výhoda tohoto postupu: je to nezávislé na spuštěném Window manageru a pomocí diody na klávesnici poznáme, v jakém stavu klávesnici máme.

Další možnost globálního nastavení klávesnice v celém pracovním prostředí je pomocí různých hejblat v použitých Window managerech. FVWM žádná taková hejblata nepodporuje. Předpokládá se použití klávesy Scroll-Lock. Není-li klávesa Scroll-Lock u použitého Xserveru konfigurovaná, je možné globálně klávesnici přepnout ještě příkazem "setxkbmap cz" a zpět do normální klávesnice se dostaneme příkazem "setxkbmap us". Do ruské klávesnice například přepneme příkazem "setxkbmap ru", ovšem zpět už přepneme jen s obtížemi, protože nelze jednoduše napsat příkaz "setxkbmap us". Další možnosti:

   setxkbmap "cz(qwerty)"         ... česká klávesnice qwerty, ta je
                                      obvykle konfigurovaná na Scroll-lock
   setxkbmap fr                   ... francouzská klávesnice
   setxkbmap de                   ... německá klávesnice
   setxkbmap pl                   ... polská klávesnice
   setxkbmap jp                   ... japonská klávesnice
   setxkbmap dvorak               ... rozložení kláves dvorak

Je možné, že příkaz setxkbmap nebude fungovat. To nastává tehdy, když verze použitého Xserveru je výrazně jiná než verze příkazu setxkbmap. Nezapomínejme totiž, že příkaz setxkbmap je spuštěn na newtonovi a pokouší se komunikovat s vaším Xserverem na lokálním počítači a v něm nastavit klávesové kódy. Při příliš vzdálených verzích těchto dvou programů se tyto vzájemně nedohodnou. Klávesa Scroll-Lock by ale měla fungovat i v takovém případě (to je totiž jen záležitost vašeho Xserveru na lokálním počítači).

Kódování souborů preferujeme v ISO-8859-2, proto je nastavena proměnná prostředí LC_CTYPE=cs_CZ.ISO8859-2. Pokud tuto proměnou prostředí nastavíte na LC_CTYPE=cs_CZ.UTF-8, rázem všechny editory (vi, emacs, pico, nano, atd.) pracují v kódování UTF-8. Odvážlivci to mohou vyzkoušet a pak nám poreferují, jaké s tím mají zkušenosti. My ostatní jsme konzervativní, máme v ISO-8859-2 archivovanou svou mnohaletou práci a navykli jsme si na programy, které pracují v tomto kódování.

Na konverze mezi různými kódováními se používá program iconv nebo recode. Příkazem "iconv -l" nebo "recode -l" zjistíte, že programy dokáží kódovat z/do velkého množství různých standardů.

Protože uvedené programy jsou místy příliš inteligentní a manuály komplikované (nepodařilo se mi např. efektivně najít, jak jednoduše konvertovat DOSové konce řádků na UNIXové bez změny kódování), zachoval jsem rovněž staré dobré konvertítko cnv, které se opírá o geniální UNIXový program sed. Navíc jsou připraveny tyto skripty

   d2unix      ... DOSové konce řádků na UNIXové (CRLF -> LF)
   unix2d      ... UNIXové konce řádků na DOSové (LF -> CR)
   m2unix      ... MAC konce řádků na UNIXové  (CR -> LF)
   unix2m      ... UNIXové konce řádků na MACové  (LF -> CR)
   kam2iso     ... Kódování Kamenických na ISO2 včetně CRLF -> LF
   iso2kam
   pc2iso      ... Kódování PC852 na ISO2 včetně CRLF -> LF
   iso2pc
   win2iso     ... Kódování Win CP 1250 na ISO2 včetně CRLF -> LF 
   iso2win
   utf2iso     ... Kódování UTF8 na ISO2
   iso2utf
   iso2ascii   ... Odstranění akcentů v kódování ISO2
Možnosti použití:
   cat input | d2unix > out      ... jako filtr
   d2unix input > out            ... vstup je parametr, výstup stdout
   d2unix input output           ... specifikace vstupu i výstupu
   d2unix soubor soubor          ... pozmění soubor

Kromě toho jsou instalovány standardní utility dos2unix a unix2dos, viz jejich manové stránky.

Tiskárny

Na rozdíl od starého newtona je použit nový tiskový systém CUPS (common UNIX printer system). Má pro uživatele daleko větší možnosti, Každý tisk může být modifikován nejrůznějšími tiskovými parametry (nastavení duplexu, manuálního podavače, atd.). Tyto parametry jsou závislé na modelu tiskárny. Uživatel může tyto parametry měnit, nastavovat podle svých momentálních potřeb a nastavení ukládat do svých vlastních modifikátorů tiskárny. Také může každý uživatel volit podle své potřeby výchozí tiskárnu (ta se použije, pokud nespecifikujete název tiskárny v příkazu "lpr" a nabízí se jako první v grafických interaktivních aplikacích). Způsob nastavení těchto parametrů je vysvětlen níže.

Tiskárny jsou k dispozici následující:

   značení    Typ tiskárny             Umístění
   -----------------------------------------------------------
   kyocera    Kyocera FS 1900          Místnost s tiskárnami
   hpc        HP Color LaserJet 2820   Místnost s tiskárnami
   cp6        Canon CP 660             Místnost s tiskárnami
   hp2        HP LaserJet 2000         Místnost s tiskárnami
   hpp        HP Leserjet P3005        Místnost s tiskárnami
   hp3c       HP Color LaserJet CP3525 Místnost s tiskárnami
   hp4        HP Color LaserJet 4500   V chodbičce před místností 8
   cl3        Canon LBP-3360           V chodbičce před místností 5
   file       virtuální tiskárna       disk: /home/ks

Každá tiskárna může mít modifikátory, které zahrnují vybranou skupinu tiskových parametrů. Název tiskárny se může zapisovat při zadávání tiskové úlohy ve tvaru tiskárna/modifikátor. V následující tabulce je přehled všech modifikátorů:

   kyocera      Kyocera, jednostranný tisk
   kyocera/d    Kyocera, oboustranný tisk, papír se převrací podél delší strany
   kyocera/dd   Kyocera, oboustranný tisk, papír se převrací podél kratší strany
   kyocera/t    Kyocera, textový filtr (viz níže)
   kyocera/b    Kyocera, tisk knížečky (book, viz níže)
   cp6          Canon, jednostranný tisk
   cp6/d        Canon, duplex přes delší stranu 
   cp6/dd       Canon, duplex přes kratší stranu 
   cp6/m        Canon, manuální podavač
   cp6/f        Canon, tisk transparentních folií, manuální podavač 
   cp6/t        Canon, textový filtr (viz níže)
   cp6/b        Canon, tisk knížečky (book, viz níže)

Podobně jsou připraveny modifikátory pro ostatní tiskárny. Seznam všech tiskáren včetně jejich modifikátorů je možné vypsat příkazem

   lpstat -a

Tiskárna bez modifikátoru má typicky nastaven jednostranný tisk. CUPS je vybaven inteligentními filtry, které rozpoznají formát úlohy: text, PostScript, PDF, gif, png, jpef, tiff a podle toho provedou konverzi na výstupní jazyk, kterému rozumí tiskárna. Takže je možné:

   lpr -Pkyocera soubor.txt           tisk textového souboru
   lpr -Pkyocera soubor.ps            tisk PostScriptového souboru
   lpr -Pkyocera soubor.pdf           tisk PDF souboru
   lpr -Pkyocera soubor.jpg           tisk obrázku

Vzhledem k tomu, že CUPS má filtr z textového souboru, který neumí dobře češtinu, implementoval administrátor systému modifikátor tiskárna/t. Ten funguje stejně, jako filtr na původní tiskárně fs1 na starém newtonovi. Tj. textový soubor je přeTeXován a vytvořen tiskový soubor s patičkou se jménem uživatele. Jsou akceptována kódování ISO-8859-2, Kameničtí, UTF-8. Je-li tomuto filtru poslán binární soubor nebo PostScript, filtr jej nechá beze změny. Filtr má nastaven parametr tisku "duplex", tj. tisknou se dvě stránky na jeden papír, papír se převrátí podél delší strany. Dá se tedy říci, že kyocera/t je totéž, co na starém newtonovi byla tiskárna fs1. Tiskárna kyocera/t je nastavena v systému jako implicitní.

Administrátor sytému ještě připravil pro uživatele modifikátor tiskárna/b (book). Ten automaticky zmenší tiskové stránky tak, aby se vešly na formát A5, stránky otočí a klade dvě stránky vedle sebe na jeden arch A4, používá duplex při otočení papíru podél kratší strany a stránky přeuspořádá tak, že poté, co úlohu s tiskárny vyzvednete a komplet celý svazeček papíru přehnete v půli, vzniká knížečka se správně seřazenými stránkami. Pozor! tento filtr předpokládá na svém vstupu strukturovaný PostScript. Tento předpoklad je splněn při tisku z UNIXových grafických aplikací (Firefox, Acroreader, Mathematica, atd.)

Příklady tisku:

   echo ahoj | lpr            tisk pozdravu na implicitní tiskárně
   lpr soubor.ps              tisk PostScriptového souboru na implicitní
                              tiskárně
   lpr -Pcp6/d soubor.ps      tisk souboru na Canon v duplexu

Příkaz lpr má možnost dalších parametrů, které lze použít, například

   lpr -Pcp/d -o media=a3 soubor.ps

vytiskne soubor na papírech formátu a3. Podrobněji o možnostech tisku viz "man lp". Dříve používaný program "lpr" dělá totéž jako "lp", jen se liší v parametru pro zadání názvu tiskárny:

   lpr -Ptiskarna      ... ale ...        lp -d tiskarna

Další parametry tisku lze najít v dokumentaci CUPS na http://www.cups.org/documentation.php/options.html.

Uživatel si může vytvořit vlastní modifikátory tiskáren seskupující vybrané parametry pomocí příkazu lpoptions. Rovněž může tímto příkazem nastavit implicitní tiskárnu jinou, než kyocera/t.

   lpoptions -d hp2/t       nastavení tiskárny hp2/t jako implicitní
   lpoptions -p cp6 -l      vypíše parametry tiskárny závislé na typu
   lpoptions -p cp6/seda -o ColorModel=Gray -o EFDuplex=DuplexNoTumble
                            deklaruje nový modifikátor tiskárny Canon,
                            bude tisknout šedě a oboustranně.

Kromě parametrů vypsaných v lpoptions -l je možné do modifikátorů zahrnout parametry z manové stránky "man lp", tj. otočení stránky, zmenšení tisku, nastavení okrajů, počet kopií, pořadí stránek, atd. Další parametry jsou uvedeny v dokumentaci k CUPS, viz http://www.cups.org/documentation.php/options.html.

Fronty tiskových úloh lze v CUPS snadno prohlížet pomocí webového rozhraní http://localhost:631/, které je přístupné jen prohlížečům spuštěným na newtonovi. Dozvíte se tam aktuální stav všech tiskáren, můžete zničit vlastní úlohu nebo ji přesměrovat na jinou tiskárnu, kde je (například) menší fronta. Můžete tam najít i historii všech úloh, takže lze překontrolovat, zda Vaše úloha opravdu proběhla newtonem, případně zjistit tiskovou aktivitu svých kolegů. Nově je umožněno všem uživatelům newtona mazat všechny tiskové úlohy (nejen své), aby případné kolize s tiskárnami nemusel řešit jen správce systému.

Tiskárny jsou přístupné samozřejmě všem aplikacím běžícím přímo na newtonovi. Dále jsou použitelné pomocí UNIXového protokolu LPD z jiných UNIXových počítačů. Dále jsou přístupné pomocí protokolu SAMBA z jiných Windowsových počítačů. Konečně jsou použitelné pomocí protokolu IPP (Internet Printer Protokol) z jiných počítačů všeho druhu. Tento protokol podporují Windows i UNIXy s vlastním systémem CUPS. Všechny způsoby připojení jsou podporovány jen pro počítače v síti katedry matematiky.

CUPS na newtonovi podporuje autokonfiguraci dalších CUPS na jiných klientech tím, že každou minutu posílá do sítě informace o konfiguraci svých tiskáren. Klientské CUPS mohou tuto informaci přečíst a nakonfigurovat si všechny tiskárny automaticky.

Skenování z tiskárny HP 2820

Pro skenování z tiskárny HP 2820 (barevná tiskárna s kopírkou) můžete použít na newtonovi příkaz xsane. Lepší je ale skenovat rovnou z gimpu (příkaz gimp) tak, že v nabídce Gimpu zvolíte File/Acquire/Xsane. Data pak přicházejí rovnou do Gimpu, kde je dále můžete upravovat. V nabídce xsane "Window" zatrhněte "Show preview" (pokud to nemáte uděláno) a v okně náhledu zvolte výřez. Pak teprve je vhodné použít tlačítko Scan.

Emacs

Poznámka: Tip na použití jiného (z mého pohledu lepšího) editoru.

Na rozdíl od starého newtona již není podporován Emacs v pradávné verzi 19. Pokusil jsem se tedy přiohnout současnou verzi emacsu pomocí konfigurace tak, aby se choval pokud možno co nejpodobněji jako Emacs 19. Strávil jsem nad tím několik dní a bezesných nocí, neboť Emacs je obluda, která člověka nedokáže jednoduše navést na to, jak udělat to, co člověk potřebuje. Uvítal bych, kdyby existoval na katedře emacsí odborník, který do té obludy vidí hlouběji a dokázal by poradit ostatním s personálním nastavením. Já to nejsem. Osobně nenávidím Emacs, ale nezbývá mi nic jiného, než jej používat. Pokud bych žil na pustém ostrově a nikdo po mě nic nechtěl, už dávno bych si naprogramoval vlastní textový editor podle svých představ. Představu mám, čas nikoli.

Příkazem "emacs" spustíte Emacs bez mé dodatečné konfigurace, tedy ve stavu, jak jej asi zamýšlel spustit autor programu Richard Stallman. Příkazem "ema" spustíte Emacs, který přečte v souboru /etc/ema.conf dodatečnou konfiguraci a začne se chovat aspoň podobně, jako původní Emacs 19. V nabídce FVWM se spouští "ema", nikoli "emacs".

Dále následuje popis funkcí, které přidává dodatečná konfigurace ema. Používáte-li místo "ema" "emacs", podívejte se na možnosti programu do jeho dokumentace (a držím vám v tom palce, abyste se neutopili v informacích).

Přečtete-li emou soubor s příponou tex, pak pomocí F7 jej zTeXujete (csplainem) a pomocí C-x C-v se podíváte na výstupní dvi. Odbočka: používám stejné, i když přiblblé, značení, jako v dokumentaci Emacsu, tj. C-x C-v znamená: držím Control a mačkám XV.

Jsem-li v jiném souboru, než hlavní soubor pro TeX (např. z hlavního souboru se načítají další pomocí \input), pak je třeba hlavní soubor deklarovat pomocí C-F7. Nemá-li tento jiný soubor příponu TeX, je rozumné ručně nastavit tex-mode pomocí "M-x tex-mode". Ještě jednou odbočka, v rámci značení v Emacsu "M-x tex-mode" znamená, že přidržím klávesu Alt (v dokumentaci Emacsu jí říkají Meta) a zmáčknu X. Pustím Alt a napíšu tex-mode následované klávesou Enter. Myslím, že i z tohoto jednoduchého terminologického úvodu do dokumentace Emacsu jde člověku hlava kolem a že je tedy zřejmé, jak obtížně se v~dokumentaci hledají informace.

Pomocí C-c C-d můžete předefinovat formát TeXu a jméno hlavního souboru. Jste-li LaTeXově založený typ, asi spíše uvítáte, že latex nebo cslatex bude implicitní formát, který se použije místo csplainu. K tomu si založte soukromý konfigurační soubor .emacs ve svém "home" a do něj napište

   (setq tex-run-command "cslatex")
   (setq latex-run-command "cslatex")
   (setq tex-default-mode 'latex-mode)

Klávesa F2 ukládá aktuálně otevřený soubor a klávesa F3 umožní načíst další soubor. Klávesa F4 načte další soubor do dalšího rámu v Emacsu. Při načtení více souborů se mezi nimi přepínáme v nabídce Buffers.

Klávesa F5 formátuje odstavec a F9 přepíná tzv auto-fill-mode, tj. automatické lámání řádku v mezeře po dosažení hranice cca 70 znaků.

Ema (na rozdíl od Emacsu) implicitně nedělá zálohy starých verzí souborů ve tvaru soubor~ při ukládání verze nové. Milujete-li (na rozdíl ode mne) tyto zálohy, přidejte si do soukromého .emacs

   (setq make-backup-files t)

Klávesou Pause přepínáte mezi normální klávesnicí a českou klávesnicí. Záměrně píšu "normální" klávesnice, protože česká klávesnice není normální a nedokážu pochopit, jak s ní někdo dokáže pracovat pořád.

Protože v Emacsu píšu především TeXové zdrojáky, není pro mě myslitelné, aby mi česká klávesnice zničila přístup ke znakům @#$%^&* v jejich přirozených polohách. Proto je česká klávesnice implicitně vybrána jako tzv. "programátorská", která ponechá normální klávesnici beze změny a zničí jen čísla 234567890 a místo nich dá česká akcentovaná písmenka. Dále místo [ je ú a místo ; je ů. Klávesa +/= je prefixem k háčku nebo čárce nebo ruší pozměněný význam klávesy. Číslice je možné psát v tomto módu klávesnice pomocí numerické části klávesnice nebo pomocí +/= následované číslicí nebo pomocí přidržení klávesy Win a zmáčknutí klávesy s číslicí.

Klávesa C-F10 ukončí Emacs s uložením otevřených souborů a bez blbého ptaní.

Emacs se snaží o inteligenci a snaží se rozpoznat kódování souboru před jeho načtením a spustit odpovídající filtr. Ve stejném kódování pak soubor uloží. Takovou podřadností, jak je soubor kódován, pak uživatele nezatěžuje. Tato inteligence mě rozčilovala, neb jsem starým emacsem někdy prohlížel odlišně kódované soubory a pohledem na ně rozhodnul, jak s nimi dále naložit. Pokusil jsem se tedy tu inteligenci z emacsu vypnout. Pokud vám naopak uvedená inteligence vyhovuje, napište si do .emacs:

   (setq coding-system-for-read nil)

Pošta - email

Podrobná informace o koncepci nastavení pošty je k dohledání v příspěvku o serveru russell Zde jsou popsánu jen stručně možnosti z pohledu uživatele serveru newton.

Počítač russell přijímá doručenou poštu pro pracovníky katedry matematiky (username@math.feld.cvut.cz) a ukládá ji do adresáře /var/spool/mail. Tento adresář je exportován pro počítač newton do stejného místa, takže z pohledu počítače newton se jeví, jakoby pošta byla doručena lokálně do /var/spool/mail. V tomto adresáři je příchozí pošta jednotlivých uživatelů odlišena podle jejich jména. Jedná se o tzv. INBOXy.

K přečtení pošty v INBOXu stačí použít na newtonovi libovolný UNIXový program, který čte lokálně doručenou poštu, například pine, /bin/mail, mutt a další. Mnoho kolegů si zvyklo na program pine. Na příkazový řádek stačí napsat "pine" a příchozí poštu můžete rovnou číst, třídit, odpovídat na ni, atd.

Některé programy ke čtení pošty (zvláště grafické) nejsou schopny číst INBOX z lokálního adresáře /var/spool/mail, ale jsou vybaveny možností nastavit čtení INBOXu pomocí protokolu IMAP nebo POP. O tom je podrobněji pojednáno v pojednání o russellovi.

Programy na zpracování pošty poštu nejen čtou, ale také ji odesílají transportním agentům k doručení. V případě použití programu "pine" není nutné nic konfigurovat (vše je připraveno). Při použití jiných programů je potřeba vědět, že na newtonovi není spuštěn transportní agent (tzv. SMTP server), ale je potřeba využít k tomuto účelu server "russell". Konfigurujte tedy položku "SMTP server" jako "russell".

Prohlížení internetu

Na prohlížení internetu jsou určena nejrůznější browsítka: Firefox, Opera, Seamonkey, Konqueror, Epiphany, links. Asi nejčastěji se používá Firefox (nástupce Mozilly), ovšem nic není ideální, viz níže.

Stručně k historii bowsítek: na počátku byl Netscape. Toto browsítko začalo ztrácet na popularitě a tak se firma rozhodla uvolnit zdrojové kódy. Ty převzalo sdružení Mozilla a browsítko, které z toho vzešlo, nazvali stejně. Součástí browsítka byl i emailový klient. Pak Mozilláci začali pokukovat, co dělá konkurence s Explorerem, a shledali, že uživatelé mají rádi poštovního klienta zvlášť. Rozhodli se tedy vykostit z Mozilly poštovního klienta a produkt nazvali různě, až to nakonec skončilo názvem Firefox. Oddělený emailový klient se jmenuje Thunderbird. Konečně se Mozilláci chytli za hlavu a shledali, že browsítko s emailovým klientem dohromady není k zahození a vrátili se k této koncepci v produktu s názvem Seamonkey. Všechny tři produkty Firefox, Thunderbird a Seamokey jsou nyní podporovány a matematicky zhruba řečeno platí: Firefox sjednoceno s Thunderbird = Seamonkey. Ostatní producenti browsítek se také činili, tj. stále existuje dobrá alternativa Opera, dále součástí KDE je Konqueror a součástí Gnome je Epiphany. Nesmím zapomenout na asi nejkvalitnější browsítko, protože zprostředkovává skutečně jen informace a nikoli grafické nesmysly: textový lynx, který studenti na mff přeprogramovali a vylepšili a nazvali links.

S browsítky jsou samé problémy. Potřebují totiž zásuvné moduly. Firefox v nativním prostředí systému (64bitová aplikace) potřebuje 64bitové zásuvné moduly. Nejdůležitější moduly pro použití v současném internetu jsou:

V 64bitové verzi je s oběma jmenovanými moduly potíž. Zmíněné firmy se rozhodly Linuxu dělat okatě problémy a bojkotují existenci 64bitového Linuxu. Jejich produkty jsou jako zásuvné moduly použitelné jen v 32bitovém linuxu. Jste-li stejně naštvaní jako já, můžete na http://www.petitiononline.com/lin64swf/petition.html podepsat petici, ale asi to nepomůže. Ta petice tam už je dlouho. To už vůbec nezmiňuji fakt, že datové specifikace pro Flash jsou firemním tajemstvím, tj. otevřený software se to může jen snažit napodobit, ale nikdy to nebude úplně ono.

Pro 64bitový Firefox (první položka v menu fvwm/internet) je instalován místo Macromedia Flash náhradní otevřený software swfdec, který je sympatický tím, že se nesnaží všechny hýbací obrázky rovnou rozpohybovat, místo toho zobrazí kolečko se šipkou a teprve kliknutím na to se obrázek rozhýbe. Bohužel, z principu věci (viz zmínka o firemním tajemství) nemůže umět všechny fígle skutečného Macromedia Flash a může být i nestabilní.

Místo java pluginu od SUNů jsem pro 64bitový Firefox zkusil instalovat otevřený software blackdown java. Je ale natolik nestabilní (shazuje skoro jistě celý Firefox), že jsem se rozhodl jej nepoužít a v 64bitovém Firefoxu není instalována java. Chcete-li použít stránku s javou, doporučuji spustit Operu, viz dále.

Opera vyžaduje od uživatele vlastní zásah do konfigurace, aby dokázala použít 32bitovou javu. Nelze tuto konfiguraci udělat společně pro všechny uživatele, protože tyto grafické idiotské programy už dávno nectí UNIXové principy, že správce nainstaluje, v textových souborech v /etc nakonfiguruje a uživatelé používají, případně si konfiguraci pozmění a uloží do svého home. Ne, nyní musí vše klikat uživatel. Naklikat si použití javy v opeře můžete pomocí návodu na jejich stránkách nebo nechete-li jako já klikat, použijte příkaz:

   echo echo /opt/jre1.6.0_06/lib/i386 > ~/.opera/javapath.txt

čímž je konfigurace provedena.

Také jsem instaloval ještě 32bitovou verzi Firefoxu (která běží za použití jistého fíglu uvnitř 64bitového Linuxu). Ta má instalován originální Java plugin i originální Macromedia Flash.

Přepínání mezi 32bitovým a 64bitovým Firefoxem může způsobit některé problémy s uživatelskou konfigurací. Soukromě používám 64bitový Firefox bez javy a s emulátorem Flash a dále Operu, pokud je opravdu nutné použít javu.

Další nectností Firefoxu je, že nemá kulturní možnost nastavit asociace ke stahovaným souborům. Tj. stáhnete-li .doc, měl by být otevřen programem soffice, stáhnete-li .dvi, měl by být otevřen programem xdvi, atd. Místo toho se blbý Firefox neustále ptá, čím to má otevřít. Je potřeba mu napoprvé říci tlačítkem "procházet", jaký má použít pro danou příponu program. Pokud budete stejnou příponu stahovat znova, ignorujte dotaz na program, nepoužívejte znova "procházet", ale rovnou zmáčněte OK. On si to ten blbý program skutečně pamatuje z minula, ačkoli to nedává najevo. Někdy si myslím, že programátoři těchto grafických aplikací mají totální mlhu před očima. A už vůbec nepočítají s tím, že by třeba chtěl správce systému nastavit výchozí konfiguraci programu společnou všem uživatelům. Takováto (UNIXová) filosofie je těm programátorům bohužel cizí. Není to tedy tím, že správce nechtěl něco uživatelům předkonfigurovat, je to tím, že kvůli idiotským programátorům nemůže.

Jak zabít proces

Často je potřeba zničit proces (běžící program). Třeba proto, že se proces dostal do kómatu a není jej možné ukončit strandardními metodami. Bohužel velmi často se to stává Mozille/Firefoxu. Proces zůstane trčet v tabulce procesů i po ukončení grafického spojení s newtonem. Aby programátoři Mozilly zdůraznili své absolutní nepochopení principů víceuživatelských systémů, program po novém startu píše, že proces už běží, že je nutné jej nejprve ukončit nebo přebootovat počítač (sic!!!). Uživatel tedy zkusí přebootovat svůj počítač, znovu se příhlásí do newtona a hláška se opakuje. Naštěstí uživatel nemá klíče od kamrlíku s newtonem, takže nemůže tak jednoduše přebootovat newtona samotného. Příklady na zničení procesu níže se vztahují na naší povedenou Mozillu.

Chceme-li zničit proces, můžeme to nejjednodušeji udělat pomocí nástroje "xkill". To je možné tehdy, když proces má své okno na pracovní ploše. V nabídce fvwm: "Systémové nástroje" spusťte XKill. Kurzor myši se změní v lebku s zkříženými hnáty. Ukážeme tímto kurzorem na okno aplikace, kterou chceme zničit, kliknete, a ona se odporoučí do věčných lovišť.

Zabíjení procesů, které nemají své okno, je obtížnější. Otevřeme xterminál např. v menu FVWM "Terminál newton". V něm je příkazový řádek. Nejprve je potřeba zjistit číslo procesu. Např. zabíjíme firefox:

ps ux | grep firefox

olsak  20180  0.1  0.3 434888  Sl   13:27   0:03 /usr/lib64/mozilla-firefox/firefox-bin
olsak  21523  0.0  0.0   5716  S+   14:00   0:00 grep --colour=auto firefox
Vypíší se jen procesy uživatele, který příkaz napsal. V tomto případě uživatele "olsak". Shledáváme, že je spuštěn jeden firefox-bin pod číslem 20180 a další proces (s číslem 21523) je onen "grep firefox", který stejně v době, kdy čteme výpis, už neběží. Je tedy potřeba zabít proces 20180. Zkusíme
kill 20180
Zda to pomohlo poznáme opakováním ps ux | grep firefox nebo opakováním kill 20180. V tom druhém případě při opakování máme dostat výpis
-bash: kill: (20180) - No such process
Není-li na výpisu nic, proces uvízl a je třeba použít pro zabíjení ostřejší nůž. Tím nožem je příkaz kill -9, takže
kill -9 20180
To už pomůže vždy (jste-li ovšem majitelem procesu). Cizí procesy vypíšeme pomocí ps aux a zabíjet je může pouze superuživatel.

Poznámka k ostrým nožům. Příkaz "kill" samotný vyšle procesu signál 15. Pokud proces není v příliš hlubokém kómatu, je schopen tento signál přijmout a zpracovat. Obvykle je při zpracování takového signálu v aplikaci naprogramováno, ať aplikace spustí závěrečné operace (uzavíraní souborů, uvádění rozpracovaných dat do konzistentního stavu, atd.) a ať se nakonec ukončí. Aktivita je na straně aplikace. Použijeme-li ale "kill -9", požádáme systém, ať zlikviduje aplikaci z tabulky procesů. Aplikace obvykle už neudělá vůbec nic.

Bývá rozumné, pokud aplikace ještě aspoň trochu dýchá, ji dát "kill" bez parametru "-9". Firefox například při této operaci si zapamatuje naposledy navštívenou www stránku a uklidí po sobě jakýsi soubor "lock", který zamezuje ostatním firefoxům, aby byly souběžně spuštěny. Jinak bývá totiž potřeba ten soubor zlikvidovat ručně. V adresáři

.mozilla/firefox/"šílená-šifra"/
je potřeba smazat prázdný link "lock" pomocí "rm lock".

Databáse KOS

Do terminálového rozhraní databáze KOS lezeme z xtermu příkazem connect-base. V nabídce fvwm je na to položka. Pokud byste použili příkaz connect-base v něčem jiném, než v xtermu, pak vás server KOS odmítne. Server počítá pouze s xtermem ve výchozí velikosti. Spojení newton--kos je šifrované pomocí SSL (tzv. SSL-telnet, dnes hodně velká rarita).

Pro přístup do webového rozhraní databáze KOS stačí použít webový prohlížeč.

OpenOffice -- práce s kancelářskými soubory

Pro práci s .doc, .xls, .ppt atd. je možné použít OpenOffice, který se spouští příkazem ooffice soubor. Program je také v nabídce. V současnosti je instalovaná verze 2.4 této obludy. Byla kompilována ze zdrojových kódů.

Matematické programy

K dispozici jsou nejnovější verze programů Mathematica (příkaz mathematica), Maple (příkaz xmaple), Matlab (příkaz matlab, Octave (příkaz octave). Někdy se rovněž hodí použít jednoduchou kalkulačku příkazového řádku bc (big calculator), která nabízí libovolnou přesnost numerického výpočtu a pracuje s libovolně velkými čísly. Viz též man bc.

Dosové emulátory

Na newtonovi jsou dva dosové emulátory. Známý Dosemu (příkaz xdos) a nově Dosbox (příkaz x-dosbox).

Dosemu zvládá většinu starých programů, které konzervativní uživatelé chtějí používat, včetně emTeXu (tex386.exe). Bohužel, dosemu nezvládá správně zobrazit dosový program derive. Kvůli němu je zde tedy druhý emulátor Dosbox, který zase pro změnu nezvládá spustit dosový emTeX.

Dosemu implicitně připojuje C: jako disk totožný s uživatelským adresářem $HOME/.dosemu/drive_c. Tam si může uživatel změnit config.sys a autoexec.bat podle svého. Následně musí zablokovat tyto soubory proti zápisu, jinak je dosítko přepíše výchozími hodnotami. Dále je připojen disk H: k uživatelskému domovskému adresáři, disk K: k adresáři /home a disk Z: obsahuje základní systém Dosemu. Disk L: obsahuje staré dosoidní programy provozované na naší katedře.

Dosbox byl vyvinut především k provozu starých dosoidních počítačových her. Na disku Z: je základní systém a disk H: je připojen k uživatelskému $HOME. Disk L: obsahuje staré dosoidní programy provozované na naší katedře. Autoexec.bat je v sekci [autoexec] v konfiguračním souboru, který uživatel najde ve svém domovském adresáři (po prvním spuštění) s názvem ".dosboxrc". Základní návod na ovládání se objeví při každém startu.

TeX a přátelé

Je instalován texlive z distribuce Gentoo. Propojení TeXu s emacsem bylo naznačeno výše. Místo emacsu lze použít jakýkoli jiný editor se spolupráci se skriptem texloop. Tento skript je na newtonovi nainstalován.

Zde následuje seznam běžně používaných příkazů. Příkazů je k dispozici daleko více. Viz též dokumentaci k TeXlive.

Chce-li někdo experimentovat s novinkami, může:

Na rozdíl od starého newtona, program dvips implicitně zavádí fonty obrysové (jsou-li takové fonty k dispozici) a ne fonty Metafontem rastrované.

K prohlížení dokumentů v různých formátech jsou na newtonovi k dispozici tyto programy

Programy pro práci s grafikou

Slovníky


Hlavní stránka