Zobrazují se příspěvky se štítkempříkazový řádek. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkempříkazový řádek. Zobrazit všechny příspěvky

středa 10. února 2021

Smem - paměť procesů v detailu

Minule jsem psal o tom, jak to cca chodí s pamětí v linuxovém systému, dnes tedy aplikace. Původce proporcionálního PSS patche do smaps kernelu napsal také aplikaci smem, která tato (tehdy nová) data umí zpracovat. Na oficiální verzi 1.5 v repozitářích Ubuntu nikdo nesáhl už hodně dlouho, takže novinky kernelu tam zdaleka nejsou zakomponovány, ale tohle bude především o tom, jak jsem smem upgradoval já. Samozřejmě jsem, jako vždy, přidal i naprosto zbytečné detaily, které využije málokdo, ale přišlo mi škoda to neumět. Budu rád, když otestujete a zkritizujete, případně mi doplníte nějakou tu informaci.

 

středa 3. února 2021

Počítání paměti procesů v Ubuntu

Občas se chci podívat, kolik místa dohromady zabírá aplikace, která neběží pouze v jednom procesu. Zejména webové prohlížeče dnes v RAM zabírají kvanta místa, ale protože již většina běží v mnoha procesech, není pomocí základních nástrojů na první pohled vidět, kolik paměti žerou jako celek. Když si to budete chtít spočítat, narazíte na to, že si musíte ujasnit, jaká data k tomu použijete a kde je vezmete, příkaz ps to nebude. Chtěl jsem top žebříček obsazení paměti podle příkazů, tedy posčítat dohromady procesy spuštěné stejným spustitelným souborem. Začal jsem původně psát jednoduchý skript v Bashi, pak začal zkoumat aplikaci smem, která oproti běžným nástrojům typu ps nabízí přesnější čísla a mnohem víc, nakonec jsem začal dopisovat samotný smem a přidal nejen požadovanou funkci tam. Při tom jsem si samozřejmě pár věcí ujasnil a zanechal stopu na GitHubu. V tomto zápisku to bude trocha teorie a příkazový řádek, v dalším samostatně smem, a jeho použítí, i třeba v conky. ...

pondělí 18. ledna 2021

Jak si přizpůsobit prompt a barvy v terminálu

Dnes něco, co jistě každý zná přinejmenším zběžně, ale jsou jisté detaily, které si můžeme upřesnit. Když spustíte terminál, zobrazí se vám výzva k zadání příkazu, tedy prompt. Prompt Bashe, který interpretuje zadané příkazy v terminálu Ubuntu, se v základu skládá ze jména uživatele, hostname, cesty k aktuálnímu pracovnímu adresáři a končí $, nebo # pro rozlišení terminálu běžného uživatele a roota. To ale není pevně dáno, jako prompt můžete zobrazovat i další užitečné informace, barvit je, spouštět příkazy, jejichž výstup se zobrazí, nebo ovlivní prompt, nebo provede nějakou jinou akci. Co si tam třeba dát hodiny, místo barvení promptu obarvit zadávané příkazy, či část promptu barvit podle návratové hodnoty předchozího spuštěného příkazu?

neděle 20. prosince 2020

Skládání fotografií pro redukci šumu, prodloužení expozice, i vyprázdnění náměstí

Jak skládáním řady expozic dosáhnout technicky lepší fotografie a jak to zautomatizovat. V případech, kdy je málo světla a vy nemáte stativ, chcete-li vyfotit rušné místo bez lidí, nebo jen zvýšit dynamický rozsah snímku, nejen k tomu vám může pomoci skript pro skládání snímků, který jsem si napsal. Takové funkce jsou dnes zabudovány i v nejednom fotoaparátu, či mobilním telefonu, já vám ale samozřejmě ukážu, jak na to v Ubuntu, či jiné linuxové distribuci. Protože nemám moc času, tak to asi malinko odfláknu, ale leží mi tu základ už pomalu pět let..

sobota 19. prosince 2020

Wayland a mapování tlačítek myši

Řekl jsem si, že vyzkouším konečně Gnome Shell na Wayland session, když už jsem nainstaloval Ubuntu 20.04 a tak jsem učinil. Hned jsem samozřejmě narazil s některými svými výtvory, které jsou založené na "průhlednosti" X11 a pod Waylandem nefungují. Tak jen pár poznámek kolem toho a možnosti mapování tlačítek myši. ...

neděle 24. května 2015

Trable s odstaňováním starých kernelů z Ubuntu

Problém, který se řeší stále dokola - aktualizace přinášejí další a další verze kernelu a ty se v systému hromadí a zabírají nemálo místa na disku, což je o to větší problém, pokud máte separátní malý oddíl na adresář /boot. Automatického odstraňování se vývojáři stále trochu bojí, protože si nikdy nemohou být stoprocentně jisti, které kernely uživatel opravdu nevyužívá. Výjimka potvrzuje plavidlo. V Ubuntu již chvíli máme alespoň možnost zbavovat se zmíněného nadbytku pomocí klasického apt-get autoremove, ta je ale značně sabotována grafickou nadstavbou. Tak se podíváme o čem to je.

neděle 21. září 2014

Jak zjistit počet dostupných aktualizací systému v terminálu i Conky

Již jsem tu zmiňoval, jak zjišťuju počet aktualizací systému pro své Conky. Používám k tomu aptitude, který ale na Ubuntu není ve výchozí instalaci. Před pár dny jsem narazil na další možnosti, buď přímo s využitím aptu (připadám si hloupě, že mě to dřív nenapadlo samotného), nebo pomocí specializované aplikace apt-check. ...





úterý 13. května 2014

hh a hf - aneb jak si zpříjemnit dolování příkazů z historie Bashe

Před časem jsem objevil konzolovou utilitu hstr, která umí vyhledávat v souboru s historií Bashe a vkládat nálezy zpět do řádku shellu, případně je rovnou i spouštět. Je to pohodlnější náhrada reverzního vyhledávání přes Ctrl+R, které má Bash implementováno. Tehdy jsem to tu zmínil v komentářích a arrange prohlásil, že je to fajn, ale že mu dané vyhledávání nestačí a že ho vylepší. A tak se také stalo. Tak se na oba výtvory trochu podíváme. A nebudu vás napínat - arrange to má lepší! ...



úterý 15. dubna 2014

Jak naučit hddtemp číst teplotu neznámého disku

Teplotu disků přes hddtemp jsem tu již řešil v minulosti, používám ho z Conky, ale jeden z mých disků sám nerozpoznal a já se po letech rozhodl, že ho to konečně naučím. ...

neděle 6. dubna 2014

GVFS metadata a pozice ikon na Ploše z příkazového řádku

Sice jsem se naučil ikony na ploše nepoužívat vůbec, protože prázdná plocha má být prázdná a uklidňující, případně informativní, ne stresující, plná bordelu, ale když jsem zahlédl požadavek na možnost nastavit rozmístění ikon na ploše Ubuntu z příkazového řádku, přišlo mi to zajímavé. Koukl jsem se kam Nautilus (který plochu v Ubuntu a GNOME spravuje) zapisuje po změně pozice ikony přetažením myší a ... zjistil prdlajs. Nautilus totiž využívá virtuální filesystém GVFS a tak se to stalo ještě zajímavější. Jistě, že to někde na ten disk nakonec zapíše také, ale stopuje se to hůř a nakonec jsou data v binární podobě. Zjistil jsem každopádně jak mohu číst i zapisovat metadata k jednotlivým souborům (i zcela nová, vlastní) přes gvfs-* příkazy a napsal dva skripty pro uložení a obnovení pozic ikon na ploše spravované Nautilem. Ale zrovna tak není problém obhospodařit Nema, či jiného správce plochy využívajícího GVFS. ...

neděle 23. února 2014

Bash - s jednou rourou výstup v terminálu vidím, se dvěma už ne ..

Roury jsem podrobně popsal již dříve, ale přeci jen jsem minul jednu záludnost, která může způsobit bolení hlavy. Problém se týká vícenásobného rourácení, jehož vstupem je stream dat, tedy data proudící v delším časovém rozmezí, která potřebujete prohnat několika programy a přitom v "reálném čase" sledovat výstup. Jedna roura data ukáže, ale když přidáte další, výstup nikde. Který hajzlík za to může? Inteligentní výstupní buffer...



středa 19. února 2014

watch - periodické sledování výstupu příkazu

Další z mých letitých konceptů...
Náhodou jsem nedávno (nyní již před lety) objevil program watch, který umí periodicky spouštět příkaz a jeho výstup zobrazovat celoobrazovkově, či spíše celoterminálově, jde-li o okno terminálu v X. Každý nový výstup přepíše ten starý, s možností zvýrazňovat rozdíly a to i kumulativně, tedy nejen mezi dvěma následujícími výstupy. ...



pondělí 17. února 2014

xautolock - spouští programy, když se uživatel fláká

Našel jsem nedávno toto téma zahrabané v konceptech díky tomu, že jsem hledal skript, který umí čekat na aktivitu uživatele pro tu mou nahrávací automatiku a matně si pamatoval, že by tu mohl být. Tak ho vytáhnu na světlo, dokud jsou ještě X záležitosti nemrtvé. Takže bylo to takhle:

Možná se vám někdy stalo, že jste potřebovali spustit nějakou akci po určité době nečinnosti uživatele. Například zatroubit do repráků, aby se uživatel probral ze spánku, který ho přepadl po celém dni sezení nad bashovým skriptem. S tím vám může pomoct konzolový program xautolock, který si na odpadnutí uživatele s chutí počká a pak rozehraje svou hru s ohlašovatelem, zámečníkem a zabijákem. A je mazaný, umí se schovat i v koutě...

neděle 16. února 2014

Bash - aliasy s automatickým doplňováním argumentů klávesou Tab

Konečně jsem se rozhodl udělat si nějaké ty vlastní aliasy pro práci v Bash terminálu. A hned jsem samozřejmě narazil na problém s automatickým doplňováním argumentů takovýchto výtvorů, bash-completion je totiž pochopitelně sám od sebe nezná. Je tedy třeba mu je představit a když už jsem řešil tohle, vzal jsem ty aliasy trochu podrobněji, je to další téma, o kterém se všechny články, které jsem našel, jen tak trochu otřou. ...

úterý 11. února 2014

Automatické časové zapínání počítače pro nahrání pořadu s Tvheadend

V minulém článku jsem nakousl téma multimediálního centra s televizí v Ubuntu, ale správně jsem byl upozorněn na to, že bez automatického probuzení/zapnutí systému v čase, kdy se má nějaký ten pořad nahrát, není kompletní. A tak jsem se v tom pošťoural a výsledkem je pár nových poznatků a systém, který si před spaním přečte plán nahrávání Tvheadend, nastaví si budíček a po probuzení naopak zajistí, aby se po nahrání pořadu opět uspal, pokud je to vhodné...


neděle 26. ledna 2014

Monitoring uživatelů v Conky

Conky by měl dát komplexní přehled o dění v celém systému, který napoví, kde by mohl být nějaký problém. Když už jsem byl k tomuto tématu zase přistrčen, zamyslel jsem se i nad monitorováním aktivity uživatelů. Zvláště pokud systém máte na veřejné IP s dostupným ssh serverem, může být zajímavý přehled přístupů zvenčí. Nakonec si v Conky nechávám zobrazit počty založených sezení, unikátních přihlášených užiatelů, externích loginů a aktivních terminálů a pseudoterminálů. ...

neděle 19. ledna 2014

Monitorování HW senzorů nejen s Conky

Včera se mě kamarád zeptal "jak jsi v conky poznal, ktery sensor je pro ktere CPU?". Šlo o zobrazování teploty jader jeho dvouprocesorového počítadla, k čemuž v conky slouží proměnná hwmon. Zákeřná otázka, vzpoměl jsem si jen na to, že mi to kdysi také nebylo hned jasné, ale to už je přes čtyři roky, co jsem se tím zabýval, od té doby mé conkyrc prostě funguje. Tak jsem pro jistotu nahlédl do dokumentace a uvědomil si, že své CPU sice monitoruju správně, ale že mi v conkyrc hnijí související konstrukce horšího ražení, než drbat se levou rukou v levém podpaží. Přesněji řečeno, parsoval jsem třeba výstup příkazu sensors, abych dostal otáčky větráků. Takže to trochu proberu, třeba to někomu pomůže...

úterý 14. ledna 2014

Hledání souborů v instalačních balících Ubuntu

Občas je potřeba dohledat balík, který obsahuje konkrétní soubor potřebný pro zprovoznění něčeho jiného, případně který balík zanesl do systému to, či ono. Třeba na vás nějaký instalátor, či kompilátor začne sypat názvy modulů, které mu chybí. Napsal jsem pár tipů, které jsem při letmém studiu tématu objevil...

neděle 5. ledna 2014

Vylepšíme si vyhledávání souborů v prostředí Unity

Již jsem psal o tom, že Unity, konkrétně Unity Files Lens mající na starost vyhledávání souborů a složek z Dashe, používá konzolový příkaz locate a nepoužívá ho zrovna efektivně. Používá totiž systémovou databázi, která obsahuje statisíce pro Unity irelevantních záznamů a když dojde na hodně často se vyskytující řetězce, výsledky kvůlli výkonu šulí a často nedostanete to, co byste dostat měli. Například, když napíšu "ink", vyplivne databáze 2689 záznamů, přičemž Unity z toho zajímají pouze 3. A protože nejsou mezi prvními 128 v seznamu, nedostanu nic. Ale zato rychleji. To, že někdy něco dostanete, má na svědomí Zeitgeist, ten se o souboru dozví ve chvíli, kdy ho v systému otevřete. Pokud ale "šmíráka" Zeitgeista zakážete v nastavení soukromí, může být občas vyhledávání opravdu problematické. Navrhl jsem minule i řešení, ale nedotáhl jsem to do konce, takže když na to zas přišla řeč, rozhodl jsem se to doklepnout a prakticky ukázat, jak to převést do praxe. ...

sobota 26. října 2013

Systemd-logind nahrazuje v Ubuntu 13.10 ConsoleKit a UPower

V novém Ubuntu proběhla ještě jedna změna, která není vidět na první pohled. Jde o výměnu správce sezení (sessions), který zajišťuje i logiku přístupu uživatele k funkcím jako je vypnutí a uspání systému. V posledních letech toto zajišťoval právě ConsoleKit, společně s UPower. Služby ConsoleKit i UPower byly z instalace vyřazeny, v systému se objeví pouze jako závislosti konkrétních aplikací, které ještě logind do své výbavy nezařadily. Současně to může přinést problémy při použití aplikací, které na tyto služby spoléhají, ale v závislostech je nemají. Tam spadá i můj SGTimer, který jsem psal s tím, že má být vždy schopen používat aktuální služby systému a nedával je do závislostí instalačního balíku. Ovšem bez aktualizace se to neobejde a tu momentálně sice mám hotovou, ale pouze na rozdělané alfa verzi, kterou přepisuju (velmi pomalu) z Pythonu do Vala. Opuštěné služby lze ale do systému dostat i ruční instalací a ukážu vám, jak vypínat, uspávat, hibernovat a restartovat systém pomocí logind. ...