Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře děti v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.
Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
Řešení dotazu:
find složka -iname *.pdf -exec evince {} +
pokud používáš evince
find . -iname '*.pdf' -print0 | xargs -0 okular(případně můžeš okular nahradit za jiný prohlížeč)
xargs nohup okular &.
Problém je v tom, že ampersand interpretuje shell, ze kterého se spouští find. Zrovna před pár dny se tu přesně tento problém řešil.
Co se týká významu, co se zkusit podívat do manuálových stránek příslušných příkazů (find, xargs, nohup)?
& není v příkazu pro find, ale za pajpou u příkazu xargs.
find (a xargs) a vztahuje se k příkazu xargs, ne k jednotlivým okularům.
find . -iname '*.pdf' -exec bash -c "okular3000 {} &" \;
což spustí na pozadí tři okular3000 (ovšem v novém shellu - nikoliv jako jobs v tom aktuálním), ale nevidím způsob, jak stejným způsobem spustit okular s více argumenty, krom spuštění "find na pozadí" nebo "xargs na pozadí" což dělá skoro totéž:
find . -iname '*.pdf' -exec okular {} \+ &
find . -iname '*.pdf' -print0 | xargs -O okular &
má to vedlejší efekt že na pozadí jako job běží xargs (okular běží na pozadí jako potomek xargs), ale nepovažuji to za problém, spíš kvituji že mi neběží tři okulary.
Find má ještě vedlejší efekt že když se vyčerpá počet argumentů tak čeká až okular zavřete a otevře zbytek, xargs defaultně také, ale lze mu vnutit třeba -N 1000, což by na otevření pár milionů pdf mohlo stačit :)
Nebo máte nějaké lepší řešení jak spustit na pozadí okular s více argumenty, aniž by jako rodič běžel find či xargs?
Tento stav nastal, ale nenapadá mne proč by to měl být problém, pokud se použije okular, který umí otevřít víc pdf najednou.
V tom problém není. Problém je v tom, že některé příspěvky v diskusi vyznívaly tak, jako by to automaticky fungovalo s jakýmkoli prohlížečem a ampersand zajišťoval paralelní spouštění jednotlivých příkazů. Některé pak dokonce tvrdily zcela nepravdivé věci (jako např. ty nesmysly o fungování nohup). Proto jsem se to pokusil uvést na pravou míru.
find . -iname '*.pdf' -print0 | xargs -0 nohup okular &-iname vyhledává podle jména a nerozlišuje velká-malá písmena -print0 vypíše výsledky, mezi ně dá znak null xargs a nohup jsou jiné programy, xargs vytváří příkazy ze stdin a nohup spouští program na pozadí tak aby ho nešlo ukončit ctrl-c
man find
man xargs
man nohup
nohup nespouští program na pozadí (jak si lze snadno ověřit), ale funguje jako wrapper, díky kterému je ignorován signál HUP (odtud jeho název), zatímco kombinace kláves Ctrl-C způsobí poslání signálu INT, takže tou program bez problémů ukončíte (pokud ji neignoruje on sám, ale pak ho zase neukončí ani bez nohup).
xargs: POZOR: Nezamýšleli jste, čistě náhodou, že se tak ptám, použít přepínač --null?
Neignorujte xargs, chce si s vámi povídat, je to taky jen program a má své potřeby a city :D
Aneb jak občas říkám na školeních účastníkům: chce-li člověk spravovat Linux, měl by se naučit dvě věci, které ho praxe s Windows odnaučí:
nohup je zbytečné, protože nezavřené IO také většině aplikací nevadí. Akorát se pak zbytečně zapisuje na disku a všude se válí nohup.out.
Jsem z té otázky poněkud zmatený. Jako shell používám bash, stejně jako autor otázky.
SIGHUP nerozesílá bash, ale emulátor terminálu. Bash jej pouze rozešle dále pokud jej dostane (je to napsáno i v manu). Jako emulátor terminálu používám konsoli z KDE. Zkoušel jsem teď i xterm a ten SIGHUP zasílá taky. Projel jsem to i stracem a SIGHUP tam byl.
SIGTERM či SIGKILL a neklikám na křížky apod.), ukončuji v něm běžící shell (slovy exit či spíš CTRL+D, asi zvyk z ssh sessions). S ohledem na shopt huponexit = off (to je to co jsem říkal že je u shellů obvyklé) bash SIGHUP sám nepošle, a konsole pak také ne, a procesy na pozadí nic nedostanou a běží dál, zdědí je init. Pokud terminál ukončíte SIGTERM či SIGKILL pak ano, bash přepošle signály co dostane dál a nohup má smysl.
Tiskni
Sdílej: