Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
#!/bin/sh
# vnc autolock skript
if [ $(pgrep -fc "$(basename "$0")") -gt 1 ]; then exit 1; fi
if [ -z $DISPLAY ]; then export DISPLAY=:0; fi
v=$(xrandr | awk '/connected/{print $1}')
d=$(xinput list | grep -v 'Virtual' | cut -d= -f2 | cut -f1)
while sleep 5; do
c=$(ss -t | awk '$4~/:rfb/')
if [ -n "$c" ] && [ "$status" != "locked" ]; then
s=$(xrandr | awk '/*/{print $1; exit}')
# turn off video outputs
for i in $v; do
xrandr --fb $s --output $i --off
done
# disable input devices
for i in $d; do
xinput disable $i
done
status=locked
elif [ -z "$c" ] && [ "$status" != "open" ]; then
# turn on video output
for i in $v; do
xrandr --output $i --auto
done
# enable input devices
for i in $d; do
xinput enable $i
done
status=open
# screensaver
#pgrep xtrlock || xtrlock -b &
xset s activate
fi
#echo "$(date +%X) $status"
done
Chtěl jsem aby to bylo trochu přenositelné protože parsovat výstup programu xinput list je celkem peklo. Někdy ukazuje například klávesnicu dvakrát pod stejným jménem ale s jinačíma ID. Proto jsem se rozhodl odpojit kromě těch virtuálních zařízení preventivně všecko. Taky nevím jak ošetřit to vícenásobné spuštění(řádek 3). Když mám skript otevřený například ve vimu tak pgrep si myslí že už je ten skript jakože spuštěný a vrátí true. Program pidof -x ho nevidí vůbec. Řádek 4 je tam jenom pro případ když jsem to zkoušel spustit přes ssh kde terminál nevidí proměnnou DISPLAY. Jinak se skript chová celkem primitivně. Každých pět sekund kontroluje, jestli náhodou není někdo připojen na port 5900, průběžně si ukládá status, vypíná/zapíná monitory a vstupní zařízení. Kdyby to někoho napadlo zkoušet, tak doporučuju mít na serveru kromě vnc puštěné taky ssh. Když by se náhodou stalo, že skript z nějakého důvodu umře během vzdálené vnc session, mohla by teoreticky nastat situace, že na druhý den přijdete k zamčenému serveru. Ale do takových extrémů by snad dojít nemuselo. Přemýšlím jak udělat aby to bylo trochu víc user-friendly a aby to přitom moc nenabobtnalo. Berte to jenom jako takový počáteční nástřel.
EDIT: Opraven velice nepříjemný bug který způsoboval, že při pokusu o připojení ze serveru na kterém skript běží někam dál přes vnc, to zamklo server pod rukama.
Tiskni
Sdílej:
Uživatelům waylandu se omlouvámTakze ten tvuj skript je pro 80% uzivatelu nahouby.
Hm, a co radsi to udelat pri prihlaseni k vnc serveru?Však on ten skript prakticky nic nedělá až dokud se vzdáleně nepřihlásíš. Já jsem to původní zadání pochopil tak, že uživatel má nějakou rozdělanou práci na PC1 ale z nějakého důvodu se musí fyzicky přesunout na PC2 a chce v rozdělané práci pokračovat vzdáleně přes vnc. Nechce u toho žádné diváky nebo nedejbože aby mu nějaký nenechavec mačkal klávesy a táhal myš.
A co kdyz si spustim vzdalenou session s jinym X serverem (xdmcp)? A co kdyz si pustim na svuj X server jen urcitou aplikaci (a bude to zrovna nejaka, kvuli ktere bys chtel ostatnim zakazat pristup?V takových případech by bylo asi potřeba to celé předělat. Není to žádné univerzální řešení pokrývající všecky myslitelné situace.
Uživatelům waylandu se omlouvámTakze ten tvuj skript je pro 80% uzivatelu nahouby.
ttssss, budoucnost stejně patří xlibre, wayland je už teďko mrtvej :D ;D
zatim nenapsali ani bajt noveho kodu
nešiř prorusTský dezinformace, ten projekt je hele celkem živej :D ;D
Btw blbej nazev, to armaci, riscasi a poweraci jse maji jit bodnout nebo co?
nejspiš to je vodkaz na xfree86 hele :O ;D
tady hele máš vobrovský množšství commitů který xorg nikdy nenechal zveřejnit ve stable verzi páč protěžuje ten svuj wayland. pokud všichni tydlecty lidi přejdou k xlibre který jim umožní narozdíl od xorg commitovat, možnáže navopak wayland zustane one traverzit show, viz ten jejich boj za diverzitu kuli kterýmu vykopli vajgla včetně jeho vic než tisicovky commitů :O ;D
#!/bin/sh
# vnc autolock script — locks local console (video+input) while a VNC client is connected
# --- safety / env ---
set -eu
# single-instance guard (best-effort)
if [ "$(pgrep -fc "$(basename "$0")")" -gt 1 ]; then
exit 0
fi
# Require X session
if [ -z "${DISPLAY:-}" ]; then
export DISPLAY=:0
fi
# Needed tools
need() { command -v "$1" >/dev/null 2>&1; }
for bin in xrandr xinput ss xset awk grep cut; do
if ! need "$bin"; then
echo "Missing dependency: $bin" >&2
exit 1
fi
done
# Collect connected video outputs once
VIDEO_OUTS="$(xrandr | awk '/ connected/{print $1}')"
# Collect non-virtual input device IDs once (store; we will toggle only these)
INPUT_IDS="$(xinput --list --id-only 2>/dev/null | grep -vi 'virtual' || true)"
STATUS="open"
# Re-enable everything on exit
unlock_all() {
# turn on video outputs
for o in $VIDEO_OUTS; do
xrandr --output "$o" --auto || true
done
# enable input devices
for id in $INPUT_IDS; do
xinput enable "$id" 2>/dev/null || true
done
STATUS="open"
}
trap unlock_all EXIT INT TERM
# Helper: is there any established TCP connection to ports 5900–5999?
has_vnc_conn() {
# Check local socket column for :59xx in ESTAB state
ss -tan state established 2>/dev/null \
| awk '{print $4}' \
| grep -Eq ':[5]9[0-9]{2}$'
}
# Helper: current framebuffer size (mode with asterisk)
current_fb() {
# pick the first mode marked with '*'
xrandr | awk '/\*/{print $1; exit}'
}
# Main loop
while sleep 5; do
if has_vnc_conn; then
if [ "$STATUS" != "locked" ]; then
FB_SIZE="$(current_fb || true)"
# Turn off all connected outputs (keep fb consistent if we know size)
if [ -n "${FB_SIZE:-}" ]; then
for o in $VIDEO_OUTS; do
xrandr --fb "$FB_SIZE" --output "$o" --off || true
done
else
for o in $VIDEO_OUTS; do
xrandr --output "$o" --off || true
done
fi
# Disable inputs we selected
for id in $INPUT_IDS; do
xinput disable "$id" 2>/dev/null || true
done
STATUS="locked"
# Optionally force screensaver immediately
xset s activate || true
fi
else
if [ "$STATUS" != "open" ]; then
# Turn on all connected outputs
for o in $VIDEO_OUTS; do
xrandr --output "$o" --auto || true
done
# Re-enable input devices
for id in $INPUT_IDS; do
xinput enable "$id" 2>/dev/null || true
done
STATUS="open"
# Nudge screensaver (turn off if running)
xset s reset || true
fi
fi
# Uncomment for debug:
# printf '%s %s\n' "$(date +%T)" "$STATUS"
done
INPUT_IDS="$(xinput --list --id-only 2>/dev/null | grep -vi 'virtual' || true)"to ti vyplivne ID všech zařízení včetně těch virtuálních ten grep a true tam nemají žádný smysl. Nebo ten
VIDEO_OUTS="$(xrandr | awk '/ connected/{print $1}')"
když necháš před tím connected mezeru tak ti to do proměnné uloží jenom aktivní video výstupy. Stačí potom přepojit monitor do jinačího výstupu a hned vidíš co se dějě na obrazovce.
Taky moc nechápu, naco je tam skoro za každým druhým příkazem to || truetá smyčka for se nějak přeruší pokud nějaký příkaz uvnitř vrátí false neboco? Zkoušels to vůbec spustit? Já jo a nezamyká to nic.
To vypadá jak nějaký AI výplod
imo to bude ta chrpnikova llama :D ;D
xset dpms force off).