Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.
Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
if ((k == 65)) # UP a if ((k == 66)) # DOWN
DíkyCo třeba tohle ?Co to s tím má společného? Potřebuji rozlišit poznat co se stisklo na kláesnici za tlačítko..
A co takhle zkusit požadovaou klávesu stisknout a podívat se, co dostanu?
to jsem samozřejmě zkoušel jako první, ale tam bude problém patrně někde jinde.. Proměnná vypisuje spustu čísel současně :(
Spusti si xev , stlac danu klavesu a kod si zaznamenaj.
root@debian:~# xev -bash: xev: příkaz nenalezen root@debian:~# root@debian:~# aptitude install xev K balíku xev nebyla nalezena kandidátská verze K balíku xev nebyla nalezena kandidátská verze Žádné balíky se nebudou instalovat, aktualizovat nebo odstraňovat. 0 balíků aktualizováno, 0 nově instalováno, 0 k odstranění a 0 neaktualizováno. Potřebuji stáhnout 0 B archivů. Po rozbalení bude použito 0 B.
A co tak dát hledat a nalézt asi X11-utils…No a co jako s tím X11-utils? Hledám xev ne X11-utils...
This package provides a miscellaneous assortment of X utilities that ship with the X Window System, including: - appres, editres, listres and viewres, which query the X resource database; - luit, a filter that can be run between an arbitrary application and a UTF-8 terminal emulator; - xdpyinfo, a display information utility for X; - xdriinfo, query configuration information of DRI drivers; - xev, an X event displayer; …
Tak jdu instalovat, snad to k něčemu bde. díky
Jinak jsem naistaloval desktop a zjistitl jsem, že user Pepe_ je patrně kouzelník, jelikož já jsem třeba dostal pro šipku nahoru číslo keycode 111 ne 65, a třeba pro F1 keycode 67.
Když vytvořím podmíky
(( k == 65 )) && echo "#Up" (( k == 66 )) && echo "#Down" tato už nefunguje, proč? (( k == 67 )) && echo "#F1"
Třeba mu pomůže toto , neb konstrukce které se drží je pro konkrétní požadavek a je zmatečná.
#!/bin/bash
trap "stty $(stty -g)" EXIT
stty -echo -icanon time 2 || exit $?
KEYS=""
IFS=$'\a'
echo "Esc pro ukončení." >&2
while [ 1 ]; do
while read -t 0 ; do
read -s -r -d "" -N 1 -t 0.2 CHAR && KEYS="$KEYS$CHAR" || break
done
if [ -z "$KEYS" ]; then
sleep 0.05
continue
fi
case "$KEYS" in
$'\x1B\x5B\x41'*)
KEYS="${KEYS##???}"
echo "Nahoru"
;;
$'\x1B\x5B\x42'*)
KEYS="${KEYS##???}"
echo "Dolu"
;;
$'\x1B\x5B\x44'*)
KEYS="${KEYS##???}"
echo "Vlevo"
;;
$'\x1B\x5B\x43'*)
KEYS="${KEYS##???}"
echo "Vpravo"
;;
$'\x1B\x4F\x48'*)
KEYS="${KEYS##???}"
echo "Home"
;;
$'\x1B\x5B\x31\x7E'*)
KEYS="${KEYS##????}"
echo "(Numpad HOME)"
;;
$'\x1B\x4F\x46'*)
KEYS="${KEYS##???}"
echo "End"
;;
$'\x1B\x5B\x34\x7E'*)
KEYS="${KEYS##????}"
echo "(Numpad END)"
;;
$'\x1B\x5B\x45'*)
KEYS="${KEYS#???}"
echo "(Numpad 5)"
;;
$'\x1B\x5B\x35\x7e'*)
KEYS="${KEYS##????}"
echo "PageUp"
;;
$'\x1B\x5B\x36\x7e'*)
KEYS="${KEYS##????}"
echo "PageDown"
;;
$'\x1B\x5B\x32\x7e'*)
KEYS="${KEYS##????}"
echo "Insert"
;;
$'\x1B\x5B\x33\x7e'*)
KEYS="${KEYS##????}"
echo "Delete"
;;
$'\n'*|$'\r'*)
KEYS="${KEYS##?}"
echo "Enter"
;;
$'\t'*)
KEYS="${KEYS##?}"
echo "Tab"
;;
$'\x1B')
KEYS="${KEYS##?}"
echo "Esc - Ukončení"
exit 0
;;
$'\x1B'*)
echo -n "Neznámá sekvence (${#KEYS} znaků): \$'"
echo -n "$KEYS" | od --width=256 -t x1 | sed -e '2,99 d; s|^[0-9A-Fa-f]* ||; s| |\\x|g; s|$|'"'|"
KEYS=""
;;
[$'\x01'-$'\x1F'$'\x7F']*)
KEYS="${KEYS##?}"
;;
*)
KEY="${KEYS:0:1}"
KEYS="${KEYS#?}"
echo "'$KEY'"
;;
esac
done
Nejlepěí by bylo použít na ten vstup nějaké řešení ne v bash ale v plnohodnotném jazyce...
Když už tak raději udělám něco za pomoci programu DIALOG ve smyslu :
INPUT=/tmp/menu.$$ ; dialog --title "Testovací menu" --menu "Vyberte položku:" 0 0 0 --file ./list.mnu 2>"${INPUT}" ; selected=$(<"${INPUT}") ; echo "Vybral jste položku: $selected"
Tiskni
Sdílej: