scriptek

Programozás, programnyelvek, kiegészítők, alkalmazások, programnyelvek, programfejlesztéssel kapcsolatos témák, közvetlenül a programozással összefüggő kérdések
Avatar
KuLuSz
Adminisztrátor
Hozzászólások: 606
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

Bash shell szkriptelés - gtkdialog text widget

text_01:

Kód: Egész kijelölése

#!/bin/sh

export MD='
<window title="text">
<vbox>
 
  <text>
  <label>Ez egy üzenet</label>       
  </text>
  
 </vbox>
</window>'

gtkdialog --program=MD --center
text_02:

Kód: Egész kijelölése

#!/bin/sh

export MD='<window title="text_02"><vbox>
 
  <text wrap="true" width-chars="56">
  <label>Az alábbi szöveg a /gtkdialog/text/text_01 fájlból lett kiolvasva és kijelölhető</label>
  </text>

  <text selectable="true">
  <input file>/gtkdialog/text/text_01</input>
  </text>
  
  <hbox>
  
  <text>
  <label>Ez pedig a mai dátum:</label>
  </text>
  
  <text>
  <input>date</input>
  <variable>DATE</variable>
  </text>
  
  </hbox> 
  
  <button>
  <label>idő frissítése</label>
  <action>refresh:DATE</action>
  </button>
  
  <text>
  <label>Ez egy "érzékeny" szöveg</label>
  <sensitive>false</sensitive>
  <variable>SENS</variable>
  </text>
  
  <hbox>
  
   <checkbox>
   <label>be-ki</label>
   <default>false</default>
   <action>if true enable:SENS</action>
   <action>if false disable:SENS</action>
   </checkbox>
   
   <button>
   <label>be</label>
   <action type="enable">SENS</action>
   </button>
   <button>
   <label>ki</label>
   <action>disable:SENS</action>
   </button>   
   
  </hbox>

  <text wrap="false" justify="0" xpad="20">
  <label>Pozicionált szöveg</label>
  </text>   
  
 </vbox>
</window>'

gtkdialog --program=MD --center
text_03:

Kód: Egész kijelölése

#!/bin/sh

export MD='<window title="text_03"><vbox>
 
  <text>
  <label>Betűk formázása</label>
  </text>
  
  <text use-markup="true">
  <label>"<b>Vastag betű</b>, <i>dőlt betű</i>, <u>aláhúzott betű</u>, <s>áthúzott betű</s>"</label>
  </text>
  
  <text use-markup="true">
  <label>"<span size='"'large'"'>nagy betű</span>, <span size='"'x-large'"'>mégnagyobb betű</span>"</label>
  </text>

  <text use-markup="true">
  <label>"<span size='"'small'"'>kis betű</span>, <span size='"'x-small'"'>mégkisebb betű</span>"</label>
  </text>

  <text use-markup="true">
  <label>"<span color='"'cyan'"'>szöveges kék betű</span>, <span color='"'#00FF00'"'>hexadecimális zöld betű</span>"</label>
  </text>

  <text use-markup="true">
  <label>"<span bgcolor='"'black'"' color='"'gray'"'>fekete hátterű szűrke betű</span>"</label>
  </text>

  <text use-markup="true">
  <label>"<span font-family='"'monospace'"'>egyedi betűtípus</span>"</label>
  </text>
  
  <eventbox hover-selection="true" homogeneous="true"> 
  <text use-markup="true">
  <label>"Link: <b><u><span color='"'#69A9D8'"'>skamilinux.hu</span></u></b>"</label>
  </text>
  <action signal="button-press-event">defaultbrowser https://skamilinux.hu &</action>
  </eventbox> 
    

</vbox></window>'

gtkdialog --program=MD --center
Források:
https://oldforum.puppylinux.com/viewtop ... 37#p288637
http://01micko.com/reference/text.html
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

Avatar
KuLuSz
Adminisztrátor
Hozzászólások: 606
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

Bash shell szkriptelés - gtkdialog window widget

window_01:

Kód: Egész kijelölése

#!/bin/sh

tag_opts=' title="Ablak"                   # címke
 image-name="/mnt/sda2/Kepek/én/000.jpeg"  # ablak ikonja
 decorated="true"                          # ablakkezelő keret láthatósága
 default-width="-1"                        # alap szélesség 
 default-height="-1"                       # alap magasság
 resizable="true"                          # átméretezhető
 skip-pager-hint="false"                   # munkaasztalon való láthatóság (tálca)
 skip-taskbar-hint="false"                 # ablaklistán való láthatóság (tálca)
 window-position="1"                       # ablak pozicionálása: 0 semmi, 1 középen, 2 egér alatt
 border-width="5"                          # widgetek margója
 sensitive="true"                          # tartalom láthatósága
 tooltip-text="Felugró-üzi"                # Felugró üzenet az ablak területén
 width-request="400"                       # szélesség állító (hatástalan ha a default be van állítva)
 height-request="300"                      # magasság állító (hatástalan ha a default be van állítva)'

export MD='
<window'`cut -f-2 -d' ' <<< "$tag_opts"`'>

 <vbox>
 
  <text><label>Ez egy üzenet</label></text>
  
  <button><label>Kilép</label>
  <action>exit:kilép</action>
  </button> 
  
 </vbox>

</window>'

gtkdialog -p MD
Források:
https://blogs.czapski.id.au/2017/04/gtk ... dow-object
http://01micko.com/reference/window.html
https://github.com/oshazard/gtkdialog/t ... les/window
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

Avatar
KuLuSz
Adminisztrátor
Hozzászólások: 606
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

Bash shell szkriptelés - gtkdialog vbox-hbox widget

vbox-hbox_01:

Kód: Egész kijelölése

#!/bin/sh

export MD='
<window 
title="vbox-hbox"
tooltip-text="vbox területén felügró üzenet"
height-request="300"
width-request="300">

<vbox 
homogeneous="true"
spacing="0">

  <text><label>1</label></text>

  <hbox 
  homogeneous="true"
  spacing="0">
      <text><label>1</label></text>
      <text><label>2</label></text>
      <text><label>3</label></text>
  </hbox>
  
  <text><label>3</label></text>

</vbox>
</window>'

gtkdialog --program=MD --center
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

Avatar
nocsak
Hozzászólások: 408
Csatlakozott: 2014.09.29. 15:01
Kapcsolat:

Re: scriptek

Hozzászólás Szerző: nocsak »

Üdv!

Készítettem KuLuSz kolléga ötlete alapján egy PET csomagot. Az ötlet az volt, hogy jelezze egy szkript, ha egy kernel túl új, vagy túl régi a gépünkhöz. Lévén így tehát huge (cserélhető) kerneles Puppy Linuxok esetén alkalmazható. A telepítő csomag tartalma annak előzetes kibontása után látható, ellenőrizhető. Megkérek mindenkit, használat előtt egy szűz RAM módú live rendszernél tegyen előtte egy tesztet!

A csomagban egyébként 3db szkript van. Ha valakinél nem, vagy hibásan működik esetleg nem ért egyet a szkriptben megadott javaslattal, kérem legyen szíves visszajelzést tenni, vagy saját elképzelése szerint készíthet saját verziót. Köszönjük!

Működése során Xorg futása esetén xmessage üzenet ablakkal, X hiánya esetén /dev/console -ba küldi pirossal a hibaüzenetet. Lévén, hogy az /etc/init.d mappán belül van, minden indulásnál vagy leállításnál lefut. A /root/Startupba kerülő párja pedig akkor hívja meg minden indulás eltelte után 10mp-cel, ha elindult az X.

A konzolos üzenet az én esetemben a leállításnál jelent meg a már kilépő konzolban.

Jók akkor voltunk, ha sosem ír semmilyen üzenetet a szkript.

janugsa
Adminisztrátor
Hozzászólások: 617
Csatlakozott: 2014.06.28. 00:17

Re: scriptek

Hozzászólás Szerző: janugsa »

NS-T3.1 puppy kernel 5.4.154-64oz helyette ajánlott 3.2.xxx kernelt (szerintem rossz ajánlat). Úgy néz ki jól működik a script.

NosPup64_1.6 puppy kernel 4.19.235 helyette ajánlott 3.2.xxx kernelt ( szerintem rossz ajánlat)
Ahogy Nocsak írja csak „szűz RAM módú live rendszernél“ próbáljuk.
Én nem úgy csináltam, összezavarodott a Nospup64 puppy, ott x resart-ból nem lehetett xwin, és a kilépésnél a „nincs mentés“ sem működött (nálam választható a ment- nem ment).
Ebben a puppyban fura ikonja lett a 3 scriptnek, geany bele sem tud lépni.

A gépem bios-a 2007-es, 2 magos cpu, a script ezt írta ki:
Önnek k5.4.154-64oz van.
és a 3.2.xxx alatti verzióra van szüksége !!!

Avatar
nocsak
Hozzászólások: 408
Csatlakozott: 2014.09.29. 15:01
Kapcsolat:

Re: scriptek

Hozzászólás Szerző: nocsak »

Először is mindenek előtt szeretném megköszönni, hogy kaptam visszajelzést!

Továbbá visszavontam a PET csomagot. Egyelőre erősen átgondolom, hogyha tényleg 2007-es BIOS-ú gép képes menni az említett kernelekkel, akkor az ajánlattétel értelmét veszti, hiszen létezhet olyan hardverösszeállítású gép, amely képes újabb kernelekkel is vígan menni.

A fő szkript: /etc/init.d/kerneller volt a PET csomagon belül. Ahhoz társult egy kernel_chk szkript a /root/Startup könyvtárba mely X indulás után hivatott futtatni a kerneller szkriptet ami így xmessage alapon kommunikált velünk. A PET csomag gyökerében volt egy pinstall.sh tartalomra egyező a kernel_chk szkripttel csak sleep idejében 5 mp-es késleltetéssel ami arra volt hivatott, hogy telepítés után futtassa le a kerneller szkriptet.
összezavarodott a Nospup64 puppy, ott x resart-ból nem lehetett xwin, és a kilépésnél a „nincs mentés“ sem működött
Ez is érdekes, mivel maga a kerneller szkript mindösszesen 6mp-es sleep késleltetéssel fejezte be magát, elvileg ennek a szkriptnek ráhatása más alkalmazásra nem szabadott volna lennie.
Ebben a puppyban fura ikonja lett a 3 scriptnek, geany bele sem tud lépni.
NosPup32 Hun T2 alatt készült ROX menüből, dir2pet guival. Nálam PET készítés előtt és után kibontva is meg lehetett nyitni a szkripteket. Ha máshogy nem megy a PET mellé nyitunk egy terminált, pet2tgz paranccsal átkonvertáljuk gz-vé, (ha jól emlékszem) majd azt Xarchiver-rel pl.: kibontjuk. És az így kapott PET beltartalom esetén ha így sem nyithatóak a szkriptek, akkor valami gond van, csak az az érdekes, nekem például mindenhogy ment live RAM módban is, vagy mentésfájllal a szkript megnyitása és futtatása egyaránt. Nem okozott X kilépés és xwin indítási gondokat.

Tanulságos volt számomra, de legalább mindenkinek válaszul, nem csak hogy nincs 2 egyforma gép, de még a kernel kompatibilitás is annyira szélsőségesen változó, hogy nem érdemes erre ajánlatot tenni... Ki kell próbálni sajnos, jelenleg ezek szerint nincs jobb módszer a tájékozódásra.

És még egyszer köszönöm, hogy kaptam visszajelzést!

Nekem pl első javaslatom a béta szkriptben mindösszesen 2 feltétel volt, annak alapja pedig 2019 -es Dátumú BIOS/UEFI volt az elválasztó, az előttiekre 4.19.xxx volt a javaslat, mert nálam ez a tapasztalat, a 2019 és utániakra 5.15.xxx volt a javaslat, mert a 2019-es UEFI-s gépen azzal a kernellel megy minden jól. 4-es kernelhez 4-es jolly joker fdrv-vel, 5-ös kernelhez 5-ös jolly joker fdrv-vel, ez utóbbiak a Puppy Chartban fel vannak tüntetve letöltési linkkel melyek az SF tárolónkra mutatnak.

2009 -es BIOS-szal k4.19.235 PAE és 64bit
2011-es BIOS-szal k4.19.235 PAE és 64bit
2019 -es UEFI-vel k5.15.34 PAE és 64bit

A kerneller szkript egyik lelke ez a parancs volt:

Kód: Egész kijelölése

dmidecode | grep Date | cut -f2 -d":" | cut -f3 -d"/"
ha ebből csak ezt futtatjuk:

Kód: Egész kijelölése

dmidecode | grep Date
Megkapjuk a Dátumot amikor a BIOS vagy UEFI (vagy a gép) készült.

Avatar
nocsak
Hozzászólások: 408
Csatlakozott: 2014.09.29. 15:01
Kapcsolat:

Re: scriptek

Hozzászólás Szerző: nocsak »

Üdv!

Hol is kezdjem? Igazából megint ugyanaz a tézis: ha valaki jobban ért a dologhoz az szabadon átírhatja a táblázatot. sudo -val nem Puppy Linuxokon melyek tartalmazzák a gtkdialogot és a dmidecode parancsot, a Puppykon meg sudo nélkül, futtatható jogosultsággal indítható. A kezdőlökést megadtam:
k6.jpg
k6.jpg (50.58 KiB) Megtekintve 1310 alkalommal

Kód: Egész kijelölése

#!/bin/bash
#This script made by nocsak
#to check HUGE kernel compatibility for Puppy Linuxes
#2022.04.28.


export OUTPUT_CHARSET=UTF-8



tohere="/tmp/dmiinformationsofthispc.txt"
tosupported="/tmp/dmii_supported.txt"
checkdecoder="$(which dmidecode)"

currentkernel="$(uname -r | cut -d"." -f -2)"
absolutekernel="$(uname -r)"
checkx="$(pidof Xorg)"
checkw="$(pidof Xwayland)"



if [[ "$checkdecoder" == "" ]]; then

echo "dmidecode missing, please install first!" >> /dev/console &
echo "dmidecode missing, please install first!"

exit 1

else



dmidecode > "$tohere"


cat "$tohere" | grep supported > "$tosupported"





#from dmidecode
dateofrelease="$(cat $tohere | grep Date | cut -f2 -d":" | cut -f3 -d"/")"
checkuefi="$(cat $tosupported | grep -o "UEFI is supported")"
checkacpi="$(cat $tosupported | grep -o "ACPI is supported")"
checkmemorytype="$(cat $tohere | grep "Type: DDR" | head -n1 | cut -d":" -f2 | cut -f2 -d" ")"
checkpae="$(cat $tohere | grep -o "Physical address extension")"


#from /proc/cpuinfo
check64bit="$(cat /proc/cpuinfo | grep -o " lm " | cut -f2 -d" " | cut -d" " -f1 | head -n1)"
checkavx2="$(cat /proc/cpuinfo | grep -o avx2 | head -n1)"
checkaes="$(cat /proc/cpuinfo | grep -o aes | head -n1)"
checkssse3="$(cat /proc/cpuinfo | grep -o ssse3 | head -n1)"
checksse2="$(cat /proc/cpuinfo | grep -o sse2 | head -n1)"
checkintel="$(cat /proc/cpuinfo | grep -o "GenuineIntel" | head -n1)"
checkamd="$(cat /proc/cpuinfo | grep -o "AuthenticAMD" | head -n1)"
checkmips="$(cat /proc/cpuinfo | grep -ie mips | sort -r | cut -f2 -d":" | cut -f2 -d" " | cut -d"." -f -1 | head -n1)"
checkhighestcpucorefreq="$(cat /proc/cpuinfo | grep -e MHz | cut -f2 -d":" | cut -f2 -d" " | cut -d"." -f -1 | sort -r | head -n1)"
checklogicalcores="$(cat /proc/cpuinfo |grep -ie cores | cut -f2 -d":" | cut -d" " -f2 | sort | wc -l)"

if [[ "$(echo $checkx)" == "" ]] && [[ "$(echo $checkw)" == "" ]]; then


echo -e "\033[1;31mTHIS SCRIPT MUST BE RUN WITH Xorg or Xwayland !!!\033[0m\n" >> /dev/console &

echo -e "\033[1;31mTHIS SCRIPT MUST BE RUN WITH Xorg or Xwayland !!!\033[0m\n" &




###
else
###
if [[ "$check64bit" == "lm" ]]; then
fakupa="64bit"
else
fakupa="32bit"
fi

if [[ "$checkintel" == "GenuineIntel" ]]; then
fakupac="Intel"
elif [[ "$checkamd" == "AuthenticAMD" ]]; then
fakupac="AMD"
else
fakupac="Other"
fi
if [[ "$checkpae" == "Physical address extension" ]]; then
fakuplac="PAE"
else
fakuplac="noPAE"
fi
export MUD="
<window title=\"HUGE Replaceable Puppy Linux kernel recommender Table\" width-request=\"750\" height-request=\"500\" resizable=\"true\">
<vbox width-request=\"750\" height-request=\"500\">

<tree>
<label>FEATURES|k3.2 or ++|k4.6 or ++|k4.19.235|k5.15 or ++|THIS PC</label>
<item>BIOS|2007++|2008++|2009++|2019++|$dateofrelease</item>
<item>ACPI|APM++|ACPI|ACPI|ACPI|$checkacpi</item>
<item>UEFI|N/A|not required|not required|compatible|$checkuefi</item>
<item>MEM|DDR|DDR2++|DDR2++|DDR4++|$checkmemorytype</item>
<item>CPU|32bit|PAE32bit++|PAE32bit++|PAE32bit++|$fakuplac$fakupa</item>
<item>CPU Brand|ANY|ANY|ANY|ANY|$fakupac</item>
<item>SSE2|not reqired|sse2|sse2|sse2|$checksse2</item>
<item>SSSE3|not required|not required|not required|recommended|$checkssse3</item>
<item>AES|not required|not required|recommended|recommended|$checkaes</item>
<item>AVX2|not required|not required|not required|recommended|$checkavx2</item>
<item>Logical Cores|1|2|2++|2++|$checklogicalcores</item>
<item>MHz|1000|2100++|2100++|2400++|$checkhighestcpucorefreq</item>
<item>bogoMIPS|800|2000|2100++|3000++|$checkmips</item>
</tree>

</vbox>
</window>"

gtkdialog --program=MUD --center &




fi

fi


exit 0

Ezúton is külön felsorolás nélkül mindenkinek köszönöm aki részt vett az elkészítésében!

Utólag még szerkesztve ekkor: 2022.04.29. 09:08

janugsa
Adminisztrátor
Hozzászólások: 617
Csatlakozott: 2014.06.28. 00:17

Re: scriptek

Hozzászólás Szerző: janugsa »

A második gépem 1 magos , SD ram 256MB. Ezen most 3.16 kernel megy.
A bios sort elrontotta. Függetlenül attól, hogy pár szót magyarrá írtam. A dmidecode | grep Date jó. Kiírja a Release Date 12/30/1999 és még a Manufacture Date 07/08/00 is.
Vagy azért mert ez már nagyon régi.
A Ram érték sincs (talán mert SD RAM).
Screenshot.jpg
Screenshot.jpg (63.74 KiB) Megtekintve 1305 alkalommal

Avatar
nocsak
Hozzászólások: 408
Csatlakozott: 2014.09.29. 15:01
Kapcsolat:

Re: scriptek

Hozzászólás Szerző: nocsak »

Köszönöm a visszajelzést ismét, igen a

Kód: Egész kijelölése

| grep Date
az nem jó, mert az ezek szerint nem kizárólagos a Release Date -re, javítottam!
Továbbá a RAM felismerést javítottam, ha lehet még egy próbát kérnék azon az egy magos gépen az immáron itt elérhető javított verzióval:

https://sourceforge.net/projects/puppys ... h/download

Előre is Köszönöm!

janugsa
Adminisztrátor
Hozzászólások: 617
Csatlakozott: 2014.06.28. 00:17

Re: scriptek

Hozzászólás Szerző: janugsa »

1 magos jó.
Screenshot(1).jpg
Screenshot(1).jpg (61.15 KiB) Megtekintve 1286 alkalommal
2 magosom, ami eddig jó volt, most a Ram-ra DIMM jelenik meg DDR2 kellene.

Válasz küldése

Vissza: “Programozás, alkalmazásfejlesztés”