abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 15:00 | Zajímavý článek

    Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.

    Ladislav Hagara | Komentářů: 5
    9.5. 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 2
    9.5. 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 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.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 580 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    26.12.2009 18:17 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: formátování u blogů

    Jinak pozor v odpovídání na příspěvky ten text v příloze projde, neprojde u mě pouze v blogu.

    Sem ho vložím OK akorát ho to trochu zmrší

    Jak jsem stavěl HTPC

    Protože mi nevyhovoval můj rekordér tak jsem se rozhodl postavit si vlastní, neboť i kupované mi nevyhovovaly z důvodu buď velké ceny a nebo z důvodu programování (málo pozic, nemožné některé kombinace atd....)

    Takže na čem to postavit aby to bylo levné a použitelné?

    Po prohlédnutí různých MB jsem se rozhodl pro ASUS AT3N7A-I kterou jsem zavřel s TV kartou AverTV Hybrid+FM PCI A16D kterou už jsem měl koupenou. Vše jsem to vestavěl do skříně s 200W zdrojem a zde nastal první problém, dle manuálu od MB tato deska potřebuje 400W zdroj ! A nebo aspoň na větvi +12V zdoj co dodá 15A což můj nesplňuje dodá pouze 10A ovšem to mě neodradilo a seskládal jsem to dohromady s tím že pokud s toho nebudu ždímat maximum a připojovat hromadu věcí tak by to zdroj měl utáhnout.

    No zatím to šlape ovšem co za OS?

    No než jsem tam nainstaloval linux tak jsem vyskoušel windows, měl jsem windows visty basic 32b které nechodily nic moc, instalace windows XP tak to chodilo o hodně rychleji, ovšem SW se mi nepozdával tak jsem přikročil k instalaci linuxu.

    Takže co tam nainstalovat no rozhodl jsem se že vyskouším mythbuntu ovšem to se mi nepovedlo rozchodit a nějak jsem nepátral proč a odložil jsem ho. No a rozhodl jsem se nainstalovat svoji oblíbenou distribuci Fedora 11 64b.

    No po instalaci jsem sprovoznil TV kartu a pomocí mencoderu nahrávám OK ovšem co s toho když budu chtít nahrát něco když nejsem doma?

    No protože pro HTCP nic moc není tak jsem se rozhodl že vyskouším mythtv.

    Ovšem pod fedorou jsem to taky nerozchodil, lépe řečeno rozchodil i naladil analogové programy ovšem jak jsem je chtěl přepnout v mythtv tak to hodilo vždy chybu zobrazení.

    Takže jsem se na to vykašlal a budu nahrávat přímo pomocí mencoderu a cronu.

    Toto má několik úskalí, zatím do cronu zadávám vše ručně pomocí crontab -e a napsal jsem si skrypt který provede záznam, nazval jsem ho záznam a umístil do svého domovského adresáře do složky bin.

    Soubor zaznam v /home/petr/bin

    #!/usr/bin/perl
    
    die "$0 má špatný počet parametrů.\n\nSprávně má být:\n$0 Kanál norma délka_záznamu\n$0 E5 PAL-DK 01:00:00\n\n" if @ARGV != 3;
    
    
    $soubor_avi=`LC_TIME="cs_CZ.UTF-8" date +%A-%d.%m.%Y-%H:%M.avi`;
    
    if ( not (`ps -A | grep "mencoder"` or `ps -A | grep "mplayer"`)) { system "mencoder tv://$ARGV[0] -tv driver=v4l2:norm=$ARGV[1]:input=0:alsa:adevice=hw.1,0:audiorate=32000:forceaudio:immediatemode=0 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=3000 -oac mp3lame -lameopts cbr:br=128 -endpos $ARGV[2] -o /home/petr/Videa/$soubor_avi >/dev/null 2>>/home/petr/error.txt";
    
    }
    
    # Uzivatelsky cron podle ktereho budeme spoustet PC
    $SOUBOR_CRON="/tmp/petr_crontab.txt";
    
    # Pri debug 1 vypisujeme co delame (0 = jsme potichu)
    $DEBUG=0;
    
    
    system "crontab -l > /tmp/petr_crontab.txt";
    
    open(DATA, "<", $SOUBOR_CRON) or die "Nelze otevřít soubor: $!";
    
    $cas=0;
    $starycas=0;
    
    while ($radek=<DATA>) {
    
    chomp $radek;
    
    # je neco na radku - spracujeme
    if (length($radek)>0) {
    if ($DEBUG==1) { print $radek . "\n"; }
    
    use Schedule::Cron::Events;
    
    my $cron = new Schedule::Cron::Events( $radek, Seconds => time());
    my ($sec, $min, $hour, $day, $month, $year) = $cron->nextEvent;
    if ($DEBUG==1) { printf("Další start: %2d:%02d:%02d on %d.%02d.%d\n", $hour, $min, $sec, $day, ($month+1), ($year+1900)); }
    
    # turn a local date into a Unix time
    use Time::Local;
    my $epochSecs = timelocal($sec, $min, $hour, $day, $month, $year);
    if ($DEBUG==1) { print "počet " . $epochSecs . " sekund co je " . localtime($epochSecs) . "\n"; }
    
    # Vybirame nejdrivejsi cas
    if ($starycas==0) { $starycas=$epochSecs; $cas=$epochSecs; }
    if ($epochSecs<$starycas) { $cas=$epochSecs; $starycas=$epochSecs; }
    
    
    # konec spracovani radku
    }
    # konec spracovani souboru
    }
    close DATA;
    
    if ($DEBUG==1) { print "Ted je cas: " . time() . "\n"; }
    
    # Odecteme 10 minut
    $cas-=600;
    if ($cas>time() and `w | grep " 1 user"` ) { exec "sudo /sbin/shutdown -h now 2>>/home/petr/error.txt"; }
    

    Tímto skriptem budeme nahrávat, pokud bude pouze automaticky přihlášený jeden uživatel tak vypneme PC a proto musíme nastavit sudo aby uživatelé mohly spustit /sbin/shutdown bez hesla.

    Teď potřebujeme něco co zajistí aby se cron spustil i kdž se pouze spustí PC a nikdo se nepřihlásí, uživatelský cron se spustí pouze jak se uživatel přihlásí a protože nepotřebujeme bezpečnost upravíme druhou textovou konzoli aby se tam automaticky přihlašoval uživatel petr.

    Takže upravíme soubor /etc/event.d/tty2

    # tty2 - getty
    #
    # This service maintains a getty on tty2 from the point the system is
    # started until it is shut down again.
    
    start on stopped rc2
    start on stopped rc3
    start on stopped rc4
    start on started prefdm
    
    stop on runlevel 0
    stop on runlevel 1
    stop on runlevel 6
    
    respawn
    exec /sbin/mingetty --autologin petr tty2
    

    Tak po spuštění PC se přihlásí automaticky uživatel petr na konzoli tty2

    Teď musíme zajistit aby při vypnutí PC se nastavilo probuzení PC.

    Jak postupovat při probuzení jsem nastudoval z ACPI wakeup a MythTv ACPI Wakeup.

    Teď potřebujeme přečíst uživatelský cron a podle něho nastavit probuzení. Na to jsem čerpal nápad od Dotaz: Převod "0 20 * * 2,4" na aktuální čas a vylezl ztoho nakonec skript cron.pl.

    #!/usr/bin/perl
    
    # Uzivatelsky cron podle ktereho budeme spoustet PC
    $SOUBOR_CRON="/var/spool/cron/petr";
    
    # Zapisem do souboru nastavime alarm
    $ACPI_WAKE_UP="/sys/class/rtc/rtc0/wakealarm";
    
    # Pri debug 1 vypisujeme co delame (0 = jsme potichu)
    $DEBUG=1;
    
    
    open(DATA, "<", $SOUBOR_CRON) or die "Nelze otevřít soubor: $!";
    
    $cas=0;
    $starycas=0;
    
    while ($radek=<DATA>) {
    
    chomp $radek;
    
    # je neco na radku - spracujeme
    if (length($radek)>0) {
    if ($DEBUG==1) { print $radek . "\n"; }
    
    use Schedule::Cron::Events;
    
    my $cron = new Schedule::Cron::Events( $radek, Seconds => time());
    my ($sec, $min, $hour, $day, $month, $year) = $cron->nextEvent;
    if ($DEBUG==1) { printf("Další start: %2d:%02d:%02d on %d.%02d.%d\n", $hour, $min, $sec, $day, ($month+1), ($year+1900)); }
    
    # turn a local date into a Unix time
    use Time::Local;
    my $epochSecs = timelocal($sec, $min, $hour, $day, $month, $year);
    if ($DEBUG==1) { print "počet " . $epochSecs . " sekund co je " . localtime($epochSecs) . "\n"; }
    
    # Vybirame nejdrivejsi cas
    if ($starycas==0) { $starycas=$epochSecs; $cas=$epochSecs; }
    if ($epochSecs<$starycas) { $cas=$epochSecs; $starycas=$epochSecs;}
    
    
    # konec spracovani radku
    }
    # konec spracovani souboru
    }
    close DATA;
    
    # pokud neni cas vetsi jak aktualni nic nedelame
    if ($cas>time()) {
    
    if ($DEBUG==1) { print "Ted je cas: " . time() . "\n"; }
    
    if ($DEBUG==1) { print "Nejblizsi cas spusteni nahravani " . $cas . " sekund co je " . localtime($cas) ."\n"; }
    # Odecteme 5 minut
    $cas-=300;
    if ($DEBUG==1) { print "Nejblizsi cas spusteni HTPC (cas nahravani - 5 minut) " . $cas . " sekund co je " . localtime($cas) ."\n"; }
    
    # reset Alarm
    open(ALARM, ">", $ACPI_WAKE_UP) or die "Nelze otevřít soubor: $!";
    print ALARM "0";
    close ALARM;
    
    # Zapis alarmu
    open(ALARM, ">", $ACPI_WAKE_UP) or die "Nelze otevřít soubor: $!";
    print ALARM $cas;
    close ALARM;
    
    }
    

    No a teď ten skript musíme při vypnutí PC nějak zavolat. No pod fedorou jsem to vyřešil že jsem upravil /etc/rc.d/init.d/halt v kterém jsem našel: [ -x /sbin/hwclock ] && action $"Syncing hardware clock to system time" /sbin/hwclock --systohc a za to dodal spuštění skriptu cron.pl což jsem provedl vložením:

    #Nastaveni alarmu
    
    [ -x /home/petr/bin/cron.pl ] && /home/petr/bin/cron.pl
    

    A teď to chce naplnit cron záznamy pro nahrávání a otestovat zda to funguje.

    Doufám že se to bude někomu hodit, samozřejmě řádky s mencoderem a mplayerem třeba upravit podle potřeb, tak stejně různé parametry.

    Pro normální dívání používám script tv:

    #!/usr/bin/perl
    
    die "$0 má špatný počet parametrů.\n\nSprávně má být:\n$0 Kanál\n$0 nova\n\n" if @ARGV != 1;
    
    if ( $ARGV[0] eq "ex" or  $ARGV[0] eq "stv1" or  $ARGV[0] eq "ct24"  ) { $norma="PAL-BG";}
    else{ $norma="PAL-DK"; }
    
    #printf "argument: " . $ARGV[0] ;
    
    if ( not (`ps -A | grep "mencoder"` or `ps -A | grep "mplayer"`)) { system "mplayer tv://$ARGV[0] -tv driver=v4l2:norm=$norma:volume=100:alsa=on:adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:immediatemode=0:channels=r12-ct1,r8-ct2,r10-nova,r6-prima,se7-stv1,se13-ex,r7-ct24";
    } 
    

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.