Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.
Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.
Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.
Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀
ps ax spousty procesů "-l". Je to jen kvůli překlepům a podobně. Navíc se zdá, že to bere trochu paměti a taky se zbytečně zvětší seznam procesů. Jednou jsem to zkoušel killnout a... dopadl jsem špatně.
Dá se nějak zabránit jejich vytváření? Žerou paměť, nebo se tak jen tváří?
Řešení dotazu:
$ ps a | grep -- -l 5566 pts/0 Ss 0:00 -l 31941 pts/1 Ss+ 0:00 -l 4171 pts/2 Ss 0:00 -l 6081 pts/2 S+ 0:00 grep --color=auto -- -l
kill 5566, nebo kill -9 5566?
$ hh -l: hh: command not foundale v tuhle chvíli se tam novej nevytvořil. Je to jen někdy, zkusím to vypozorovat.
Prostě zabije shell.
$ ps ax | grep -- -l 31941 pts/1 Ss+ 0:00 -l 4171 pts/2 Ss+ 0:00 -l 9133 pts/0 Ss+ 0:00 -l 9159 pts/3 Ss+ 0:00 -l 9166 pts/4 Ss+ 0:00 -l 9171 pts/5 Ss+ 0:00 -l 9174 pts/6 Ss+ 0:00 -l 9179 pts/7 Ss+ 0:00 -l 9183 pts/8 Ss+ 0:00 -l 9188 pts/9 Ss+ 0:00 -l 9195 pts/10 Ss+ 0:00 -l 9200 pts/11 Ss+ 0:00 -l 9204 pts/12 Ss+ 0:00 -l 9209 pts/13 Ss+ 0:00 -l 9217 pts/14 Ss 0:00 -l 9238 pts/14 S+ 0:00 grep --color=auto -- -la když spustím xterm, je tam bash. Huh.
echo $1? To skoro vypadá, že se u tebe jmenuje bash -l
. Správný výpis je totiž
$ hh bash: hh: command not foundNemáš někde nějaký symlink, nebo něco rakového?
echo $1 nevypíše nic. Bash se nejmenuje -l, není to ani symlink ani alias. V xtermu je to jak píšeš, v tty je -bash. V Yakuake to dělá jen jako user, po sux - už ne. V .bashrc mám jen
export GTK2_RC_FILES=$HOME/.gtkrc-2.0To je AFAIK proto, abych měl Qt skin u GTK+ aplikací.
Takže bug v YaKuake... zajímavé je, že se tak děje jen před su.Protože su spustí další shell, kterému nastaví nultý parametr (jméno programu) správně.
[david@amd64 ~] $ echo $0 -l root@amd64 ~ [ r10.61G h43.56G p129M s1035M | 1/88 0.37 ] [17:21] # echo $0 -/bin/bash
echo $0 a ne 1
, díky za opravu.
src/ a tam editujte část
args.append("-l");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/sh";na
args.append("-/bin/bash");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/bash";To mi pomohlo...
[david@amd64 ~] $ hh bash: hh: command not found
shell_session.cpp.
/usr/local/bin/, takže by to teď fungovalo jen na Linuxu.
Ale co, já a hrabat se v kódu Céčka. Sotva napíšu printf. Takže na to, že je to můj první patch, můžeme být rádi, že to nemaže hardisk...
Takže na to, že je to můj první patch, můžeme být rádi, že to nemaže hardisk...
Dělám si srandu.
vývojářůmJe jenom jeden a právě jsem mu to poslal.
- args.append("-l");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/sh";
+ args.append(shell);
+ args.append("-l");
Ty zdrojáky jsem nečetl, takže netuším jak ten program ve skutečnosti funguje...
[david@amd64 ~] $ echo $0 /bin/bash [david@amd64 ~] $ hh bash: hh: command not found
- args.append("-l");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/sh";
+ args.append(strrchr(shell, '/') ? strrchr(shell, '/') : shell);
+ args.append("-l");
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../. -I../src -I/usr/kde/3.5/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=athlon64 -fomit-frame-pointer -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o shell_session.o shell_session.cpp shell_session.cpp: In constructor `ShellSession::ShellSession(QWidget*, const char*)': shell_session.cpp:50: error: wrong type argument to unary minus /usr/kde/3.5/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub dcop_interface.kidl x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../. -I../src -I/usr/kde/3.5/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=athlon64 -fomit-frame-pointer -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o dcop_interface_skel.o dcop_interface_skel.cpp make[2]: *** [shell_session.o] Error 1 make[2]: *** Waiting for unfinished jobs.... tabbed_widget.cpp: In member function `int TabbedWidget::removeItem(int)': tabbed_widget.cpp:95: warning: comparison between signed and unsigned integer expressions tabbed_widget.cpp: In member function `void TabbedWidget::selectNextItem()': tabbed_widget.cpp:117: warning: comparison between signed and unsigned integer expressions tabbed_widget.cpp: In member function `virtual void TabbedWidget::mouseReleaseEvent(QMouseEvent*)': tabbed_widget.cpp:275: warning: comparison between signed and unsigned integer expressions tabbed_widget.cpp:277: warning: comparison between signed and unsigned integer expressions make[2]: Leaving directory `/var/tmp/portage/yakuake-2.7.3/work/yakuake-2.7.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/yakuake-2.7.3/work/yakuake-2.7.3' make: *** [all] Error 2
Jdu raději hrát, dělám akorát škodu...
Tiskni
Sdílej: