• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    DELVITLinux pro zacatecniky a obycejne uzivatele (NO FLAMES!)
    CHOROBA
    CHOROBA --- ---
    nejvetsi hrobar je HP, co se tedy hw tyce ;)
    MRDAC_BEDEN
    MRDAC_BEDEN --- ---
    GIOMIKY: Nejlepší hrobař je Oracle. MS a Google mu nesahají ani po kotníky. OpenOffice, MySQL, SUN / Solaris, Java. Samozřejmě ke všemu (kromě Sunu) vznikly lepší open source alternativy, ale stejně...
    KAERO
    KAERO --- ---
    GIOMIKY: ale chybi tam ty veci, co mikrosoft koupil a zku*vil. To pak bude ten seznam asi mnohem delsi. Treba skype fungoval dobre, pak byl prodan a kvalita hovoru byla cimdal horsi. Minecraft byl prodan, a musim ted resit gamepass a podobne nesmysly ktere nechci a komplikuji mi zivot.
    MUXX
    MUXX --- ---
    GIOMIKY: A taky https://killedbygoogle.com
    Co ti vlastne z toho MS chybi (na linuxu)?
    GIOMIKY
    GIOMIKY --- ---
    Dobre vyjadreny duvod, proc se nerad paktuju s M$ produkty
    Microsoft Graveyard - Killed by Microsoft
    https://killedbymicrosoft.info/
    CZECH23EKTOUR
    CZECH23EKTOUR --- ---
    DANIELSOFT: super, děkuji za potvrzení a jsem zvědav nač narazím v praxi :)
    DANIELSOFT
    DANIELSOFT --- ---
    CZECH23EKTOUR: informace o skončení programu se v Unixovém/Linuxovém shellu testuje proměnnou $?, která pokud je nulová, program skončil úspěšně a pokud je nenulová, měla by být tím větší, čím závažnější je tam chyba. můžeš ji testovat třeba pomocí "if" ale nemusíš

    standardně "na sebe příkazy čekají" a pouští se za sebou a pokud to nechceš, musíš to naopak explicitně říct použitím metaznaku "&"

    např

    xterm &
    xbill &

    pustí dvě (okenní) aplikace hned na pozadí, druhá nečeká na první
    CZECH23EKTOUR
    CZECH23EKTOUR --- ---
    DANIELSOFT: i tak to zkusim dle tvé chronologie, z návodů jsem si to tak vysvětlil, že by mohlo stačit mít ten druhej příkaz jen na novém řádku, jen se mi nezdálo, že by v tom neměla být nějaká informace o skončení programu. dík, budu laborovat :)
    DANIELSOFT
    DANIELSOFT --- ---
    DANIELSOFT: hm, teď jsem si tu svoji druhou radu zkusil nasimulovat v XFCE-ovém alt+f2 spouštěči a spustilo to pouze druhý příkaz: takže ty shell skripty jsou jistější i když složitější a určitě se ti jejich nastudování zúročí při automatizaci systému, až se v Linuxu trochu otrkáš
    DANIELSOFT
    DANIELSOFT --- ---
    CZECH23EKTOUR: ještě mě napadlo možná pro Tebe jednodušší řešení, ale nevím, jestli ho tvůj "spouštěč" podporuje, protože GUI udělátek pro linux je moc a nejsou vzájemně moc kompatibilní: a tím je středník, normálně metaznak shellu způsobící právě sekvenční zpracování, takže do kolonky, kde se zadává co spouštět můžeš napsat

    první_příkaz ; druhý_příkaz

    pokud to podporuje, pustí je za sebou (tedy jeden, počká a druhý) pokud to nepodporuje, může zařvat nějaký syntax error, pustit jenom ten první, nebo vyhřeznou démoni, zkrátka nedefinované chování, proto to zkus na vlastní nebezpečí, je to pro tebe jednodušší než dělat shellskripty které jsi v životě nedělal :)
    DANIELSOFT
    DANIELSOFT --- ---
    CZECH23EKTOUR:

    skript s obsahem

    #!/bin/bash
    tvůj_program_s_parametry
    druhý_příkaz_s_parametry

    ve skriptu zajišťuje, že se provedou sekvenčně za sebou: provede první, počká na jeho dokončení, provede druhý

    ještě mu musíš nastavit spustitelnost chmod +x skript
    CZECH23EKTOUR
    CZECH23EKTOUR --- ---
    DANIELSOFT: dík za tip, už to zkoumám, na mě asi trochu vysoká, ale základně to chápu. Po spuštění asi vyvolám nějakou podmínku, která se bude odkazovat na běh programu a po skončení provede další příkaz? Jen se mi zatím nedaří najít nějaký název parametru, který by ten běh zjišťoval - anebo tam rovnou platí, že teprve až když ten spuštěný program skončí, provede se další řádek?
    DANIELSOFT
    DANIELSOFT --- ---
    CZECH23EKTOUR: vytvořit shellový skript, do něj dát spuštění aplikace a ten jiný příkaz za to, potom pouštět tento shellskript?
    CZECH23EKTOUR
    CZECH23EKTOUR --- ---
    Šlo by nějak vytvořit spouštěč, aby provedl i něco po ukončení spouštěné aplikace?

    Nějak si nerozumí má druhá gpu s jednou aplikací. GPU má tři módy taktu. V nvidia.settings nastavení performance módu je pořád nějaká forma automatiky a v momentě, kdy ta aplikace asi nedává navědomí, že je potřeba vysokého taktu, tak se vrací na základní takty a už v nich zůstává.

    Udělal jsem si spouštěč, kterým ty takty nadefinuju a jsou drženy po celou dobu spuštěné aplikace a fps mi nedropuje. Chtěl bych to jiným příkazem po skončení zase vrátit do defaultu, ale tak, abych na to nemusel myslet a dělo se automaticky. Je to ještě v možnostech spouštění?
    AXTHEB
    AXTHEB --- ---
    SUK: a ještě pro zajímavost zkus to
    #!/bin/bash
    doplnit na
    #!/bin/bash -x
    PUPU
    PUPU --- ---
    SUK: jo, to bude ono, diky. ja na to ted prave narazil v jenom skriptu z distribuce a bylo mi divne, ze to hazi chybu... (sleep si stezuje, ze nema argument). takze asi chybicka od vyrobce...

    # cat /etc/cron.daily/rhsmd
    #!/bin/sh
    # nightly run of rhsmd to log entitlement expiration/validity errors to syslog
    # this is a cron job because it doesn't need to 'phone home'. should that
    # change, look into calling the dbus interface from rhsmcertd instead.
    config=$(grep -E "^processTimeout" /etc/rhsm/rhsm.conf | grep -Po "[0-9]+")
    if [ -n $config ]; then
      rhsmd_timeout=$config
    else
      rhsmd_timeout=300
    fi
    
    /usr/libexec/rhsmd -s &
    sleep $rhsmd_timeout;
    
    ps_check=$(pgrep -f '/usr/libexec/rhsmd')
    if [ -n "$ps_check" ]; then
      pkill -f '/usr/libexec/rhsmd' >/dev/null 2>&1
      logger -t rhsmd -p user.warn "rhsmd process exceeded runtime and was killed." >/dev/null 2>&1
    fi
    SUK
    SUK --- ---
    PUPU: Kdyztak si udelej kratky bashscript na vypsani jednotlivych argumentu, trosku to muze pomoct pochopit :)
     
    #!/bin/bash
    
    NUM=1
    for i; do
    	echo "arg ${NUM}: '${i}'"
    	NUM=$(($NUM + 1))
    done
    SUK
    SUK --- ---
    PUPU: jen pro zajimavost:
    [suk@shiba ~]$ if [ -n ] ; then echo nenul; fi
    nenul

    To je, po nahrazeni promennych, ekvivalentni radku s X=''. Duvodem imho bude to, ze [ je normalni program a bere normalni argumenty jako cokoliv jinyho. Coz znamena, ze [ -n '' ] spusti [ s tremi argumenty. Prepinacem -n, stringem o delce 0 a ]. Pri volani s prazdnym $X je ale to prazdne $X nahrazeno za nic, cimz se z volani stane -n ] a tak program [ testuje nenulovost stringu "]".

    Proto se prave casto dela ono "${X}" pro pripad, ze X vubec neexistuje. Pamatuju si, ze typicky se stringy porovnavaly jako [ "${X}x" == "x" ] ; then echo X je prazdny stringy.
    PUPU
    PUPU --- ---
    mohu poprosit o vysvetleni? neco mi unika, ale nevim co...

    [root@be401 ~]# if [ -n '' ] ; then echo nenul; fi
    [root@be401 ~]# if [ -n ' ' ] ; then echo nenul; fi
    nenul
    [root@be401 ~]# X=''; if [ -n $X ] ; then echo nenul; fi
    nenul
    [root@be401 ~]# X=''; if [ -n ${X} ] ; then echo nenul; fi
    nenul
    [root@be401 ~]# X=''; if [ -n "${X}" ] ; then echo nenul; fi
    [root@be401 ~]#
    MARASAN
    MARASAN --- ---
    CHOROBA: samotnyho mne to preqapilo, ale Ubuntu tam sype asi vsecko.
    Kliknutím sem můžete změnit nastavení reklam