Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.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.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.
Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
# If you connect a display to one of the outputs wired to the Nvidia card, you
# have to comment this whole file. Note that you can leave it commented even
# without currently attached monitor, at the cost of greater optirun startup
# time.
Section "InputClass"
Identifier "IgnoreDevices"
MatchDevicePath "/dev/input/event*|/dev/input/mouse*|/dev/input/js*|/dev/input/mice*"
Option "Ignore" "true"
EndSection
Když jsem ho zakomentoval, tak začala klávesnice a myš fungovat na :0 i na :8 současně. Já potřebuji, aby fungovala buď na jednom nebo druhém monitoru. Jde to? Googlením nemůžu nic najít nebo nevím co přesně hledat.
PS: Nepotřebuji myší volně přejíždět mezi :0 a :8, ani nepotřebuji přetahovat okna mezi nimi, chci aby displeje od sebe zůstaly izolované.
Řešení dotazu:
pouziva tam starej postup, kdyz tak o odpoved nize, tam uz pouziva --enable a --disable a zaroven ne pred ciselne ID (ktere se muze zmenit a musel by ho v "hotkey skriptu" detekovat) ale primo nazev...DISPLAY=:0 xinput --disable "TPPS/2 IBM TrackPoint"pro detekci zda je zakazano:
DISPLAY=:0 xinput --list --long "TPPS/2 IBM TrackPoint" | grep disabledtakze to jen zkombinovat do skriptu, detekovat zda je na :0 mys aktivni:
(pripravenej failback script prirazenej primo danemu ssh spojeni v klientovi)#!/bin/sh
keyboard="AT Translated Set 2 keyboard"
mouse="TPPS/2 IBM TrackPoint"
switch(){
DISPLAY=:0 xinput --${1} "${keyboard}"
DISPLAY=:0 xinput --${1} "${mouse}"
DISPLAY=:8 xinput --${2} "${keyboard}"
DISPLAY=:8 xinput --${2} "${mouse}"
}
(DISPLAY=:0 xinput --list --long "${mouse}" | grep -q disabled) && switch enable disable || switch disable enable
#!/bin/sh
set -e
keyboard="AT Translated Set 2 keyboard"
mouse="TPPS/2 IBM TrackPoint"
switch(){
DISPLAY=:${1} xinput --enable "${keyboard}"
DISPLAY=:${1} xinput --enable "${mouse}"
DISPLAY=:${2} xinput --disable "${keyboard}"
DISPLAY=:${2} xinput --disable "${mouse}"
}
(DISPLAY=:0 xinput --list --long "${mouse}" | grep -q disabled) && switch 0 8 || switch 8 0
kdyz se sekne tak poresit pres SSH ?Tak už se mi to stalo(pripravenej failback script prirazenej primo danemu ssh spojeni v klientovi)
, ale SSH není třeba, stačí to vyřešit přes virtuální terminál (Ctrl-Alt-F2).
) jestli jde o sejne jmeno pro klavesnici a mys, tak to by melo jit ze v jmeno uvedes o co jde "pointer:Genius", "keyboard:Genius"...
jestli mas 2 klavesnice tak nemusis nic prepinat neDokonce 4 klávesnice
...ale jen podle výpisu. Fyzicky jednu.
jde "pointer:Genius", "keyboard:Genius"...Nee, samotná klávesnice má úplně stejné názvy + další dva názvy (asi multimediální klávesy a ještě něco). S tím "vt8" se mi to už povedlo a funguje to. Při přepínání Ctrl-Alt-F7 .. F8 sám Xorg vypisuje že připojuje/odpojuje klávesnici, myš a dokonce i USB DVB-T. Otestuju to a pak označím řešení i když vídím, že už někdo projevil iniciativu
Třeba když se přepínací script sekne, tak bych zůstal bez klávesnice a myši.Daj volat s timeout. Ak to sekne, ukonci to po case 20s timeout a nejako to osetris, co bude robit ak sekne.
. Přikládám script, který pro mne funguje pomocí metody xinput. Poznatky s metodou xinput i s VT je i přímo ve scriptu - v helpu. Mám ještě jednu otázečku (úplně dole v tomto příspěvku).
Script:
#!/bin/sh
# Pokud se kláv. nebo myš objevuje ve výpisu "xinput --list" vícekrát, tak uveď
# tu část názvu, která je shodná u všech.
# Pokud je připojeno více HW klávesnic a myší a je požadavek je přepínat všechny,
# tak lze použít krátký společný název pro všechny, např. "Keyboard" a "Mouse"
keyboard="Logitech USB Keyboard"
mouse="Logitech G700 Laser Mouse"
display_main="0"
display_b="8"
switch(){
# default keyboard/pointer je pro případ, že v /etc/bumblebee/xorg.conf.nvidia bude Option "AutoAddDevices" "false".
# devlist_* je pro případ, že jedno fyzické zařízení bude v systému jako více zařízení podobných nebo stejných názvů.
devlist_mouse_1=$(DISPLAY=:"$1" xinput --list | grep "$mouse\|default pointer" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
devlist_keyboard_1=$(DISPLAY=:"$1" xinput --list | grep "$keyboard\|default keyboard" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
devlist_mouse_2=$(DISPLAY=:"$2" xinput --list | grep "$mouse\|default pointer" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
devlist_keyboard_2=$(DISPLAY=:"$2" xinput --list | grep "$keyboard\|default keyboard" | sed -n 's/.*id=\([0-9]\+\).*/\1/p')
if [[ "$devlist_mouse_1" == "" && "$devlist_keyboard_1" == "" ]]; then
echo "Mouse and keyboard not found on DISPLAY :$1 or unable to connect to X server."
else
for dev in $devlist_mouse_1 $devlist_keyboard_1
do
DISPLAY=:"$1" xinput --enable "$dev"
done
if [[ "$devlist_mouse_2" == "" && "$devlist_keyboard_2" == "" ]]; then
echo "Mouse and keyboard not found on DISPLAY :$2 or unable to connect to X server."
else
for dev in $devlist_mouse_2 $devlist_keyboard_2
do
DISPLAY=:"$2" xinput --disable "$dev"
done
fi
fi
}
case "$1" in
--switch-on-main)
switch "$display_main" "$display_b"
;;
--switch)
# Pokud má myš stejný název pro různá ID, tak by příkaz s "--long" nefungoval. Vypisoval by
# chybu: "Warning: There are multiple devices matching ..."
#if ( DISPLAY=:"$display_main" xinput --list --long "$mouse" | grep -q disabled ) ; then
id=$(DISPLAY=:"$display_main" xinput --list | grep "$mouse" | sed -n '1 s/.*id=\([0-9]\+\).*/\1/p')
if [[ $(DISPLAY=:"$display_main" xinput list-props $id | grep 'Device Enabled' | awk '{print $4}') == "0" ]]; then
switch "$display_main" "$display_b"
else
switch "$display_b" "$display_main"
fi
;;
--help|-h|*)
echo "Použití: $0 [OPTION]"
echo
echo 'Tento script přepne klávesnici a myš předdefinovaného názvu mezi instancemi'
echo 'Xorg spuštěnými na iGPU Intel (DISPLAY :0) a dGPU Nvidia (DISPLAY:8).'
echo
echo 'Při použití Nvidia-Bumblebee je tento script potřeba pouze když chceme'
echo 'používat monitor připojený přímo k dGPU. Výsledkem je nejnižší možná latence.'
echo 'Pro zprovoznění je potřeba:'
echo '- v souboru /etc/bumblebee/xorg.conf.nvidia'
echo ' zakomentovat řádek (nebo vložit správný port):'
echo ' Option "ConnectedMonitor" "DFP"'
echo ' změnit na true:'
echo ' Option "UseEDID" "false"'
echo ' Option "AutoAddDevices" "false" #bez toho by v "xinput --list" bylo: default keyboard/mouse'
echo ' přidat řádek:'
echo ' Option "AllowEmptyInitialConfiguration'
echo '- zakomentovat obsah souboru /etc/bumblebee/xorg.conf.d/10-ignore-devices.conf'
echo '- aplikace na dGPU Nvidia spouštět příkazem: DISPLAY=:8 optirun <application>'
echo '- další aplikace na dGPU Nvidia lze spouštět příkazem: DISPLAY=:8 <application>'
echo
echo 'OPTION:'
echo ' -h --help zobrazí tuto nápovědu'
echo ' --switch-on-main zapne klávesnici a myš na DISPLAY :0 a vypne na DISPLAY :8'
echo ' (vhodné použít při prvním spuštění procesu "Xorg :8", aby'
echo ' klávesnice a myš nefungovaly zdvojeně na na obou diplejích)'
echo ' --switch přepíná klávesnici a myš mezi DISPLAY :0 a DISPLAY :8 (při'
echo ' prvním spuštění se zapne na DISPLAY :8 a vypne na DISPLAY :0)'
echo
echo 'Vytvoření klávesové zkratky:'
echo '1) Pomocí programu, který je závislý na Xorg (např. windows managery, Xbindkeys)'
echo ' hrozí, že pokud bude klávesnice a myš na DISPLAY :8 a proces'
echo ' "Xorg :8" bude ukončen, tak se nepůjde přepnout zpět na "Xorg :0".'
echo ' Nepůjde se přepnout ani na volný textový VT (tty2) a spustit tento'
echo ' script ručně. Nejjednodušší je vypojit a znovunapojit klávesnici/myš z USB portu.'
echo ' Nvidia-Bumblebee ve výchozím nastavení ukončí "Xorg :8" automaticky pokud na'
echo ' DISPLAY :8 již neběží žádný jiný proces.'
echo '2) Pomocí programu, který není závislý na Xorg (např. acpid, actkbd).'
echo
echo 'Varování:'
echo 'Pokud bych se přepl na textový terminál (např. tty2) a zapl tento script, tak'
echo 'všechny vstupy z klávesnice i myši se projeví na tty2 i na displeji :0/:8.'
echo 'Podobná situace s duplicitou vstupů na obou displejích :0 a :8 nastane když:'
echo '- napojím/znovunapojím klávesnici nebo myš,'
echo '- poprvé spustím (nebo bumbebee spustí) proces "Xorg :8".'
echo
echo 'Poznámka (jiná možnost přepínání):'
echo 'Pro přepínání klávesnice a myši lze použít i virtuální terminály (VT) a přepínat'
echo 'tty7 a tty8 (Ctrl+Alt+F7/F8). V tom případě se nepoužívá optirun, ale přímo Xorg:'
echo '1) z textového VT (tty1-tty6) příkazem:'
echo ' /usr/lib/Xorg :8 vt8 -config /etc/bumblebee/xorg.conf.nvidia -configdir \'
echo ' /etc/bumblebee/xorg.conf.d -nolisten tcp -noreset -verbose 3 -isolateDevice \'
echo ' PCI:01:00:0 -modulepath /usr/lib/nvidia/xorg,/usr/lib/xorg/modules'
echo '2) nebo z grafického (tty7) pomocí systemd:'
echo ' systemd-run --property PAMName=login \'
echo ' --property User=<my-user> \'
echo ' --property StandardInput=tty \'
echo ' --property TTYPath=/dev/tty8 \'
echo ' sh -c "chvt 8 && /usr/lib/Xorg :8 vt8 -config /etc/bumblebee/xorg.conf.nvidia \'
echo ' -configdir /etc/bumblebee/xorg.conf.d -nolisten tcp -noreset -verbose 3 \'
echo ' -isolateDevice PCI:01:00:0 -modulepath /usr/lib/nvidia/xorg,/usr/lib/xorg/modules"'
echo 'Samotná aplikace se spouští bez optirun příkazem: DISPLAY=:8 <application>'
echo 'Při přepínání pomocí VT tento script není nutný, protože o přepínání klávesnice'
echo 'a myši se stará VT v kernelu. Při použití VT je v jeden okamžik vidět výstup jen'
echo 'na jednom monitoru (iGPU[:0] nebo dGPU[:8]). Na druhém monitoru je černá obrazovka.'
exit 0
esac
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ <default pointer> id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ <default keyboard> id=7 [slave keyboard (3)]
Neexistuje někde v nastavení virtuálních konzolí v kernelu nebo v Xorg možnost, aby se grafický výstup na neaktivní tty nevypínal?Když nad tím přemýšlím, tak to z principu asi nepůjde. Když se přepnu na tty8, tak asi těžko půjde nastavit, aby tam zůstala grafika z tty7.
Tiskni
Sdílej: