Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).
Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).
systemctl status bumblebeed
● bumblebeed.service - Bumblebee C Daemon
Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-07-22 10:33:32 CEST; 1 day 13h ago
Main PID: 656 (bumblebeed)
Tasks: 1 (limit: 18816)
Memory: 17.2M
CGroup: /system.slice/bumblebeed.service
└─656 /usr/bin/bumblebeed --use-syslog
Ta služba si spouští další proces "Xorg :8 -config...", takže výpis pak vypadá takto:
systemctl status bumblebeed
● bumblebeed.service - Bumblebee C Daemon
Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-07-22 10:33:32 CEST; 1 day 11h ago
Main PID: 656 (bumblebeed)
Tasks: 2 (limit: 18816)
Memory: 30.6M
CGroup: /system.slice/bumblebeed.service
├─ 656 /usr/bin/bumblebeed --use-syslog
└─52090 /usr/lib/Xorg :8 -config ...
Já bych potřeboval spustit svůj bash script ve chvíli kdy si služba bumblebeed spustí proces "Xorg :8 -config...". Existuje nějaká taková možnost v systemd? Vím, že existuje "Before", "After", ale to v tomto případě asi nepomůže.
Řešení dotazu:
Ten hlavní proces bumblebeed (nastartovaný systemd) zůstává pořád běžet?Ano, zůstává pořád běžet. Výpis služby vypadá takto:
systemctl cat bumblebeed # /usr/lib/systemd/system/bumblebeed.service [Unit] Description=Bumblebee C Daemon [Service] Type=simple ExecStart=/usr/bin/bumblebeed --use-syslog Restart=always RestartSec=60 [Install] WantedBy=multi-user.target
Potřebuji tudíž ihned po spuštění nové instance Xorg :8 spustit můj script, který na něm vypne klávesnci a myš.To vypadá jako rovnák na ohejbák. Nešlo by zařídit, aby se tam ta klávesnice a myš vůbec nepřipojila?
# 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
Jenomže, pak nefunguje klávesnice a myš na "Xorg :8" vůbec a nevím o tom, že by šla nějak zapnout bez resetu Xka. Já potřebuji přehazovat jednu klávesnici a jednu myš mezi oběma Xkama. Script na přepínání už mám hotový (řešil jsem v tom vedlejším vlákně). Jedině, že by existoval nějaký parametr při spuštění Xorg, něco jako "/usr/lib/Xorg :8 -disable input ...", ale jak jsem googlil, tak jsem nic takového nenašel. Všichni vypínají klávesnice, myši a touchpady pomocí xinput. Takže z toho mně vyplývá, že jediná varianta je:
- nejdřív musím zapnout "Xorg :8",
- potom pomocí xinput vypnout klávesnici a myš.
Myslel jsem, že jsem se spletl a ty znáš nějaké řešení.
Jde o to, že když vytvoříš ten conf soubor co je i v tom tvém odkazu, tak tím řekneš Xku, aby vůbec nenačetl vstupní zařízení. Takže výpis ukazuje toto:
DISPLAY=:8 xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
Tudíž tam není načtena žádná klávesnice ani myš a proto nemohu příkazem xinput --enable žádné zařízení zapnout.
startx ale přímo příkaz "/usr/lib/Xorg :8 ..." - viz níže v diskuzi.
DE na "Xorg :8" nespouštím. Spouštím tam jen windows managera (xfwm4) a daný program si spustím z "Xorg :0". Jako trochu jsem uvažoval, že na :8 spustím DE, ale:
za a) to teď nepotřebuji
za b) XFCE mi běží na "Xorg :0" a nejsem si jistý jestli je správné (bezpečné) spouštět XFCE ve druhé instanci na "Xorg :8" pod stejným uživatelem. Znamenalo by to, že obě instance budou používat stejné konfiguráky a nerad bych si XFCE rozhodil. Mohl bych použít jiný DE, ale zase mít 2 různé prostředí mně nepřijde moc přívětivé.
startx nebo xinit nebo si je spouští display manager. Samotný proces /usr/lib/Xorg je nenačítá.
xinitrc přidat něco jako
PROCS=$(ps -aux);
TEST=$(echo -n "$PROCS" | grep "Xorg :8");
if [ -n "$TEST" ]; then
transfer_input.sh
fi
ale je to taky docela hack.
$HOME/.xinitrc i do /etc/X11/xinit/xinitrc. Nenačítá se xinitrc náhodou jen když se Xko startuje příkazem startx? Bumblebee si dané Xko spouští napřímo, takto:
/usr/lib/Xorg :8 -config /etc/bumblebee/xorg.conf.nvidia \ -configdir /etc/bumblebee/xorg.conf.d -sharevts -nolisten tcp \ -noreset -verbose 3 -isolateDevice PCI:01:00:0 \ -modulepath /usr/lib/nvidia/xorg,/usr/lib/xorg/modules
To jsem psal o komentáře výše, že jsem "Zkoušel jsem dát do $HOME/.xinitrc i do /etc/X11/xinit/xinitrc."
ExecStartPost pustít skript, který počká, dokud druhý Xorg nenastartuje a pak překonfiguruje vstupní zařízení.
ps aux | grep "Xorg :8", tak to mi moc nepomůže, protože služba bumblebeed.service se spouští hned při startu PC takže to bych ten script, který bude ve smyčce kontrolovat mohl zrovna spustit po nabootování a vyšlo by to nastejno.
Asi to udělám tak, že vytvořím wraper "muj_optirun.sh" o kterém jsem psal navrchu téhle diskuze. Stejně potřebuji při prvním spuštění "Xorg :8" spustit i windows manager, tak to dám všechno do toho wraperu. Zdá se mi to asi nejelegantnější řešení pokud to pomocí systemd nejde.
<fuj>optirun taky dělá že bumblebeed votevře socket byse toho možná dalo využít :O :O
ss | grep bum u_str ESTAB 0 0 /var/run/bumblebee.socket
</fuj>
[Unit] ConditionPathExists=/etc/sysconfig/cloudformationale mělo by to ověřovat jen při startu služby a přidávat k tomu timery bych dosáhl stejného efektu jako kdyby to kontroloval bash script ve smyčce. Ale existuje Path unit , která interně využívá inotify. Tohle se mi nezdá být až tak fuj. Nebo je na inotify (Path_unit) něco špatného?
/var/run/bumblebee.socket nebo ps aux | grep "Xorg :8", tak to vyjde nastejno.
/tmp/.X11-unix/X8. Jo to už *.path (inotify) zachytí a funguje to. Pokud se na jméno tohoto souboru dá spolehnout, tak takhle by to šlo.
$ cat ~/.config/systemd/user/bumblebee.path
[Unit] Description=Monitors whether /tmp/.X11-unix/X8 file (socket) exists. [Path] PathExists=/tmp/.X11-unix/X8 Unit=bumblebee-disable-kbd-mouse.service [Install] WantedBy=multi-user.target
$ cat ~/.config/systemd/user/bumblebee-disable-keyb-mouse.service
[Unit] Description=Executes script when a file (/tmp/.X11-unix/X8) defined in the bumblebee.path file exists. [Service] Type=simple ExecStartPre=/bin/sleep 1 ExecStart=/path/to/script/disable-kbd-mouse-xorg-8.sh [Install] WantedBy=multi-user.target
$ systemctl --user enable bumblebee.path
Tiskni
Sdílej: