Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: GUI pro spouštění skriptů - poradí někdo?  (Přečteno 3364 krát)

ramael

  • Stálý člen
  • **
  • Příspěvků: 738
Re:GUI pro spouštění skriptů - poradí někdo?
« Odpověď #50 kdy: 30 Listopadu 2024, 17:23:10 »
Kód: [Vybrat]
#! /usr/bin/env bash
# úprava vedoucí k zabití celého skriptu místo procesu cat

PID_NA_ZABITI=
navrat=1
while [ $navrat -eq 1 ]; do
odpoved=$(zenity --ellipsize --info --title "Test panelu GERCOM" \
      --text="Zvolte funkci (režim SETUP je nutno ukončit vypnutím panelu!)" \
      --extra-button MAZÁNÍ \
      --extra-button MOŽNOSTI \
      --extra-button VYPLŇH \
      --extra-button SETUP \
      --extra-button SOUBOR \
      --extra-button SOUBKONEC \
      --ok-label ZAVŘÍT_OKNO\
       )
  navrat=$?
# Test návratové hodnoty
if [ $navrat -eq 0 ]; then
if [[ $PID_NA_ZABITI ]]; then
  pstree -A -p $PID_NA_ZABITI | grep -Eow "[0-9]+" | xargs kill
fi
  exit 0
fi
# Testy odpovědí
case $odpoved in
MAZÁNÍ) ./testmaz.sh &
    ;;
VYPLŇH) ./testh.sh &
    ;;   
MOŽNOSTI) ./testmozn.sh &
    ;;
SETUP) ./testsetup.sh &
    ;;
SOUBOR)
    # Pokud už není PID, spusť skript
    # Předejde se vícenásobnému spuštění
      if [[ ! $PID_NA_ZABITI ]] || [ ! -d /proc/$PID_NA_ZABITI ]; then
      # skript je spuštěn na pozadí.
      ./testodeslsoub.sh &
      # nastavíme proměnnou na jeho PID
      PID_NA_ZABITI=$!
    fi
    ;;
  SOUBKONEC)
    # Test jestli existuje spuštěný proces
    # Jinak bysme mohli zabít komplet DE - vlastní
    # zkušenost je těžko přenositelná :D
    if [[ $PID_NA_ZABITI ]]; then
    # Výpis všech potomků zabíjeného skriptu a jejich zamordování
    pstree -A -p $PID_NA_ZABITI | grep -Eow "[0-9]+" | xargs kill
    # Vymazání hodnoty PIDu
    PID_NA_ZABITI=
    fi
    ;;
esac
done
# Smyčka byla ukončena. Pokud je ještě skript aktivní
# zamordujem jeho potomky včetně něho samotného
if [[ $PID_NA_ZABITI ]]; then
  pstree -A -p $PID_NA_ZABITI | grep -Eow "[0-9]+" | xargs kill
fi
Snad opraveno.
Nevím kde je chyba, ale sem něco poslad je očistec. Tak ještě jednou..
Tenhle script je blbost. Páč ta kontrola už tam probíhá ve smyčce while.
Jsem si nainstaloval XFCE a kupodivu se mi to tu zobrazuje stejně jako ve Waylandu, bez křížku. Takže buď je chyba v Zenity nebo DE.
« Poslední změna: 30 Listopadu 2024, 17:27:39 od ramael »
Lenovo: ThinkPad X380 Yoga
Joutůůůůb

ramael

  • Stálý člen
  • **
  • Příspěvků: 738
Re:GUI pro spouštění skriptů - poradí někdo?
« Odpověď #51 kdy: 30 Listopadu 2024, 17:38:23 »
Uf, už jsem zpět na Waylandu - Hyprland ~ doma je doma. To odesílání asi bude spíš STARLINKem u mě. To je internet na bobek.
Snad si jednou najdu čas a dám sem návod jak si GUI udělat přes webový prohlížeč a socket. To je o hodně flexibilnější a funguje to všude.
Lenovo: ThinkPad X380 Yoga
Joutůůůůb

JirkaZ

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 1834
  • Dlouholetý uživatel Linuxu a open source obecně.
Re:GUI pro spouštění skriptů - poradí někdo?
« Odpověď #52 kdy: 30 Listopadu 2024, 23:34:06 »
Úplně nevím, co jsi myslel slovy "tenhle skript je blbost"... Ten poslední?

Ať už je to tak či onak, křížkem ani ten poslední pořád zavřít nejde. Ale fakt se netrap, už jsi mi toho poradil víc než dost, díky.

 

Provoz zaštiťuje spolek OpenAlt.