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: 564
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

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

No alakitottam a kns2 -n, mostmár van benne mentés és autómatikus indítás funkció is. Ha van már beállított müködő netünk , akkor a szkript létre hozza a /root/.kns-save fájlt amiben lesznek a mentések.(A csillaggal kezdődő sor fog autómatikusan indulni... ha nem akarunk autómatikus indulást ne legyen csillag semelyik előtt...), és létrehozza a /etc/init.d/kns_autostart szimlinket az autó induláshoz.Továbbá szerkeszti a /usr/local/bin/defaultconnect fájlt is a tray ikon számára...
Persze ha nem akarjuk a mentést szerkesztgetni akkor elég ha újracsatlakozunk a hálózaton és majd becsillagozza a szkript a mentett hálót...
A mentés nálam így néz ki :

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

# KuLuSz's Network Setup v2.1 save file
# * at line start means it will start automatic at boot
#|interface|essid|password|type|wpa_sup driver|wpa_sup conf|dhcp command

*|eth0|||lan|||
|wlan0|NO_SHARE|jelszó|wifi|-Dwext |ctrl_interface=/var/run/wpa_supplicant;;network={;	ssid="NO_SHARE";....
Mj.: Távolitsuk el a .tgz kiterjesztést , adjunk jogsit, majd futtassuk mint 1 szkriptet.
Csatolmányok
kns_v2.1_ENG.tgz
remove .tgz extension , add permission , run as script.
(9.42 KiB) Letöltve 61 alkalommal.
kns_v2.1.tgz
Távolitsuk el a .tgz kiterjesztést , adjunk jogsit, majd futtassuk mint 1 szkriptet.
(9.59 KiB) Letöltve 49 alkalommal.
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

ticoo1
Hozzászólások: 603
Csatlakozott: 2014.10.21. 08:58

Re: scriptek

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

Köszönöm! :D

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

Re: scriptek

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

Nem tudom más is észrevette e, hogy a Linuxos clamav nem keres a memóriában a clamwin-nel ellentétben.
Persze oké a Linux az más, de hát akkor is...

Végül kialakítottam egy félmegoldást a cél érdekében, amivel kilistáztatom egy szövegfájlba a folyamatokat majd azt a listát adom meg a clamscan-nek, így ha nem is közvetlenül a memóriában történik a betöltött futtathatók ellenőrzése, de azokat a futtathatókat nézi át a szkriptben használt clamscan parancs amik a memóriába egyébként be vannak töltve.

Természetesen bárki tovább gondolhatja a szkriptet saját érdekei szerint, íme:

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

#!/bin/bash

szatyor=""
szatyor="$HOME/filelist.txt"





if [[ -f "$szatyor" ]];then
rm "$szatyor" && echo "$szatyor removed"
else
echo "$szatyor was not exist"
fi
for pid in `ps auxwww | awk '{print $2}'`; do readlink -f /proc/$pid/exe >> "$szatyor"; done
echo "Number of Executables in Memory: "
wc -l "$szatyor"

echo "starting scan" && clamscan -i --file-list="$szatyor" --log="/var/log/clamav/clamscan_szatyor.log"

echo "Complete!"

MX Linuxra telepített clamtk után ami ugye magával hozza a clamav-ot is, meg kapunk vele hozzá gui-t, sudo -val kiadva a példa kedvéért MEM.sh szkriptre:

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

sudo ./MEM.sh
s495.png
s495.png (258.83 KiB) Megtekintve 1075 alkalommal
Puppy Linuxon már amennyiben sikerül clamav-ot telepíteni és konfigurálni a sudo természetesen nem fog kelleni.


SZERK.:

Kicsit tovább gondoltam a szkriptet a képen látható hiba miatt, íme:

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

#!/bin/bash

szatyor=""
szatyor="$HOME/filelist.txt"
szatyorba=""
szatyorba="$HOME/filelist_uniq.txt"


if [[ -f "$szatyor" ]];then
rm "$szatyor" && echo "$szatyor removed"
else
echo "$szatyor was not exist"
fi
if [[ -f "$szatyorba" ]];then
rm "$szatyorba" && echo "$szatyorba removed"
else
echo "$szatyorba was not exist"
fi


for pid in `ps auxwww | awk '{print $2}'`; do readlink -f /proc/$pid/exe | awk '{print $1}' >> "$szatyor"; done


cat "$szatyor" | sort | uniq > "$szatyorba"
echo "Number of unique Executables in Memory: "
wc -l "$szatyorba"

echo "starting scan" && clamscan -i --file-list="$szatyorba" --log="/var/log/clamav/clamscan_szatyor.log"

echo "Complete!"




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

Re: scriptek

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

Üdv!

KuLuSz ismét adott egy ötletet, ezúttal a multimédia kereső optimalizálásához... most perpill az ENG és a HUN verzió is egyformán úgy működik, hogy 3 karakter beírása után mindig kiadja a find parancsot... namármost ha van 60'000 db fájlunk akkor ott igencsak kiakasztjuk vele a szkriptet és a find parancsot is.

Ennek kiküszöbölésére beraktam a keresést egy gomb szerepébe, amire elég 1x kattintanunk és ezt tegyük úgy, hogy kiválasztjuk a kívánt kiterjesztést .mp3 mondjuk, valamint a 3 csillagot a keresőmezőbe megadjuk: ***

Ezután rányomva a Keresés gombra az eddig megszokott módon mp3.txt fájlba kapjuk a találatokat.
A csavar az egészben az, hogy jelen állapotban létrejön egy mpxtemp.txt fájl a szkript indulásánál, és ebbe grepeljük bele az mp3.txt tartalmát, ahelyett, hogy mindig a find parancsokkal eröltetnénk a folyamatot.

Avagy

Megnyílik a szkript, beírjuk a *** -t a keresőmezőbe, kiválasztjuk a kiterjesztést, és megnyomjuk a Keresés gombot. Amíg az vissza nem huppan a normál kidomborodott állapotába, addig dolgozik a find parancs. Amint ez megtörtént, a *** helyére beírt kulcsszavak már a txt-ből grepelik ki a keresendő találatokat.

A 3 csillag csak a Keresés gombhoz javasolt, ott ugyanis muszáj 3 karakterig elmenni.
Utána viszont a grepelés, avagy a beírt keresendő kulcsszavak már lehetnek a txt-ben található mappanevek is, hiszen a grep mindenre keres nem csak kiterjesztésre.

Így tesztre itt bocsátom egyelőre a módosított szkriptet és egyelőre csak a magyar nyelvűt... íme:

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

#!/bin/bash
###nocsak remake based on KuLuSz original idea on 2021.10.01. CEST
### multimédia fájl kereső és lejátszó és lejátszási lista generátor a találatokból
#kérlek figyelj a keresési mélységre és a találatok mennyiségére
### HASZNÁLAT ELŐTT TESZTELD !!! ###
###OLVASSEL###
#Első futtatásnál létrehoz néhány txt fájlt mint adazbázist
#a kereső mező és a kiválasztott forráskönyvtár alapján.
#3-nál több karakter begépelés után a kereső mezőben a kereső folyamat elindul
#függően a mélység és a fájlok mennyiségétől és a kiválasztott kiterjesztzéstől.
#A találati eredmények megjelennek a multimédia fa mezőben.
#Duplán kattintva a kiválaszott fájlra csak azt, az mp3.pls gombra kattintva
#kiexportálva és kovertálva a teljes listát menti a $HOME/mpp3/mp3.pls fájlba majd lejátszásra
#megnyitja a legördülőben kiválasztott lejátszóval.
# !!az ffplay nem kezel .pls fájlokat!!!
#Minden további más funkció felfedezhető könnyedén a használat során. Hajrá!
############

export OUTPUT_CHARSET=UTF-8
###export CURD=$(dirname $0)


if [[ ! -d "$HOME/mpp3" ]];then
mkdir -p "$HOME/mpp3"

fi


if [[ -f "$HOME/mpp3/mpxtemp.txt" ]];then

echo "1"

else
touch "$HOME/mpp3/mpxtemp.txt"
fi

if [[ -f "$HOME/mpp3/func.sh" ]];then

echo "1"

else


echo "#!/bin/bash



findcar(){

if [[ \"\$(echo -n \"\$SEARCH\" | wc -c)\" -ge 3 ]];then
if [[ \"\$PLAYER_EXT\" == \".all\" ]];then
find \"\$DIReR/\" -type f \( -iname \*\$SEARCH*.mp3 -o -iname \*\$SEARCH*.m4a -o -iname \*\$SEARCH*.ogg -o -iname \*\$SEARCH*.flac -o -iname \*\$SEARCH*.oga -o -iname \*\$SEARCH*.wav -o -iname \*\$SEARCH*.mp2 -o -iname \*\$SEARCH*.avi -o -iname \*\$SEARCH*.mpg -o -iname \*\$SEARCH*.mpeg -o -iname \*\$SEARCH*.mp4 -o -iname \*\$SEARCH*.mkv -o -iname \*\$SEARCH*.m4v -o -iname \*\$SEARCH*.ogv -o -iname \*\$SEARCH*.wma -o -iname \*\$SEARCH*.wmv -o -iname \*\$SEARCH*.midi -o -iname \*\$SEARCH*.webm \) > \"\$HOME/mpp3/mp3.txt\"
elif [[ \"\$PLAYER_EXT\" == \".allaudio\" ]];then
find \"\$DIReR/\" -type f \( -iname \*\$SEARCH*.mp3 -o -iname \*\$SEARCH*.m4a -o -iname \*\$SEARCH*.ogg -o -iname \*\$SEARCH*.flac -o -iname \*\$SEARCH*.oga -o -iname \*\$SEARCH*.wav -o -iname \*\$SEARCH*.mp2 -o -iname \*\$SEARCH*.wma \) > \"\$HOME/mpp3/mp3.txt\"
elif [[ \"\$PLAYER_EXT\" == \".allvideo\" ]];then
find \"\$DIReR/\" -type f \( -iname \*\$SEARCH*.avi -o -iname \*\$SEARCH*.mpg -o -iname \*\$SEARCH*.mpeg -o -iname \*\$SEARCH*.mp4 -o -iname \*\$SEARCH*.mkv -o -iname \*\$SEARCH*.m4v -o -iname \*\$SEARCH*.ogv -o -iname \*\$SEARCH*.wmv -o -iname \*\$SEARCH*.webm \) > \"\$HOME/mpp3/mp3.txt\"
else
if [[ \"\$PLAYER_EXT\" != \".all\" ]] || [[ \"\$PLAYER_EXT\" != \".allaudio\" ]] || [[ \"\$PLAYER_EXT\" != \".allvideo\" ]];then
[[ -z \"\$SEARCH\" ]]&& SEARCH=\".*\"
find \"\$DIReR/\" -iname \"*\$SEARCH*\$PLAYER_EXT\" > \"\$HOME/mpp3/mp3.txt\"
fi
fi
fi
}

lol(){
	
	\$PLAYER_RPG \"\$plista\" \"\$@\" &
}

gok(){
sed -e 's/^/File1=file:\/\//' \"\$HOME/mpp3/mpxtemp.txt\" > \"\$HOME/mpp3/mp3temp.txt\" && while read line; do n=\$((++n)) &&  echo \"\$line\"|sed -e 's/[0-9]/'\$((\$n))'/' ; done < \"\$HOME/mpp3/mp3temp.txt\" > \"\$HOME/mpp3/mp3.pls\" && sed -i '1s/^/[playlist]\nVersion=2\n\n/' \"\$HOME/mpp3/mp3.pls\" && \$PLAYER_RPG \"\$HOME/mpp3/mp3.pls\" &
	
}
got(){
	
	[ ! -z \"\$SEARCH\" ]&& grep \"\$SEARCH\" \"\$HOME/mpp3/mp3.txt\" > \"\$HOME/mpp3/mpxtemp.txt\"
	
	
}
if [[ \"\$1\" == \"a\" ]];then
findcar
elif [[ \"\$1\" == \"b\" ]];then
lol
elif [[ \"\$1\" == \"c\" ]];then
gok
elif [[ \"\$1\" == \"d\" ]];then
got
fi








" > "$HOME"/mpp3/func.sh && chmod +x "$HOME"/mpp3/func.sh &





fi





if [[ ! -f "$HOME/mpp3/mp3.txt" ]];then
touch $HOME/mpp3/mp3.txt

fi

 for prog in defaultaudioplayer fofi8 ffplay defaultmediaplayer smplayer gnome-mplayer gmplayer gui_mpv vlc;do
[ $(which "$prog") ]&&  DLG_PROGS=" $DLG_PROGS
 <item>$prog</item>
 "
done
 
 
export MD="<window title=\"$(gettext 'multimédia kereső')\" resizable=\"true\">
<vbox width-request=\"600\" height-request=\"500\">

    <hbox homogeneous=\"true\"><frame Vezérlő>
    <text label=\"Forrás útvonal:\"></text>
     <entry space-expand=\"false\" space-fill=\"false\" fs-title=\"Válassz könyvtárat:\" fs-action=\"folder\">
    <default>$HOME</default>
    <variable>DIReR</variable>
   </entry>
   <button>
   <label>Könyvtár</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:DIReR</action>
   </button>
     <button>
  <label>Keresés</label>
  <action>$HOME/mpp3/func.sh a</action>
  </button>
   <text><label>Grafikus Lejátszó:</label></text>
        <combobox width-request=\"140\">
         "$DLG_PROGS"
         <variable>PLAYER_RPG</variable>
        </combobox></frame>
        </hbox>
<hbox homogeneous=\"false\"><text label=\"Keresés mindenre: ***\"></text>
<entry>
<variable>SEARCH</variable>
<action>$HOME/mpp3/func.sh d</action>
</entry>
        <combobox width-request=\"140\">
         <default>.mp3</default>
         <item>.mp3</item>
         <item>.m4a</item>
         <item>.ogg</item>
         <item>.flac</item>
         <item>.oga</item>
         <item>.wav</item>
         <item>.mp2</item>
         <item>.wma</item>
         <item>.midi</item>
         <item>.m3u*</item>
         <item>.avi</item>
         <item>.mpg</item>
         <item>.mpeg</item>
         <item>.mp4</item>
         <item>.mkv</item>
         <item>.m4v</item>
         <item>.ogv</item>
         <item>.wmv</item>
         <item>.webm</item>
         <item>.all</item>
         <item>.allaudio</item>
         <item>.allvideo</item>
         <variable>PLAYER_EXT</variable>
        </combobox>
        <text label=\"$HOME/mpp3/\"></text>
        <button>
        <label>mp3.pls</label>
        <action>$HOME/mpp3/func.sh c</action>
        </button>
</hbox>

<tree auto-refresh=\"true\">
<label>multimédia</label>
<variable>plista</variable>
<input file>\"$HOME/mpp3/mpxtemp.txt\"</input>
<action>$HOME/mpp3/func.sh b</action>
</tree></vbox></window>"


gtkdialog -pc MD

if [[ -f "$HOME/mpp3/mp3temp.txt" ]] ;then
rm $HOME/mpp3/mp3temp.txt
fi

Screenshot.jpg
Screenshot.jpg (45.22 KiB) Megtekintve 967 alkalommal

Ja és továbbra is MX illetve antix Linux kompatibilis a szkript!

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

Re: scriptek

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

Sziasztok!

Készítettem egy FolderCloner.sh shell szkriptet aminek gtkdialog és cp parancs az alapja. Az alapbeállítás -PRpan tehát ne kövesse a linkeket, legyen rekurzív, preserve, archive és no-overwrite. Ezt módosíthtjuk -PRpaf -ra is, ekkor felülírja a célt. ( -f mint force)


A szkript kinézetéről képet talán később megosztok.

Működése során a % jelző egyből 40%-ra ugrik, majd a művelet sikeressége után 70%-ra - vár fél másodpercet és 100%-ra ugrik, ezzel eltűnik a % jelző és a művelet befejeződött. Egyelőre angol nyelvű.


cp manpage

FolderCloner.sh

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

#!/bin/bash

export CURD=$(dirname $0)

 
 export MAIN_DIALOpG="
 <window title=\"$(gettext 'Folder Cloner: cp')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox scrollable=\"true\" height=\"250\" width=\"400\">
    <frame copy parameters (-PRpan) or (-PRpaf)>
     <entry>
      <default>-PRpan</default>
      <variable>HTP</variable>
     </entry>
     </frame>
   <frame Source name>
     <hbox homogeneous=\"true\">
     <entry space-expand=\"false\" space-fill=\"false\" fs-title=\"Select directory:\" fs-action=\"folder\">
   
    <variable>DIReR</variable>
   </entry>
   <button>
   <label>source directory</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:DIReR</action>
   </button>
   </hbox>
     </frame>
        <frame Target name>
     <hbox homogeneous=\"true\">
     <entry space-expand=\"false\" space-fill=\"false\" fs-title=\"Select directory:\" fs-action=\"folder\">
    
    <variable>DUReR</variable>
   </entry>
   <button>
   <label>target directory</label>
   <input file stock=\"gtk-open\"></input>
   <action>fileselect:DUReR</action>
   </button>
   </hbox>
     </frame>
     <hbox homogeneous=\"true\">
     <button ok></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Quit')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOpG --center`"
 eval "$RETSTRING"

if [[ "$pagg" = true ]]; then

echo "nothing"

else

exit 1

fi



if [[ ! "$DIReR" ]] || [[ "$DIReR" == "" ]] || [[ ! "$DUReR" ]] || [[ "$DUReR" == "" ]] || [[ ! "$HTP" ]] || [[ "$HTP" == "" ]]; then




    xmessage -title "Something wrong" -buttons Ok:0,"Hmm":1 -default Ok -nearmouse "No value given!" -timeout 5 &
  
 
  else
  
export lika="$DIReR/"
export luka="$DUReR/"
export out="$HTP"



export MD='<window title="Progress: cp '$out'" icon-name="folder-remote" resizable="true">

<vbox width-request="600" height-request="100">

  <frame Progress>
    <text>
      <label>copy with '$out':</label>
    </text>
    <progressbar>
      <label>Some Text</label>
      <input>echo 40; echo "copy"; cp "$out" "$lika"/* "$luka" && echo 70 && sleep 0.5 && echo 100</input>
      <action type="exit">Ready</action>
    </progressbar>
  </frame>
  <hbox>
   <button cancel></button>
  </hbox>

</vbox></window>'

gtkdialog -pc MD


fi



Szerkesztve! 2022.04.19. 10:54

Eggyel több pontosvessző volt az input sorban, ezt javítottam, most már magától eltűnik a progress bar ha befejezte a másolást.

Szerkesztve! 2022.05.17. 13:32
Javítva -PRpan és -PRpaf kapcsolókra, angol nyelvű, forrás könyvtár * jelöléssel.

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

Re: scriptek

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

Üdv!

Írt KuLuSz kolléga egy Brightness, Gamma, R,G,B, Redshift klónt shell script alapokon. A körülményektől most eltekintek, a lényeg, hogy tesztre bocsáttatik. Hogy miért én töltöm akkor fel?
Hát ezt majd az eredeti szerzője megválaszolja ha akarja :D

test02-debug_func_DVI2_nocsak.sh

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

#!/bin/bash
#Light control by KuLuSz prod nocsak on 2022.03.15.
#This shell script a rework by nocsak.

DIR="/tmp/backlight_brightness"
[ ! -d "$DIR" ]&& mkdir -p "$DIR"
F="$DIR/br.txt"

if [ ! -z "`ls /sys/class/backlight/`" ];then
echo '<frame Hardware brightness control>' > "$F"
grep -H . /sys/class/backlight/*/max_brightness | while read i;do
DEV="`cut -f5 -d"/" <<< "$i"`"
MAX="`cut -f2 -d":" <<< "$i"`"
MIN="$((20*$MAX/100))" # 20%
DEF="`cat /sys/class/backlight/$DEV/brightness`"
RS=1
[ "$MAX" -ge "50" ]&& RS="10"
[ "$MAX" -ge "100" ]&& RS="20"
[ "$MAX" -ge "200" ]&& RS="50"
[ "$MAX" -ge "1000" ]&& RS="100"
[ "$MAX" -ge "2500" ]&& RS="500"
echo '<hbox>
 <text width-request="100"><label>'$DEV'</label></text>
 <hscale width-request="120" height-request="40" inverted="false" range-min="'$MIN'" range-max="'$MAX'" range-step="'$RS'">
  <default>'$DEF'</default>
  <variable>'$DEV'_NUM</variable>
  <action>echo $'$DEV'_NUM > /sys/class/backlight/'$DEV'/brightness</action>
 </hscale>
</hbox>' >> "$F"
done
echo '</frame>' >> "$F"
else
echo "Hardware brightness control not available.
Kernel drivers not support it."
fi

if [ ! -z "`which xrandr`" ];then
for i in "`xrandr --verbose | grep -o ".* co\|Ga.*\|Br.*" | grep -o ".* co\|:\|[0-9].[0-9]" |
sed 's/ co// ; /^[A-Z]/s/^/|/' | tr -d '\n' | sed 's/|/\n/g ; s/-/_/g' | sed '/^$/d'`";do
DEV="`cut -f1 -d':' <<< "$i"`"
DEF="`cut -f5 -d':' <<< "$i"`"

cut -f2 -d":" <<< "$i" > "$DIR"/"${DEV}"_rg
cut -f3 -d":" <<< "$i" > "$DIR"/"${DEV}"_gg
cut -f4 -d":" <<< "$i" > "$DIR"/"${DEV}"_bg
echo "${DEF/./,}" > "$DIR"/"${DEV}"_b
echo "1,0" > "$DIR"/"${DEV}"_g

echo '<frame '${DEV//_/-}' Software control>
<hbox>
 <text width-request="120"><label>Brightness</label></text>
 <hscale width-request="120" height-request="60" inverted="false" range-min="0.2" range-max="3" range-step="0.1" value-pos="1" auto-refresh="true">
  <item>1|1</item>
  <variable>'$DEV'_NUM</variable>
  <input file>'$DIR'/'$DEV'_b</input>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </hscale>
</hbox>

<hbox>
 <text width-request="120"><label>Gamma</label></text>
 <hscale width-request="120" height-request="60" inverted="false" range-min="0.2" range-max="3" range-step="0.1" value-pos="1" auto-refresh="true">
  <item>1|1</item>
  <variable>'$DEV'_g_num</variable>
  <input file>'$DIR'/'$DEV'_g</input>
  <action>echo $'$DEV'_g_num > '$DIR'/'$DEV'_rg</action>
  <action>echo $'$DEV'_g_num > '$DIR'/'$DEV'_gg</action> 
  <action>echo $'$DEV'_g_num > '$DIR'/'$DEV'_bg</action>
  <action>refresh:'$DEV'_rg_num</action>
  <action>refresh:'$DEV'_gg_num</action>
  <action>refresh:'$DEV'_bg_num</action>  
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </hscale>
</hbox>

<hbox>
 <text width-request="120"><label>Red</label></text>
 <hscale width-request="120" height-request="60" inverted="false" range-min="0.2" range-max="3" range-step="0.1" value-pos="1" auto-refresh="true">
  <item>1|1</item>
  <variable>'$DEV'_rg_num</variable>
  <input file>'$DIR'/'$DEV'_rg</input>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </hscale>
</hbox>

<hbox>
 <text width-request="120"><label>Green</label></text>
 <hscale width-request="120" height-request="60" inverted="false" range-min="0.2" range-max="3" range-step="0.1" value-pos="1" auto-refresh="true">
  <item>1|1</item>
  <variable>'$DEV'_gg_num</variable>
  <input file>'$DIR'/'$DEV'_gg</input>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </hscale>
</hbox>

<hbox>
 <text width-request="120"><label>Blue</label></text>
 <hscale width-request="120" height-request="60" inverted="false" range-min="0.2" range-max="3" range-step="0.1" value-pos="1" auto-refresh="true">
  <default>1</default>
  <item>1|1</item>
  <variable>'$DEV'_bg_num</variable>
  <input file>'$DIR'/'$DEV'_bg</input>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </hscale>
</hbox>

<hbox homogeneous="true">
 <button><label>Night</label>
  <action>echo "0.8" > '$DIR'/'$DEV'_b</action>
  
  <action>echo "1" > '$DIR'/'$DEV'_rg</action>
  <action>echo "0.8" > '$DIR'/'$DEV'_gg</action>
  <action>echo "0.7" > '$DIR'/'$DEV'_bg</action>
  <action>refresh:'$DEV'_NUM</action>
  
  <action>refresh:'$DEV'_rg_num</action>
  <action>refresh:'$DEV'_gg_num</action>
  <action>refresh:'$DEV'_bg_num</action>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </button>
 <button><label>Night 2</label>
  <action>echo "0.8" > '$DIR'/'$DEV'_b</action>
  
  <action>echo "1.5" > '$DIR'/'$DEV'_rg</action>
  <action>echo "1.2" > '$DIR'/'$DEV'_gg</action>
  <action>echo "1.2" > '$DIR'/'$DEV'_bg</action>
  <action>refresh:'$DEV'_NUM</action>
  
  <action>refresh:'$DEV'_rg_num</action>
  <action>refresh:'$DEV'_gg_num</action>
  <action>refresh:'$DEV'_bg_num</action>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </button>
 <button><label>Reset</label>
  <action>echo "1" > '$DIR'/'$DEV'_b</action>
  
  <action>echo "1" > '$DIR'/'$DEV'_rg</action>
  <action>echo "1" > '$DIR'/'$DEV'_gg</action>
  <action>echo "1" > '$DIR'/'$DEV'_bg</action>
  <action>refresh:'$DEV'_NUM</action>
  
  <action>refresh:'$DEV'_rg_num</action>
  <action>refresh:'$DEV'_gg_num</action>
  <action>refresh:'$DEV'_bg_num</action>
  <action>xrandr --output "'${DEV//_/-}'" --brightness "$'$DEV'_NUM" --gamma "$'$DEV'_rg_num":"$'$DEV'_gg_num":"$'$DEV'_bg_num"</action>
 </button>
</hbox>

</frame>' >> "$F"
done
fi

if [ -e "$F" ];then
gtkdialog -cs <<< '<window title="Light control"><vbox scrollable="true" vscrollbar-policy="1" height="400" width="280">'`cat "$F"`'</vbox></window>'
rm -rf "$DIR"
fi

ScreenShot.jpg
ScreenShot.jpg (17.46 KiB) Megtekintve 777 alkalommal


Képes megjeleníteni a kernel által támogatott hardveres fényerőszabályozást is:


ScreenShot2.jpg
ScreenShot2.jpg (22.52 KiB) Megtekintve 770 alkalommal
Ha ez nem lehetséges, akkor látszik ez a guiban ami fentebb az utolsó előtti képen látható, ellenben megjelenik egy hardveres Brightness állítási lehetőség is. Tehát a terminálban a következő értesítét jelenik meg, ha onnan indítottuk:

Hardware brightness control not available.
Kernel drivers not support it.

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

Re: scriptek

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

Az eredeti ötlet az volt hogy a hardveres fényerőszabályozást berakjuk 1 gui-ba... ez sikerült is, csakhogy vannak olyan gépek vagy kernelek amik nem feltétlenül támogatják ezt az esetet , ilyen az én asztali gépem is ...Ezért kiötlött fejben hogy van más mód is a fényerő beállítására, igy találtam rá az xrandr parancsra ami sokmindenkinek ismerős lehet ... majd extra ötlet ként kigondoltam mi lenne ha már a gamma értékét is lehetne állítani. Ez is sikerült első körben az xgamma paranccsal majd bizonyos megfontolásból elvetettem az ötletet mert több kijelző esetén ezaz út nem járható...ezért visszatértem az xrandr parancshoz ahol szintén állítható a gama értéke. És itt jött a képbe nocsak erőteljes bugja ahol a kijelző neve tartalmazott kötőjelet igy a szkript néhány esetben hibás dolgokat müvelt, ezzel szenvedtünk kb fél napot mire rájöttem hogy a kötőjel a hiba ... no ezt orvosolva már hibátlanul müködik a szkript ...Egy másik hiba mely az én rendszeremből fakad holot ugyanaz mint a nocsaké, de állítólag nocsak szerint az enyém vírusos... na szóval én ahogy megirom a szkriptet az nocsaknál nem müködik, viszont ahogy ő megirja a szkriptet az meg nálam nem müködik, erre a bugra is rájöttünk tehát aki ilyen hibát lát terminálban:

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

(gtkdialog:17993): Gtk-CRITICAL **: IA__gtk_range_set_value: assertion 'GTK_IS_RANGE (range)' failed
**
ERROR:variables.c:189:variables_new_with_widget: assertion failed: (widget != NULL)
/scriptek_home/backlight_brightness/nocsak: line 156: 17993 Aborted                 gtkdialog -cs <<< '<window title="Light control"><vbox scrollable="true" vscrollbar-policy="1" height="400" width="280">'`cat "$F"`'</vbox></window>'
Az használja a nocsak féle verziót, valószinüleg az övé fog müködni rendesen mindenkinél (nálam is az övé müködött szüz rendszer esetén).
Feltöltöm ide az én verziómat megőrzés céljából.
A Night és Night2 gombok 1-1 beállítást takarnak , a Night a hivatalos éjszakai mód (erősen kontrasztos) , a Night2 a szerintem jól beállított éjszakai mód , a reset gomb pedig visszaállít mindent 1.0-ra azaz az eredeti normál állapotra,de erre tettem 1 akasztót is a csúszkára. A gamma csuszka egyszerre állítja a red, green ,blue csúszkákat, a brightness, red, green, blue csuszkák külön állithatóak tetszés szerint.
Jó szórakozást kívánok hozzá! :)
Csatolmányok
Light_control_by_KuLuSz.tgz
remove .tgz, add permission, run as script
(5.58 KiB) Letöltve 35 alkalommal.
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

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

Re: scriptek

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

Üdv ismét!

Hát a tévedések vígjátéka ehhez képest kutya*****..... :D

Elindítottam a dpup-ot... mondom akkor lássuk a medvét, semmi. Mondom na neee... Elindítottam a NosPup-ot. Ott se semmi. Leszedtem kulusz feltöltését, és azzal meg megy.... én kicsit úgy érzem magam, hogy ...... :D :D -na mindegy..
Szóval kuluszé megy minden máson, az enyém meg a szűz Xenial-on... azon a Xenialon amit utóbb töltöttem fel SF-re.

Az LxPupXenial-17.11-LX1112-uefi.iso -n.

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

Re: scriptek

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

No rájöttem a hiba okára (magyar nyelvnél vessző kell azaz az én szkriptem, angol nyelvnél pont kell azaz a nocsak szkriptje) , mostmár ez is javítva lett ... ezentul nem kell 2 verzió csak 1, amit most megosztok. Kicsit átvariáltam az rgb csúszkákat , kivettem az 1.0 akasztókat a csúszkákból, plusz kapott 2 gombot ... Sok sikert hozzája .

Jelenleg így néz ki a szkript:
sh.png
sh.png (20.84 KiB) Megtekintve 719 alkalommal
MJ. a csatolmányhoz: Távolitsuk el a .tgz kiterjesztést, adjunk neki jogosultságot, majd futtassuk mint 1 szkriptet...
Csatolmányok
Light_control_v2_by_KuLuSz.tgz
Távolitsuk el a .tgz kiterjesztést, adjunk neki jogosultságot, majd futtassuk mint 1 szkriptet...
(5.84 KiB) Letöltve 66 alkalommal.
-<(].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: 564
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

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

Bash shell szkriptelés - gtkdialog indítási formák

export:

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

#!/bin/sh

export MD='
<window>

 <vbox>
 
  <text>
  <label>Ez egy exportált gui</label>
  </text>
  
 </vbox>
 
</window>'

gtkdialog --program=MD --center

# röviden: gtkdialog -pc MD
pipe:

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

#!/bin/sh

echo '
<window title="pipe">

 <vbox>
 
  <text>
  <label>Ez egy csövön át vezetett  gui</label>
  </text>
  
 </vbox>
 
</window>' | gtkdialog --center --stdin

# röviden: gtkdialog -cs
file:

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

#!/bin/sh

gtkdialog --center --file=/gtkdialog/start/gui 

# röviden: gtkdialog -cf /gtkdialog/start/gui
gui:

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

<window title="file">

 <vbox>
 
  <text>
  <label>Ez egy fájlból szerzett gui</label>
  </text>
  
 </vbox>
 
</window>
Források:
http://01micko.com/reference/
https://www.youtube.com/watch?v=znSDoHY1jho
https://oldforum.puppylinux.com/viewtopic.php?t=38608
http://xpt.sourceforge.net/techdocs/lan ... es/single/ https://blogs.czapski.id.au/2017/04/gtk ... xploration
https://github.com/oshazard/gtkdialog/t ... r/examples

http://pclos.janu.hu/wp-content/uploads ... ialog1.pdf
http://pclos.janu.hu/wp-content/uploads ... ialog2.pdf
http://pclos.janu.hu/wp-content/uploads ... ialog3.pdf
http://pclos.janu.hu/wp-content/uploads ... ialog4.pdf
http://pclos.janu.hu/wp-content/uploads ... ialog5.pdf
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

Válasz küldése

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