Stranica: 3/4.

Re: Mjesečni bash scripting challenge?

Postano: 24 srp 2014, 13:49
Postao/la jurastublic
Cooleech je napisao/la:Čini se da samo ja pridonosim ovdje :roll:
No, dobro. Evo nešto za bilo koji DE, ali prvenstveno za LXDE - kopiranje .desktop fileova. Kako LXDE nema stvaranje desktop ikona (možda u Lubuntuu ili nekoj sličnoj distri? :zbunj), napisao sam malu skriptu koja .desktop datoteku iskopira iz /usr/share/applications mape na desktop.
Nije ništa extra, ali radi. :) U privitku je. ;)


lxshortcut -o naziv_shortcuta.desktop

I dobiješ GUI za izradu shortcuta.

Re: Mjesečni bash scripting challenge?

Postano: 24 srp 2014, 13:58
Postao/la Cooleech
jurastublic je napisao/la:lxshortcut -o naziv_shortcuta.desktop

I dobiješ GUI za izradu shortcuta.
Odlično! Hvala! :)

Re: Mjesečni bash scripting challenge?

Postano: 18 stu 2015, 23:31
Postao/la Cooleech
Da oživim malo ovu temu. Baš je zamrla. Nema nikakvog izazova ali ima korisna skripta;
napravio sam malenu skriptu koja može konvertirati NEKA videa (audio zapis samo kopira) u .mp4 koji se može pokrenut na vašem mobilnom uređaju. Osim ako nije neko čudo sa zelenim ekranom ili nešto tipa SGH-X670 :-D
Enivej, ju get d poJnt. U privitku.

Re: Mjesečni bash scripting challenge?

Postano: 22 stu 2015, 17:10
Postao/la Cooleech
Nova verzija. Teoretski, ova bi TREBALA enkodirati sve što vaš ffmpeg može dekodirati. ;)
Sada enkodira i audio (ili ga, kao i do sada, kopira. Ovisno što odaberete).
U privitku.

Re: Mjesečni bash scripting challenge?

Postano: 27 vel 2016, 13:30
Postao/la jurastublic
Ne znam gdje bih ovo stavio, uglavnom, na desktopu bi htio imati notifikaciju kad netko pošalje poruku na LZS forumu. To obično zatreba kad netko ima neki problem, pa postovi slijede jedan za drugim a ja baš nemam stalno otvoren browser samo zbog toga.

Zato sam napravio skriptu koja obavještava putem standardne desktop notifikacije kad dođe do promjene postova u "Aktivnim temama" na LZS forumu. Zauzima vrlo malo računalnih resursa i bandwitha. Treba napraviti (skriveni) folder ".lzs" i u njega staviti skriptu. Posebni folder zato što ima logove i par pomoćnih datoteka.

Kod: Označi sve

#!/bin/bash

# Provjerava LZS forum - Aktivne teme i javlja standardnom notifikacijom kod promjene

# Napravi skriveni folder ".lzs" u svom $HOME i spremi ovu skriptu u njega
# Postavi dozvolu za izvršavanje
# cd u taj folder i pokreni skriptu iz njega sa 
# nohup ./provjeri_lzs.sh & (a onda ctrl-C)
# ili stavi "$HOME/.lzs/provjeri_lzs.sh" liniju u autostart
# INTERVAL obavezno staviti s, m ili h (sekunde, minute ili sati)
# TRAJANJE_NOTIFIKACIJE u sekundama ili 0 da stoji sve dok se na nju ne klikne.
# URL je od početne stranice (znači lovi postove u svim temama) ali normalno da se može promijeniti
 
INTERVAL_SKENIRANJA=3m
TRAJANJE_NOTIFIKACIJE=0
MOJ_URL="http://www.linuxzasve.com/forum/index.php"

function setup {

   cd $HOME/.lzs

   if [ ! -f stari_grepfajl ]; then
      wget $MOJ_URL -nv -O temp_file \
      && cat temp_file | grep "ib posts vat" > stari_grepfajl
   fi

   if [ -f lzs.log ]; then
      mv lzs.log lzs_bckp.log #Spremi bckp i započni novi log
   else touch lzs.log
   fi
}


function poziv {

while true; do

   wget $MOJ_URL -nv -O temp_file \
   && cat temp_file | grep "ib posts vat" > novi_grepfajl
   
   grep -vf stari_grepfajl novi_grepfajl > razlika.txt

   if [ -s razlika.txt ]; then 
      while read linija ; do
         grep 'temp_file' -e "forumtitle topic_citan" -e "$linija" | grep -e "$linija" -B1 \
         |head -1| cut -d'>' -f2; done < razlika.txt > popis_tema.txt
         echo '<a href="http://www.linuxzasve.com/forum/search.php?search_id=active_topics">Odi na forum.</a>' >> popis_tema.txt

         notify-send 'Linuxzasve - nove poruke' \
         "$(cat popis_tema.txt)" \
         --icon=contact-new -t $(($TRAJANJE_NOTIFIKACIJE*1000));
   fi

   mv novi_grepfajl stari_grepfajl
   
   sleep "$INTERVAL_SKENIRANJA"

done
}

#### main #### 

setup
poziv > lzs.log 2>&1 #pokreni sken i log


Edit: Ispričavam se, zaboravio sam pretvoriti sekunde u milisekunde (jer i tako koristim samo 0). Ispravljeno.
Edit2: I stavio sam početnu stranicu umjesto Aktivnih tema, tako da lovi i nove postove u "Razno" i sl.
Edit3: dodana lista podforuma s novim postovima u notifikaciju.

Gotovi gzip:

Re: Mjesečni bash scripting challenge?

Postano: 27 vel 2016, 13:49
Postao/la calisto053
Nisam još probao, ali je ideja preluda! U arhivu ubacimo i lzs ikone i objavimo na portalu

Re: Mjesečni bash scripting challenge?

Postano: 27 vel 2016, 14:16
Postao/la Cooleech
Super ideja, jura! Samo, umjesto Aktivnih tema radije bih pratio Nepročitane postove (search_id=unreadposts). Ili, još bolje, dodaš opciju da se prate Aktivne teme ili Nepročitani postovi. ;)

Re: Mjesečni bash scripting challenge?

Postano: 27 vel 2016, 21:14
Postao/la jurastublic
@calisto053: Ma nije ti to za portal. Ovo je samo nabrzaka da javi kad je neka promjena. Za pravu stvar bi trebalo parsirati html, najbolje u pythonu i onda to izgleda kako treba. Ali čemu se zezat s time?

@Cooleech: Stavio sam početnu stranicu, pa daje svaku novu promjenu u odnosu na stari grepfajl.

Edit: Evo, napravio sam par promjena i stavio popis podforuma s novim postovima u notifikaciji.

Re: Mjesečni bash scripting challenge?

Postano: 18 ožu 2016, 16:51
Postao/la jurastublic
Skripta za dodavanje nove rezolucije u slučaju da je monitor i kartica podržavaju ali slučajno nije prepoznata od sustava pa je nema na listi rezolucija. Povezano s temom "Custom rezolucija": http://www.linuxzasve.com/forum/viewtop ... =8&t=12808

Kod: Označi sve

#!/bin/bash
# Dodaje novu rezoluciju za monitor ili tv

# Upiši x, y i frekvenciju osvježavanja (ili samo ostavi 60 Hz)
# Spremi pod nastavkom .sh, stavi dozvolu za izvršavanje i dodaj u popis autostart programa
# Pažnja! Moguće je da neke kombinacije rezolucija i frekvencija osvježavanja nisu podržane od
# grafičke kartice ili monitora

x_rez=1680
y_rez=1050
f_osvj=60

ekran_id=$(xrandr -q | grep -w "connected" | cut -d' ' -f1)

# Ako ima više priključenih monitora, otkomentiraj liniju dolje (#ekran_id=""), 
# pogledaj s xrandr oznake video izlaza i upiši među navodnike naziv željenog izlaza
# (na primjer: ekran_id="DVI-0")

#ekran_id=""    

modeline_string="$(cvt "$x_rez" "$y_rez" "$f_osvj" | grep "Modeline" | cut -d' ' -f2-)"
modeline_param=$(echo "$modeline_string"| cut -d' ' -f2-)
naziv_rez=$(echo $modeline_string | cut -d' ' -f1 | tr -d '"')

xrandr --newmode "$naziv_rez" $modeline_param 
xrandr --addmode "$ekran_id" "$naziv_rez"
xrandr --output "$ekran_id" --mode "$naziv_rez"

exit
ili u privitku:

Re: Mjesečni bash scripting challenge?

Postano: 20 lip 2016, 17:19
Postao/la Cooleech
Bio malo vridan i napravio još 3 verzije 3gpEnca od kojih niste vidjeli 0.3 i 0.4 verzije. :-D
Pa evo, imate čast isprobati verziju 0.5! ;)
U privitku.