screen

Sekcia: Programovanie 24.01.2011 | 20:29
jano   Návštevník
Zdravím.

Chcel som napísať skript ktorý pustí v screen 3 okná a v každom otvorí bash

mám prvý súbor startup.script
screen -dm bash -l /home/user/startup.script.screen

a druhý súbor startup.script.screen
sleep 10
screen -p - bash
screen -p - bash
bash


Ale pokiaľ spustím sh startup.script a počkám 10 sekúnd čo tam je ten sleep a pripojím sa na screen cez screen -r, tak v screene je len jedno okno a nie tri.

Ale pokiaľ spustím sh startup.script a nepočkám tých 10 sekúnd a hneď sa zapojím cez screen -r, tak nabehnú poriadne tri okná a v každom je bash. Prečo je to tak ? Čo je to za haluz ? Ako to spravím tak, že ten príkaz pustím a budem si môcť byť istý, že tam nabehlo všetko ?

A ďalšia vec, pokiaľ posledný príkaz bash nahradím príkazom mc tak mc sa spustí ale bez farieb a to vždy, aj keď sa zapojím heď a aj keď čakám 10 sekúnd. Prečo ? Nesúvisí to nejak spolu ? Ale pokiaľ otvorím dalšie okno cez ctrl+a +c tak tam už môžem spustiť mc a nabehne s farbami.
    • Re: screen 24.01.2011 | 20:38
      jano   Návštevník
      Možno sa to na prvý krát nepochopí, takže ešte raz:
      Mám dva súbory startup.script a startup.script.screen

      a:

      1. $sh startup.script
      2. počkám 10 sekúnd
      3. $screen -r
      4. v screene je len jedno bash okno

      alebo

      1. $sh startup.script
      3. $screen -r
      4. v screene nabehnú všetky tri okná a v nich sa spustí bash

      a vždy keď v hociakom s tých oknien spustím mc tak je bez farieb,
      ale pokiaľ otvorím nové okno cez ctrl+a+c a v ňom spustím mc tak tam už nabehne mc farebne.
    • Re: screen 24.01.2011 | 20:51
      WlaSaTy   Návštevník
      Len taky vykrik do tmy. Kolko mas tych screenov pootvaranych?

      screen -ls
      • Re: screen 24.01.2011 | 20:58
        jano   Návštevník
        $ screen -ls
        No Sockets found in /var/run/screen/S-menopouzivatela.

        Spravým test a zavriem.
      • Re: screen 24.01.2011 | 22:32
        jano   Návštevník
        stále nechápem čo si tým chcel povedať ?
        • Re: screen 24.01.2011 | 22:57
          WlaSaTy   Návštevník
          Pretoze podla popisu sa Ti to chova inak ako to mas definovane. Ten screen mas na com spusteny, na nejakom routri s uclibc?
          • Re: screen 24.01.2011 | 23:07
            jano   Návštevník
            Sry nepochopil som....
            Debian stable
            $uname -a
            Linux ds 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i686 GNU/Linux
            $ screen -ls
            No Sockets found in /var/run/screen/S-meno.
            $ sh startup.script
            $ screen -ls
            There is a screen on:
            6151..ds (01/24/2011 11:05:17 PM) (Detached)
            1 Socket in /var/run/screen/S-meno.
            • Re: screen 24.01.2011 | 23:17
              WlaSaTy   Návštevník
              Lebo mne to funguje a vzdy mi to otvori zodpovedajuci pocet terminalov (tri klacky). Skus vyhodit ten sleep, mozno to pri zruseni nulteho terminalu vypne aj ostatne a zapne klasicky prazdny screen.

              Ale, to bude tym ze nemam system v Bukuresti.
              • Re: screen 24.01.2011 | 23:36
                jano   Návštevník
                čo máš za OS ?
                dal som preč sleep a nič
                dal som preč posledný 0 terminálový prikaz a screen sa vypol :D
                • Re: screen 24.01.2011 | 23:56
                  WlaSaTy   Návštevník
                  Áno, screen sa vypne ak nemá čo podržať, to je jej prirodzenou vlastnosťou. Ale to, že to nevykonalo nejaké príkazy, tak to je horšie. Teraz som to fukol zosrandy na ubuntu 11.04 a išlo to podľa očakávaní.
                  • Re: screen 25.01.2011 | 00:02
                    jano   Návštevník
                    Takže na ubuntu a ešte na čom ti to išlo ?

                    ja som zapojený cez ssh na ten cieľový pc, nemohlo by to byť tým ? ale to je pi...

                    Ja viem, že sa to malo vypnúť, ináč skúšal som tam dať nejaké to echo "aaa" a vpohode to tam vypísalo a nahodil sa 0.bash
    • Re: screen 25.01.2011 | 17:27
      jano   Návštevník
      Zase sa raz ukázalo, že Česi sa viac vyznajú ako Slováci, ale aj tak som rád, že to nebol angličan :D

      Udelej ~/.screenrc a v nem (analogicky):
      screen -t 'bash' 0 bash
      screen -t 'shell' 1 sh
      screen -t 'ssh' 2 ssh root@machine