Do <head>
dát tohle:
<style type=“text/css”>a { color: red; text-decoration: none }</style>
Reference základních stylů je např. na http://www.culturedcode.com/css/reference.html.
Některé síťové databáze článků (portal.acm.org, Springer aj.) poskytují plné verze článků bezplatně jen na požadavek vzešlý z IP adresy, která patří univerzitě. Existují různé způsoby, jak se k nim dostat, když zrovna sedíte mimo univerzitu.
Zjistěte URL článku. To někdy může být obtížné, protože při prohlížení z domova server předem ví, že na článek nemáte nárok, a dá vám raději URL stránky, kde se mohou přihlásit platící zákazníci. Máte-li URL, nalogujte se přes SSH na univerzitu a tam pusťte wget 'URL' -O soubor.pdf
. Např. pro portal.acm.org musíte zjistit ID článku (je vidět už v URL titulní stránky článku, kterou ještě mohou vidět všichni) a pak volejte wget 'http://portal.acm.org/ft_gateway.cfm?id=ID&type=pdf&coll=GUIDE&dl=GUIDE&CFID=3' -O clanek.pdf
. Nakonec přes SFTP stáhněte článek z univerzity domů.
Máte-li doma puštěné X-Window (Linux, Cygwin apod.), můžete si na univerzitě pustit okenní aplikaci a ovládat ji z domova. Je k tomu potřeba se na univerzitu místo obyčejným SSH dostat voláním ssh -C -Y
. Vzdálené pouštění okenních aplikací může být však nepřípustně pomalé a stejně musíte PDF nechat uložit na univerzitní disk a pak ho teprve získávat přes SFTP. Můžete si ale také nechat pustit vzdálený prohlížeč PDF a domů si ho vůbec nestahovat.
Pokud nemáte X server (např. běžíte pod MS Windows a nemáte Cygwin), můžete použít vnc
přes ssh na blackbirda (návod je na Milanových stránkách a odkaz na něj by měl vést i odněkud z wiki). Zatím jsem nezkoušel. Podle Petra je tam ale problém s copy/paste do ostatních windowsových programů.
Řešení Petra Pajase:
Takze kdyz potrebuju doma stahnout clanek z webu, k nemuz je omezeni podle IP
(jstor, springer), tak si na svem stroji v praci si spustim male Perlove
proxy (viz ~pajas/bin/ht2_proxy.pl), ktere posloucha jen na localhostu a k
nemu si udelam ssh tunnel. To cele na svem notebooku zinscenuju jedinym
prikazem takto:
ssh -4 -L 8080:127.0.0.1:8080 stroj /home/pajas/pbin/ht2_proxy.pl 8080
Jestliže potřebuju nějaký modul z CPANu, který dosud není na ÚFALu dostupný, můžu ho stáhnout a nainstalovat pomocí modulu CPAN.pm
. Pochopitelně ho nemůžu nainstalovat do systémových adresářů, kam má přístup pouze root. Jedna alternativa je udržovat si svou vlastní sbírku modulů ve svém homu, např. ${HOME}/perl
. Druhá alternativa je společný repozitář perlových modulů v /net/work/projects/perl_repo
. Tam mají teoreticky právo zápisu všichni členové skupiny ufal
, ale protože není snadné nakonfigurovat si CPAN tak, aby s repozitářem pracoval správně, je lepší napsat Petrovi Pajasovi nebo Honzovi Ptáčkovi a požádat je, aby potřebný modul nainstalovali.
Ať už nainstaluju nový modul k sobě nebo do společného repozitáře, musím taky Perlu říct, že je tam má hledat. Navíc nestačí Perl nasměrovat na kořen repozitáře. Moduly jsou zkompilované, takže je potřeba, aby si sáhl do podadresáře pro architekturu, na které běží. Pro společný repozitář se to udělá tak, že zavolám (ze svého .cshrc
) Petrův konfigurační skript:
eval `/home/pajas/bin/setup_platform csh`
V proměnných prostředí PERLLIB
a PERL5LIB
se mi pak objeví např. následující položky:
/ha/work/projects/perl_repo/lenny/sid/i686/lib/perl/5.8
/ha/work/projects/perl_repo/lenny/sid/i686/share/perl/5.8
/ha/work/projects/perl_repo/lenny/sid/i686/lib/perl/5.8.8
/ha/work/projects/perl_repo/lenny/sid/i686/share/perl/5.8.8
Jestliže jsem modul nainstaloval k sobě, musím do PERL5LIB
dostat něco podobného:
/home/zeman/perl/lib/perl/5.8.8
/home/zeman/perl/share/perl/5.8.8
(Zde nemám knihovny rozdělené pro jednotlivé architektury, např. i686
a x86_64
, ale snad by to šlo nastavit v konfiguraci.)
Modul CPAN.pm
je už součástí zmíněného společného repozitáře, takže můžu na ÚFALu rovnou zavolat
perl -MCPAN -e shell install File::NFSLock
nebo dokonce rovnou
perl -MCPAN -e 'install File::NFSLock'
kde File::NFSLock
je název chybějícího modulu, který chci doinstalovat. Otázka je, jak je CPAN.pm
nakonfigurován a kam vlastně bude nový modul instalovat. CPAN.pm
si čte svou konfiguraci ze souboru
/net/work/projects/perl_repo/lenny/sid/i686/share/perl/5.8/CPAN/Config.pm
Kdyby do tohoto souboru měli právo zápisu všichni členové skupiny ufal
(jak tomu původně bylo), neustále by si navzájem přepisovali svoji konfiguraci. Proto je záhodno si vytvořit svůj vlastní konfigurační modul ${HOME}/.cpan/CPAN/MyConfig.pm
, který má podle návodu přednost. Pak v cpaním shellu pustit o conf init
a zodpovědět všechny otázky.
Návod k modulu CPAN.pm
je například zde.
.bash_profile
se zavolá na začátku login shellu. .bashrc
se zavolá na začátku shellu, který je interaktivní, ale není login. Většina lidí to má zařízeno tak, že z .bash_profile
se volá .bashrc
, jinak je .bash_profile
prázdný a všechna ostatní nastavení jsou v .bashrc
:
# .bash_profile if [ -f ~/.bashrc ]; then source ~/.bashrc fi
Protože dosud jsem víc pracoval v tcsh
a nastavení proměnných mám nejlépe udržované v .cshrc
, mohlo by pomoct, kdybych na začátku všech volání bashe povinně zavolal tcsh a skrz něj další bash, který by ale už zdědil prostředí tcsh:
# .bashrc exec /bin/tcsh -c 'exec /bin/bash'