Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
Jak jsem psal v předchozím, budu sem dávat zajímavé skriptíky, takže tady je první. Nazval jsem ho sshm (jako sshmulti, ale aby to bylo co nejkratší, tak sshm).
Pokud znáte cssh (clusterssh), tak prakticky víte, co dělá tenhle můj skriptík. Jedinou funkcí je, že spustí xtermy a v každém z nich spustí ssh připojení na zadaný server. Pokud tedy tenhle skript spustíte z xtermu, můžete pak z tohoto xtermu ovládat ty ostatní xtermy s ssh spojením. Tolik jednoduchý popis.
Trošku detailněji bych pak dodal. Clusterssh otevře také Xtermy, také s ssh připojení, ale clusterssh otevírá připojení do xtermu s určitým rozměrem a fontem, které je sice možné měnit v konfiguračním souboru, ale člověk by dopředu musel vědět, kolik má oken. Můj skriptík jednak umožňuje zadání pevných rozměrů okna a fontu, nebo "automaticky", podle předdefinovaných hodnot, vybere podle počtu zadaných serverů správný rozměr xtermu a font, který se má nastavit. Pokud zadám tedy dvě okna, tak se mi zobrazí nad sebou a zaberou celou plochu (rozměry 268x40) s písmem o velikosti 12. Pokud ale zadám např. 28 serverů, nechá se výchozí rozměr 80x25 a použije se písmo o velikosti 8 (sice je to hůř čitelné, ale na zadaní aptitude -vyR dist-upgrade to naprosto stačí).
Teď trošku o vnitřnostech.
Nevýhody:
Dodatek: já osobně jsem si pconsole ještě opatchoval, protože originální zdroják používá sekvenci CTRL-A pro přechod do příkazového módu, ale CTRL-A se na příkazové řádce používá jako HOME (někdy je to rychlej způsob jak vymazat celou řádku pomocí CTRL-A CTRL-K, než hledat HOME a pak CTRL-K). Já to mám přemapované na CTRL-N. BTW: Také screen používá jako řídící sekvenci CTRL-A, takže tu si mapuju na CTRL-P
A to jsou všechny keci, takže teď ten skriptík. A aby někdo nerejpal, tak GNU GPL a myslím, že u toho je celkem jedno jestli v2 nebo v3, tak ať se to hejbe, budiž to GNU GPL v3. Pokud by něco nefungovalo, pište do diskuze.
update 10.6.2008: Kromě clusterssh existuje ještě program dsh (distributed shell, dancer's shell), který na to jde jiným způsobem. Program dsh totiž se v aktuální konzoli přihlašuje na zadané servery a spouští tam zadané příkazy a to buď na všech strojích paralelně, nebo postupně. Výsledky pak zobrazuje na konzoli. Nevýhoda je, když človek musí zadat např. heslo do sudo. Ale na jednoduché zjišťování nějakého stavu na serveru se to hodí.
#!/bin/bash defsize="12" fontmsk='-misc-fixed-medium-r-normal-*-%i-*-*-*-*-*-iso8859-2' autosize="$defsize" deffont="$( printf -- "$fontmsk" "$autosize" )" defgeom="80x25" geom="$defgeom" verbose="" if [ $# -eq 0 ];then cat <<-HelpEnd $0 [ -f FONT ] [ -g GEOMETRY ] [ -G ] [ -r ] [ -s SIZE ] { ssh_host ... | -t COUNT } -f FONT ... set font -r ... reset font do default value ($deffont) -s SIZE ... use font size -g GEOMETRY ... use font size (default $defgeom) -G ... reset geometry to default -t COUNT ... do not run ssh, generate only xterms (to see placement) -v ... ssh verbose HelpEnd else pi=$# tothosts=0 while [ $pi -gt 0 ];do # echo "params1-$pi: $0 $@" par="$1" shift case "$par" in "-f" | "-s" | "-g" ) if [ $pi -gt 0 ];then parval="$1";shift;pi=$[$pi-1];set -- "$@" "$par" "$parval";else set -- "$@" "$par" ;fi;tothosts="-1";; "-r" | "-G" ) set -- "$@" "$par";tothosts="-1";; "-v" ) verbose="-v" ;; "-t" ) if [ $pi -gt 0 ];then if [ -n "$test" ];then echo "Sorry, but test value is already set to $test - ignoring this value $1" else test="$1" shift pi=$[$pi-1] if [ -z "$test" ];then echo "You have to enter a non-empty value for option -t" elif echo "$test" | grep -q '[^[:digit:]]';then echo "You hava to enter a numeric value for option -t" else tothosts="-1" fi fi else echo "argument -t needs value (test)" fi ;; *) if [ $tothosts -ge 0 ];then tothosts=$[$tothosts+1];fi;set -- "$@" "$par";; esac pi=$[$pi-1] done case "$( hostname -f )" in "HOST1-RESOLUTION-1680x1050" ) if [ $tothosts -gt 0 ];then if [ $tothosts -le 1 ];then autosize="12";autogeom="234x71" elif [ $tothosts -le 2 ];then autosize="12";autogeom="234x34" elif [ $tothosts -le 4 ];then autosize="12";autogeom="116x34" elif [ $tothosts -le 6 ];then autosize="12";autogeom="116x22" elif [ $tothosts -le 9 ];then autosize="12";autogeom="80x22" elif [ $tothosts -le 12 ];then autosize="9";autogeom="80x23" elif [ $tothosts -le 16 ];then autosize="8";autogeom="80x26" elif [ $tothosts -le 20 ];then autosize="7";autogeom="80x22" elif [ $tothosts -le 29 ];then autosize="6" elif [ $tothosts -le 39 ];then autosize="7";autogeom="60x14" else autosize="7" fi fi ;; "HOST2-RESOLUTION-1920x1200" ) if [ $tothosts -gt 0 ];then if [ $tothosts -le 1 ];then autosize="12";autogeom="268x89" elif [ $tothosts -le 2 ];then autosize="12";autogeom="268x40" elif [ $tothosts -le 4 ];then autosize="12";autogeom="132x40" elif [ $tothosts -le 6 ];then autosize="12";autogeom="132x25" elif [ $tothosts -le 9 ];then autosize="12";autogeom="88x25" elif [ $tothosts -le 18 ];then autosize="9" elif [ $tothosts -le 25 ];then autosize="8" elif [ $tothosts -le 28 ];then autosize="7" elif [ $tothosts -le 39 ];then autosize="6" elif [ $tothosts -le 53 ];then autosize="7";autogeom="60x14" else autosize="7" fi fi ;; esac i=0 font="$( printf -- "$fontmsk" "$autosize" )" geom="$autogeom" # echo "params2: $0 $@" echo "hosts: $tothosts" echo "font: $font" if [ -n "$test" ];then for i in $( seq 1 $test );do set -- "$@" "test-$i" done fi while [ $# -gt 0 ];do case "$1" in "-f" ) shift;if [ $# -gt 0 ];then font="$1";else echo "argument -f needs value (font)";fi ;; "-g" ) shift;if [ $# -gt 0 ];then geom="$1";else echo "argument -g needs value (geometry)";fi ;; "-r" ) font="$( printf -- "$fontmsk" "$autosize" )" ;; "-G" ) geom="$defgeom";; "-s" ) shift;if [ $# -gt 0 ];then font="$( printf -- "$fontmsk" "$1" )";else echo "argument -s needs value (font size)";fi ;; *) if [ -n "$test" ];then xterm -geometry "$geom" -title 'Pconsole connection' -fn "$font" -e "echo -e \"\n===== testing console $1 =====\n\n\";/bin/bash" & else xterm -geometry "$geom" -title 'Pconsole connection' -fn "$font" -e "echo -e \"\n===== $1 =====\n\n\";ssh $verbose '$1'" & fi pid=$! nt="" while [ -z "$nt" ];do npp="" while [ -z "$npp" ];do npp="$( ps --ppid "$pid" h -o pid | tr -dc '0-9' )" done nt="$( ps --ppid "$npp" h -o tty )" done tty[$i]="/dev/$nt" i=$[$i+1] ;; esac shift done pconsole "${tty[@]}" fi
Tiskni
Sdílej:
It's using DCOP to remote-control a konsole process with the ssh connections in seperate tabs.