Byla vydána (𝕏) nová verze 2025.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.
Dánské ministerstvo pro digitální záležitosti má v plánu přejít na Linux a LibreOffice [It's FOSS News].
V úterý Google vydal Android 16. Zdrojové kódy jsou k dispozici na AOSP (Android Open Source Project). Chybí (zatím?) ale zdrojové kódy specifické pro telefony Pixel od Googlu. Projekty jako CalyxOS a GrapheneOS řeší, jak tyto telefony nadále podporovat. Nejistá je podpora budoucích Pixelů. Souvisí to s hrozícím rozdělením Googlu (Google, Chrome, Android)?
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.101 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.101 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.
Zdravim mohl byste mi nekdo poradit jak se da resit programek v cecku abych si pri spusteni navolil v prikazove radce jaky pseudo terminal se bude pouzivat ( ptsX ). Program se pak propoji na dalsi pseudo terminal a navzajem si posilaji data.
Presne zadani zde:
........................................Napište program, teletype. Tento program otevře sériový port a vyšle na něj každý z klávesnice zapsaný znak a vypíše každý jednotlivý znak ze sériové linky přijatý. Pomocí sériového kabelu propojte COM1 a COM2 a spusťte 2 instance programu teletype. Který COM se bude používat specifikujte z příkazové řádky při spouštění programu.
________________Vim jak udelat abych se propojil na terminal a cetl z nej znaky ale nevim jak udelat aby jsme mohl navzajem mezi terminali prijimat i odesilat. Snad pomoci fce select? Prosim poradte, ( nechci to naprogramovat, jen nakopnout), zatim je to pro me spanelska vesnice. Dekuji
EXAMPLE #include <stdio.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> int main(void) { fd_set rfds; struct timeval tv; int retval; /* Watch stdin (fd 0) to see when it has input. */ FD_ZERO(&rfds); FD_SET(0, &rfds); /* Wait up to five seconds. */ tv.tv_sec = 5; tv.tv_usec = 0; retval = select(1, &rfds, NULL, NULL, &tv); /* Don't rely on the value of tv now! */ if (retval == -1) perror("select()"); else if (retval) printf("Data is available now.\n"); /* FD_ISSET(0, &rfds) will be true. */ else printf("No data within five seconds.\n"); return 0; }
#define BUF_LEN 200 struct termios set_attributes; int main(int argc, char *argv[]) { char *ttyID; char buffer[BUF_LEN]; int result; fd_set terminal, klavesnice; struct timeval timeout; /* Struktura s časovým limitem */ size_t len; ttyID = argv[1]; /* Nacteme ttyID pseudo terminalu */ int tty = open(ttyID, O_RDWR); // nastav nove parametry terminalu tcgetattr(tty, &set_attributes); set_attributes.c_lflag &= ~ICANON; // necekej na cely radek (noncanonical) //set_attributes.c_lflag &= ~ECHO; // nezobrazuj ctene znaky set_attributes.c_cc[VMIN] = 1; set_attributes.c_cc[VTIME] = 0; tcsetattr(tty, TCSAFLUSH, &set_attributes); while(1){ FD_ZERO(&terminal); /* Odstranime nahodna data z mnoziny */ FD_ZERO(&klavesnice); /* Odstranime nahodna data z mnoziny */ FD_SET(fileno(stdin), &klavesnice); /* Naplnime mnozinu stdin */ FD_SET(tty, &terminal); /* Naplnime mnozinu ttyckem */ // Nadefinovany casovy interval 4 sekundy a 5 milis.. timeout.tv_sec = 4; timeout.tv_usec = 50000; // Zavolám select (V Linuxu musím mít nastavenou proměnnou FD_SETSIZE) --- tezko rict co je na tom pravdy result = select(FD_SETSIZE, &klavesnice, &terminal, NULL, &timeout); switch(result){ case -1: perror("select"); /* Nastala chyba */ exit(1); case 0: printf("timeout \n"); /* Vypršel časový limit */ break; default: /* Obsluha soketu. Zde je možné vytvořit nové vlákno nebo proces, který obslouží událost na soketu. Server pak je vícevláknový. */ if (FD_ISSET(fileno(stdin), &klavesnice)) { /* Data available on stdin */ char a; read(fileno(stdin), &a, sizeof(a)); write(tty, &a, sizeof(a)); } if (FD_ISSET(tty, &terminal)) { char c; read(tty, &c, sizeof(c));/*:!*/ if(c == '\004') { // `C-d' // program skonci az prijme Ctrl-D break; } else { putchar(c); // vyprazdni vystupni buffer // a zpusob tak zobrazeni znaku // i v nekanonickem modu terminalu fflush(stdout); } } break; } } }
. . . switch(select(1, &rfds, NULL, NULL, &tv)) { case -1: perror("select()"); return -1; /* no break */ case 0: printf("No data in 5 sec.\n"); break; default: printf("DAATAAA!!!.\n"); /* FD_ISSET(0, &rfds) will be true. */ break; } return 0; . . .
hlavicky void *readFromTERMINAL( void *ptr ) { char *terminal; terminal = (char *) ptr; int tty = open(terminal, O_RDONLY);/*:!*/ if(tty < 0) { perror("ERROR open device /dev/ttyS1"); exit(EXIT_FAILURE); } while(1) { char c; read(tty, &c, sizeof(c)); if(c == '\004') { // `C-d' // program skonci az prijme Ctrl-D close(tty); break; } else { putchar(c); // vyprazdni vystupni buffer // a zpusob tak zobrazeni znaku // i v nekanonickem modu terminalu fflush(stdout); } } close(tty); } int main(int argc, char *argv[]) { pthread_t thread1, thread2; char *parametr; parametr = argv[1]; // vlakno cte z daneho portu a vypisuje na terminal pthread_create( &thread1, NULL, readFromTERMINAL, parametr); pthread_join(thread1, NULL); printf("\nKonec\n"); return EXIT_SUCCESS; }
moje_skvela_utilita </dev/bagr/jahoda/konzole >/dev/bagr/jahoda/konzole
Tiskni
Sdílej: