Nowe posty

Autor Wątek: BASH- otwieranie dodatkowych okien  (Przeczytany 6283 razy)

Budrys

  • Gość
BASH- otwieranie dodatkowych okien
« dnia: 2012-03-22, 18:33:56 »
Witam.

Mam pewien problem.

Chciałbym w Bash otworzyć  4 niezależne okna, w których mógłbym pingować wybrane adresy.

Jak to zrobić, żeby okna nie zachodziły na siebie(ekran na 4 częsci, w każdym okno).

Dzięki za pomoc.

arctgx

  • Gość
BASH- otwieranie dodatkowych okien
« Odpowiedź #1 dnia: 2012-03-22, 20:30:43 »
Przejrzyj podręcznik swojego emulatora terminala (np. man xterm) i zapoznaj się z parametrem -geometry lub podobnie brzmiącym oraz -e lub innym wywołującym w nim wybrane polecenie.

Nie ma znaczenia czy do wywołania użyjesz basha.

Ksanderon

  • Gość
BASH- otwieranie dodatkowych okien
« Odpowiedź #2 dnia: 2012-03-23, 21:09:10 »
jeszcze warto wspomnieć o jakże przydatnym poleceniu  screen.

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
BASH- otwieranie dodatkowych okien
« Odpowiedź #3 dnia: 2012-03-24, 11:19:40 »
Bash nie jest świadomy okien, czyli emulatorów terminala. Wliczając w to to okno, w którym sam jest uruchomiony.

Oczywiście możesz otworzyć poleceniem nowy emulator terminala (o ile pracujesz w środowisku graficznym, co skrypt powinien sprawdzić) i w parametrze przekazać komendę do wykonania. Potem możesz odnaleźć te nowo stworzone okna na stosie X'a i zmienić im pozycję i rozmiar. Strasznie dużo dłubania.
Poza tym nie wiesz, jakiego emulatora używa użytkownik. Konsole z KDE? gnome-terminal? xterm? Inne?

Chyba lepiej, tak jak zasugerował Ksanderon, użyć screena i podzielić aktywną sesję na kilka obszarów:

#!/bin/sh

TMP=$( tempfile )

echo "
    startup_message off
    msgwait 0
    bindkey q quit
    split
        split -v
            screen -t 'Pingowanie wp.pl...' ping wp.pl
        focus down
            screen -t 'Pingowanie onet.pl...' ping onet.pl
    focus down
        split -v
            screen -t 'Pingowanie google.com...' ping google.com
        focus down
            screen -t 'Pingowanie localhost...' ping localhost
        focus up
" > "$TMP"

screen -c "$TMP"

rm -f "$TMP"
Wyjście klawiszem q.

Ksanderon

  • Gość
BASH- otwieranie dodatkowych okien
« Odpowiedź #4 dnia: 2012-03-24, 11:53:52 »
co do pozycjonowania okien- jeśli "nie zachodzenie" okien ma być jakąś zasadniczą właściwością okien  możesz użyć odpowiedni manager okien aby tym się zajął. "Łatwo" to zrobić np. z awesome, stumpwm, dwm czy ratpoison, jednak z uwagi na to, że to dość egzotyczne(nikt się nie obrazi?) wm'y to zabawę z nimi polecam jedynie jako ciekawe urozmaicenie :)

@ i ja zdałem maturę z polskiego na 90+...  to świadczy o jej poziomie. Przepraszam i obiecuję poprawę :D

arctgx

  • Gość
BASH- otwieranie dodatkowych okien
« Odpowiedź #5 dnia: 2012-03-24, 18:03:28 »
Sam skorzystałem z gotowca demonstrującego podział screena na okna. Swego czasu po kilku próbach zrobienia podziału z powłokami dałem sobie spokój.

Szukając odpowiedzi na pytanie czy za pomocą myszy między kolejnymi oknami można przełączać się, ale i przesuwać linie podziału, trafiłem na alternatywę dla screena o nazwie tmux z konfiguracją.

set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
set -g mouse-utf8 on
setw -g mode-mouse on
Kto na co dzień używa Vima, może za sprawą wtyczki Conque Shell odpalić terminal jako jedno z okien vima. Tyle praktycznych odjazdów od głównego tematu.

Cytat: Ksanderon
"nie zachodzenie"
Doczepię się do powszechnego orta przy okazji (http://poradnia.pwn.pl/lista.php?id=1763).