Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.
Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Kdysi dávno (před více než pěti lety) jsem hledal způsob, jak spustit nějaký příkaz po restartu systému jako běžný uživatel - ne root. Nic čistého jsem nenašel a tak jsem dal do cronu "každých 10 minut kontroluj, jestli běží proces a kdyžtak ho nahoď". Pak jsem se stal rootem a naučil se psát rc scripty, ale teď se dívám do manuálu od cronu a co nevidím:
[...]
Instead of the first five fields, one of eight special
strings may appear:
string meaning
------ -------
@reboot Run once, at startup.
[...]
To řeší hned dva problémy. Jednak uživatel nepotřebuje být rootem, aby se dostal k této "službě" a druhak to řeší můj problém s Debianem. Ten totož neobsahuje (aspoň co já vím) žádný evivalent něčeho jako je /etc/rc.local, kam ve své Fedoře dávám všechno, co mi nestojí za psaní rc scriptu.
Teď jenom doufám, že jsem neobjevil kolo. 
Tiskni
Sdílej:
Navíc se dokumentace nezmiňuje, jak crond pozná, že byl opravdu spuštěn v rámci inicializačních skriptů po startu systému a ne ručně později. To mi připadá dost důležité.
Navíc se dokumentace nezmiňuje, jak crond pozná, že byl opravdu spuštěn v rámci inicializačních skriptů po startu systému a ne ručně později. To mi připadá dost důležité.
Na implementaciu som sa nepozeral, ale nepise si to crond niekde do /var/... ?
Vždy při spuštění cronu se spustí fce run_reboot_jobs(db), a v té stojí:
run_reboot_jobs(db)
cron_db *db;
{
register user *u;
register entry *e;
int rbfd;
#ifdef DEBIAN
#define REBOOT_FILE "/var/run/crond.reboot"
/* Run on actual reboot, rather than cron restart */
if (access(REBOOT_FILE, F_OK) == 0) {
/* File exists, return */
log_it("CRON", getpid(),"INFO",
"Skipping @reboot jobs -- not system startup");
return;
}
/* Create the file */
if ((rbfd = creat(REBOOT_FILE, S_IRUSR&S_IWUSR)) < 0) {
/* Bad news, bail out */
log_it("CRON",getpid(),"DEATH","Can't create reboot check file")
;
exit(0);
} else {
close(rbfd);
log_it("CRON", getpid(),"INFO", "Running @reboot jobs");
}
Debug(DMISC, ("[%d], Debian running reboot jobs\n",getpid()));
#endif
Debug(DMISC, ("[%d], vixie running reboot jobs\n", getpid()));
for (u = db->head; u != NULL; u = u->next) {
for (e = u->crontab; e != NULL; e = e->next) {
if (e->flags & WHEN_REBOOT) {
job_add(e, u);
}
}
}
(void) job_runqueue();
}
Z toho mi vychází, že pokud cron není v Debianu, tak spustí reboot jobs vždycky a pokud je, tak si to hlídá vytvořením souboru /var/run/crond.reboot, který mu zřejmě debianí rc.init někde smaže. Tato modicikace je součástí debianího diffu. Taky je možné, že si to na jiných systémech hlídá jinak podobně.