abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 7
    včera 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 8
    včera 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    včera 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (10%)
     (10%)
    Celkem 296 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    sshmulti (sshm)

    9.6.2008 00:07 | Přečteno: 1147× | Skriptiky | poslední úprava: 10.6.2008 14:05

    Jak jsem psal v předchozím, budu sem dávat zajímavé skriptíky, takže tady je první. Nazval jsem ho sshm (jako sshmulti, ale aby to bylo co nejkratší, tak sshm).

    Pokud znáte cssh (clusterssh), tak prakticky víte, co dělá tenhle můj skriptík. Jedinou funkcí je, že spustí xtermy a v každém z nich spustí ssh připojení na zadaný server. Pokud tedy tenhle skript spustíte z xtermu, můžete pak z tohoto xtermu ovládat ty ostatní xtermy s ssh spojením. Tolik jednoduchý popis.

    Trošku detailněji bych pak dodal. Clusterssh otevře také Xtermy, také s ssh připojení, ale clusterssh otevírá připojení do xtermu s určitým rozměrem a fontem, které je sice možné měnit v konfiguračním souboru, ale člověk by dopředu musel vědět, kolik má oken. Můj skriptík jednak umožňuje zadání pevných rozměrů okna a fontu, nebo "automaticky", podle předdefinovaných hodnot, vybere podle počtu zadaných serverů správný rozměr xtermu a font, který se má nastavit. Pokud zadám tedy dvě okna, tak se mi zobrazí nad sebou a zaberou celou plochu (rozměry 268x40) s písmem o velikosti 12. Pokud ale zadám např. 28 serverů, nechá se výchozí rozměr 80x25 a použije se písmo o velikosti 8 (sice je to hůř čitelné, ale na zadaní aptitude -vyR dist-upgrade to naprosto stačí).

    Teď trošku o vnitřnostech.

    Nevýhody:

    Dodatek: já osobně jsem si pconsole ještě opatchoval, protože originální zdroják používá sekvenci CTRL-A pro přechod do příkazového módu, ale CTRL-A se na příkazové řádce používá jako HOME (někdy je to rychlej způsob jak vymazat celou řádku pomocí CTRL-A CTRL-K, než hledat HOME a pak CTRL-K). Já to mám přemapované na CTRL-N. BTW: Také screen používá jako řídící sekvenci CTRL-A, takže tu si mapuju na CTRL-P

    A to jsou všechny keci, takže teď ten skriptík. A aby někdo nerejpal, tak GNU GPL a myslím, že u toho je celkem jedno jestli v2 nebo v3, tak ať se to hejbe, budiž to GNU GPL v3. Pokud by něco nefungovalo, pište do diskuze.

    update 10.6.2008: Kromě clusterssh existuje ještě program dsh (distributed shell, dancer's shell), který na to jde jiným způsobem. Program dsh totiž se v aktuální konzoli přihlašuje na zadané servery a spouští tam zadané příkazy a to buď na všech strojích paralelně, nebo postupně. Výsledky pak zobrazuje na konzoli. Nevýhoda je, když človek musí zadat např. heslo do sudo. Ale na jednoduché zjišťování nějakého stavu na serveru se to hodí.

    #!/bin/bash
    
    defsize="12"
    fontmsk='-misc-fixed-medium-r-normal-*-%i-*-*-*-*-*-iso8859-2'
    autosize="$defsize"
    deffont="$( printf -- "$fontmsk" "$autosize" )"
    defgeom="80x25"
    geom="$defgeom"
    verbose=""
    
    if [ $# -eq 0 ];then
      cat <<-HelpEnd
      $0 [ -f FONT ] [ -g GEOMETRY ] [ -G ] [ -r ] [ -s SIZE ] { ssh_host ... | -t COUNT }
      -f FONT      ... set font
      -r           ... reset font do default value ($deffont)
      -s SIZE      ... use font size
      -g GEOMETRY  ... use font size (default $defgeom)
      -G           ... reset geometry to default
      -t COUNT     ... do not run ssh, generate only xterms (to see placement)
      -v           ... ssh verbose
      HelpEnd
    else
      pi=$#
      tothosts=0
      while [ $pi -gt 0 ];do
        # echo "params1-$pi: $0 $@"
        par="$1"
        shift
        case "$par" in
          "-f" | "-s" | "-g" ) if [ $pi -gt 0 ];then parval="$1";shift;pi=$[$pi-1];set -- "$@" "$par" "$parval";else set -- "$@" "$par" ;fi;tothosts="-1";;
          "-r" | "-G" ) set -- "$@" "$par";tothosts="-1";;
          "-v" ) verbose="-v" ;;
          "-t" )
            if [ $pi -gt 0 ];then
              if [ -n "$test" ];then
                echo "Sorry, but test value is already set to $test - ignoring this value $1"
              else
                test="$1"
                shift
                pi=$[$pi-1]
                if [ -z "$test" ];then
                  echo "You have to enter a non-empty value for option -t"
                elif echo "$test" | grep -q '[^[:digit:]]';then
                  echo "You hava to enter a numeric value for option -t"
                else
                  tothosts="-1"
                fi
              fi
            else
              echo "argument -t needs value (test)"
            fi
          ;;
          *) if [ $tothosts -ge 0 ];then tothosts=$[$tothosts+1];fi;set -- "$@" "$par";;
        esac
        pi=$[$pi-1]
      done
      case "$( hostname -f )" in
        "HOST1-RESOLUTION-1680x1050" )
          if [ $tothosts -gt 0 ];then
            if [ $tothosts -le 1 ];then autosize="12";autogeom="234x71"
            elif [ $tothosts -le 2 ];then autosize="12";autogeom="234x34"
            elif [ $tothosts -le 4 ];then autosize="12";autogeom="116x34"
            elif [ $tothosts -le 6 ];then autosize="12";autogeom="116x22"
            elif [ $tothosts -le 9 ];then autosize="12";autogeom="80x22"
            elif [ $tothosts -le 12 ];then autosize="9";autogeom="80x23"
            elif [ $tothosts -le 16 ];then autosize="8";autogeom="80x26"
            elif [ $tothosts -le 20 ];then autosize="7";autogeom="80x22"
            elif [ $tothosts -le 29 ];then autosize="6"
            elif [ $tothosts -le 39 ];then autosize="7";autogeom="60x14"
            else
              autosize="7"
            fi
          fi
        ;;
        "HOST2-RESOLUTION-1920x1200" )
          if [ $tothosts -gt 0 ];then
            if [ $tothosts -le 1 ];then autosize="12";autogeom="268x89"
            elif [ $tothosts -le 2 ];then autosize="12";autogeom="268x40"
            elif [ $tothosts -le 4 ];then autosize="12";autogeom="132x40"
            elif [ $tothosts -le 6 ];then autosize="12";autogeom="132x25"
            elif [ $tothosts -le 9 ];then autosize="12";autogeom="88x25"
            elif [ $tothosts -le 18 ];then autosize="9"
            elif [ $tothosts -le 25 ];then autosize="8"
            elif [ $tothosts -le 28 ];then autosize="7"
            elif [ $tothosts -le 39 ];then autosize="6"
            elif [ $tothosts -le 53 ];then autosize="7";autogeom="60x14"
            else
              autosize="7"
            fi
          fi
        ;;
      esac
      i=0
      font="$( printf -- "$fontmsk" "$autosize" )" 
      geom="$autogeom"
      # echo "params2: $0 $@"
      echo "hosts: $tothosts"
      echo "font: $font"
      if [ -n "$test" ];then
        for i in $( seq 1 $test );do
          set -- "$@" "test-$i"
        done
      fi
      while [ $# -gt 0 ];do
        case "$1" in
          "-f" ) shift;if [ $# -gt 0 ];then font="$1";else echo "argument -f needs value (font)";fi ;;
          "-g" ) shift;if [ $# -gt 0 ];then geom="$1";else echo "argument -g needs value (geometry)";fi ;;
          "-r" ) font="$( printf -- "$fontmsk" "$autosize" )" ;;
          "-G" ) geom="$defgeom";;
          "-s" ) shift;if [ $# -gt 0 ];then font="$( printf -- "$fontmsk" "$1" )";else echo "argument -s needs value (font size)";fi ;;
          *) 
            if [ -n "$test" ];then
              xterm -geometry "$geom" -title 'Pconsole connection' -fn "$font" -e "echo -e \"\n===== testing console $1 =====\n\n\";/bin/bash" &
            else
              xterm -geometry "$geom" -title 'Pconsole connection' -fn "$font" -e "echo -e \"\n===== $1 =====\n\n\";ssh $verbose '$1'" &
            fi
            pid=$!
            nt=""
            while [ -z "$nt" ];do
              npp=""
              while [ -z "$npp" ];do 
                npp="$( ps --ppid "$pid" h -o pid | tr -dc '0-9' )"
              done
              nt="$( ps --ppid "$npp" h -o tty )"
            done
            tty[$i]="/dev/$nt"
            i=$[$i+1]
          ;;
        esac
        shift
      done
      pconsole "${tty[@]}"
    fi
    
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    pavlix avatar 9.6.2008 01:28 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    [rejp]Takovej krátkej skriptík omezovat GPLkem, že se nestydíš :).[/rejp]
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    9.6.2008 11:06 RoboShim | skóre: 13 | blog: RoboShim
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    Jojo, BSD mam taky rad, takze mozna bych to mohl dat i pod BSD, ale - pokud tu nikdo dal rozsirovat nebude, tak mu ani GPL nevadi, protoze pro pouzivani mas stejny prava u GPL i BSD. A kdyz bys to chtel nejak upravit a nejak s tim dal delat, tak by bylo hezky, kdyby ses taky podelil:-) Ale je to mrnavej skriptik, kterej bys urcite napsal behem 5 minut taky:-)
    pavlix avatar 10.6.2008 21:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    Takový mrňaviny dávám spíš pod volnou licencí... s tím, že by právě bylo hezký aby ses podělil... ale abys s tím neměl pakárnu :).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 10.6.2008 21:17 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    Tím jsem teda myslel BSD nebo jinými slovy to samé, protože BSD jsou stejně jen tři body + disclaimer.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Tlapicka avatar 10.6.2008 13:17 Tlapicka | blog: blog můJ | Lipník n. B.
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    Já jsem před časem našel tohle: http://oss.linbit.com/multissh/

    Potřebuje to konsole a jednotlivé spojení to otvírá v tabech.
    10.6.2008 13:58 RoboShim | skóre: 13 | blog: RoboShim
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    Vida, taky moznost. Osobne to je ale pro me nevhodne ze nasledujicich duvodu
    It's using DCOP to remote-control a konsole process with the ssh connections in seperate tabs.
    • DCOP neprovozuju, pokud se nepletu, je to zalezitost KDE a ja pouzivam WindowMaker, KDE aplikace jenom v nouzovym pripade
    • nepouzivam konsole, ale xterm
    • taby na konzoli jsem jeste nezkousel, ale nejak se mi to nezda, takze asi ne
    • abych videl obsah vsech oken, musel bych se porad prepinat mezi jednotlivyma tabama; s tim mym skriptem (a taky s clusterssh) vidim vsechny okna najednou a mam ihned prehled, co se kde deje
    pavlix avatar 10.6.2008 21:17 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: sshmulti (sshm)
    Pokud se nepletu, i KDE od dcopu ustupuje.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.