Trios image writer

Filip

Active member
Joined
Jul 21, 2012
Messages
2,497
Reaction score
0
@Dragan

0.1.1 je stara i u ređim slučajevima bagovita verzija ( ne izlazi uvek kako treba, mada je potpuno bezbedna po sistem/ISO/USB… ).
Značajno unapređen TIW ( md5sum/sha* verifikacija, sigurnija detekcija USB uređaja, YAD interfejs, CLI verzija, log, detekcija lsblk verzije itd ) je u testing grani @git.
Files | testing | TRIOS Linux / trios-image-writer | GitLab

Ima još par kozmetičkih sitnica da se srede, pa ću prebaciti u master, no ako hoćeš možeš i odmah da izbildaš/dodaš u repo. Samo treba i YAD da ide pride:
/debian: TRIOS Mia backports / yad | GitLab
source: http://netcologne.dl.sourceforge.net/project/yad-dialog/yad-0.31.1.tar.xz
 
Last edited:

Dragan

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
6,371
Reaction score
65
alt
Filip:
Ima još par kozmetičkih sitnica da se srede, pa ću prebaciti u master, no ako hoćeš možeš i odmah da izbildaš/dodaš u repo
Ok, kada središ sve, prebaci u master, pa ćemo onda u repo…nije ništa hitno 🙂

@all
Inače, @Filip je autor TIW…zaboravih da napomenem u inicijalnoj poruci, pa evo ovako (se) ispravljam 🙂
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
alt
Dragan:
Inače, @Filip je autor TIW
Bravo Ćofi nisam znao za ovo, u čemu je pisan kod? Deluje sasvim OK još kada dođe GUI…
 
Last edited:

Filip

Active member
Joined
Jul 21, 2012
Messages
2,497
Reaction score
0
Vladimir:
Bravo Ćofi nisam znao za ovo, u čemu je pisan kod? Deluje sasvim OK još kada dođe GUI…
Čist bash + YAD (Gtk dialog/GUI za shell ). 🙂
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
Samo napred bravo! 🆙
 
Last edited:

Misko_2083

Member
Joined
Mar 15, 2015
Messages
306
Reaction score
18
@Filip Evo par mojih predloga.
Opcija za selekciju usb-a.

Obična lista
Code:
#!/bin/bash
dev=$(ls -l /dev/disk/by-path/*usb* | grep -v "part" | awk '{print $NF}' | awk -F "/" '{print $NF}' | sort)
USB=$(for dev in $dev; do
printf "%s\n" "/dev/`lsblk /dev/$dev -n -d -o NAME`"
printf "%s\n" "`lsblk /dev/$dev -n -d -o MODEL`"
printf "%s\n" "`lsblk /dev/$dev -n -d -o SIZE`"
done | yad --width=300 --height=200 --list --text="Pick a device" --column="dev" --column="model" --column="size")
OIFS=$IFS
IFS='|'
SELECTION=$(echo $USB | awk '{print $1}')
IFS=$OIFS
echo "Izabrali ste $SELECTION"
Radiolist

#!/bin/bash dev=$(ls -l /dev/disk/by-path/*usb* | grep -v "part" | awk '{print $NF}' | awk -F "/" '{print $NF}' | sort) USB=$(for dev in $dev; do printf "%s\n" "FALSE" printf "%s\n" "/dev/`lsblk /dev/$dev -n -d -o NAME`" printf "%s\n" "`lsblk /dev/$dev -n -d -o MODEL`" printf "%s\n" "`lsblk /dev/$dev -n -d -o SIZE`" done | yad --width=300 --height=200 --list --text="Pick a device" --radiolist --column="Pick" --column="device" --column="model" --column="size") OIFS=$IFS IFS='|' SELECTION=$(echo $USB | awk '{print $2}') IFS=$OIFS echo "Izabrali ste $SELECTION"

Cheklist (više USB Flash memorija može da se selektuje)

#!/bin/bash dev=$(ls -l /dev/disk/by-path/*usb* | grep -v "part" | awk '{print $NF}' | awk -F "/" '{print $NF}' | sort) USB=$(for dev in $dev; do printf "%s\n" "FALSE" printf "%s\n" "/dev/`lsblk /dev/$dev -n -d -o NAME`" printf "%s\n" "`lsblk /dev/$dev -n -d -o MODEL`" printf "%s\n" "`lsblk /dev/$dev -n -d -o SIZE`" done | yad --width=300 --height=200 --list --text="Pick a device" --checklist --column="pick" --column="dev" --column="model" --column="size") OIFS=$IFS IFS='|' array=() for dev in $USB; do array+=($dev); done IFS=$OIFS echo "Izabrali ste:" for usb in ${array[*]}; do echo "$usb" ; done

Dijalog za selekciju slike diska može da se ograniči samo na iso i img fajlove.
Primer:
Code:
file="$(zenity  --title='Select a disk image to write:' --file-selection --file-filter='Disk Image (iso,img) | *.iso *.ISO *.img *.IMG' --file-filter='All files | *')"
if [ $? -ne 0 ]; then
  exit
fi
 
Last edited:

Filip

Active member
Joined
Jul 21, 2012
Messages
2,497
Reaction score
0
@Misko_2083

🆙

Obična lista je najbolja za sad.

Checklista je takođe odlična ideja, samo će trebati dosta izmena u backend-u da bi paralelno snimanje na više USB-a radilo kako treba, i što je najbitnije, bezbedno.
Ne bih sada eksperimentisao, nek ostane za kasnije.

Usput, do jaja je što YAD poseduje “multi-progress” dialog, tako da će oba progress bar-a moći da idu u jedan prozor. 🙂

Code:
#!/bin/bash

for i in {1..100}; do
   printf "1:$i\n"
   ((i+=5))
   printf "2:$i\n"
   sleep 0.2; done | yad --multi-progress --bar="Progress 1":NORM --bar="Progress 2":NORM
@Fajl filter:

🆙 Dodato. 🙂 Add file type filtering to ISO selection dialog. (4ac1a129) | Commits | TRIOS Linux / trios-image-writer | GitLab
 
Last edited:

Misko_2083

Member
Joined
Mar 15, 2015
Messages
306
Reaction score
18
@lista: yad je elastičniji od zenitija. Uglavnom sam koristio zenity do sada i često sam nailazio na neka ograničenja zbog samog dizajna a i zbog nekih bagova na ubuntu.
View attachment 2234
Code:
dev=$(ls -l /dev/disk/by-path/*usb* | grep -v "part" | awk '{print $NF}' | awk -F "/" '{print $NF}' | sort)
USB=$(for dev in $dev; do printf "%s\n" "drive-removable-media-usb"
printf "%s\n" "/dev/$dev"
printf "%s\n" "`lsblk /dev/$dev -n -d -o MODEL`"
printf "%sB\n" "`lsblk /dev/$dev -n -d -o SIZE`"
done | yad --width=600 --height=400 --text="Pick a device\n\nbla,bla..." --list --column=:IMG --column=Device:TEXT --column=Model:TEXT --column=Size --buttons-layout=spread --image=drive-removable-media-usb)
OIFS=$IFS
IFS='|'
SELECTION=$(echo $USB | awk '{print $1}')
IFS=$OIFS
echo "Izabrali ste $SELECTION"
@multi-progress: dobra stvar 🆙
Izgleda da radi slično kao zen
kada se pošalje string koji počinje šibengom ispisuje text po sredini progress bar-a.

for i in {1..100} do printf "1:$i\n1:#$i\n" ((i+=5)) printf "2:$i\n2:#$i\n" sleep 0.2 done | yad --multi-progress --bar="Progress 1":NORM --bar="Progress 2":NORM
 
Last edited:

Filip

Active member
Joined
Jul 21, 2012
Messages
2,497
Reaction score
0
alt
Misko_2083:
kada se pošalje string koji počinje šibengom ispisuje text po sredini progress bar-a.
Cool, nisam znao da može! 🆙 🆙 🆙
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
gagiD - systemD… još se i rimuje 😃
 
Last edited:

gagiD

Member
Joined
Apr 1, 2014
Messages
267
Reaction score
0
Govorilo se vec o tome 😃
Ja sam njihov covjek, a mozda je i systemD moj 😃 😃
 
Last edited:

Filip

Active member
Joined
Jul 21, 2012
Messages
2,497
Reaction score
0
Prebačen glavni dijalog za izbor USB-a u formu liste. Prethodni je sada alternativna varijanta koja lista sve uređaje, omogućava ručni unos i pisanje u /dev/null.
Takođe, šetanje između njih je moguće ( “List all drives” i “Go back” dugmad ).

View attachment 2252
-
View attachment 2253
-
View attachment 2254

🙂

[GTK] Device selection improvements… (609dd688) | Commits | TRIOS Linux / trios-image-writer | GitLab

Hvala još jednom @Misko_2083 za kod. 🆙

Testirajte, pa ako ne bude problema da prebacim u “master” i da objavimo stabilno izdanje. 🙂

EDIT:
Update:
  1. Omogućeno vraćanje nazad iz “Safety check” dijaloga.
    Vraća nazad na prethodni dijalog ( za odabir uređaja ), ili ukoliko je uređaj prosleđen kao argument, vraća na glavni dijalog za odabir.
View attachment 2255
  1. Ispravljene ( na pojedinim temama nedostajuće ) ikonice na “Ok” dugmadima u dijalozima za odabir uređaja.
  2. “Finish” dialog ulepšan ( “Done” tekst + navodnici oko ISO-a i uređaja + slička ):
View attachment 2256
 
Last edited:

Misko_2083

Member
Joined
Mar 15, 2015
Messages
306
Reaction score
18
Odlično Fićo 🆙
Igrao sam se sa --form dijalogom pošto ima --scroll opciju. lsblk može da ima dug ispis kao u tvom slučaju
View attachment 2257

Izgleda da scroll stavlja sva polja u jedan Gtk.ScrolledWindow.
yad --width=800 --height=600 --form --text="$(echo "<b>Selected image is:</b>\nISO\n")" --field="Select Device":CBE '/dev/null!' --field="Select Image":FL " " --field="$(lsblk)\n\n<b>The End</b>":LBL "" --scroll --image=drive-removable-media-usb --file-filter="Disk Image (iso,img) | *.iso *.ISO *.img *.IMG" --file-filter="All Files | *"
Ovako se može prikazati procenat dok se računa sha:

(pv -n -i 0.5 "TRIOS-Mia-RC1-Build_2015-01-08.iso" | sha512sum > /tmp/sum) 2>&1 | awk '{print $1, "\n#", $1, " %"; fflush(stdout)}' | yad --progress --auto-close --percentage=1 yad --text-info --width=800 --height=600 </tmp/sum rm -f /tmp/sum
Samo ideja… 🙂
 
Last edited:

Miki

Member
Joined
Feb 6, 2016
Messages
618
Reaction score
2
Definitivno najbolji USB Image Writer program! Upravo sam posetio TRIOS repo da svučem deb. i da instaliram na deepin. Inače stalno posećujem repo jer ima mnogo kul debova kojih nema nigde drugde. 😃 @Filip Svaka čast!
 
Last edited:
Top