Strona 1 z 3
Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 05 lut 2012, 21:37
autor: Hwiparam
W tym wątku chciałbym przedstawić moje dzieło

Txtburn, bo tak ochrzciłem swoje dziecko, jest to program (a właściwie skrypt bashowy) do nagrywania płyt CD/DVD. Oferuje podstawowe opcje, takie jak tworzenie obrazów ISO, klonowanie płyt, wypalanie płyt z danymi czy też ISO, weryfikację danych.
Program wypala na płycie pliki umieszczone w katalogu
~/.txtburn (można zmienić lokalizację wedle uznania), tam też tworzy obrazy. Aby wypalić obraz, należy go wpierw umieścić w rzeczonym katalogu i zmienić nazwę na
txtburn.iso. Obsługa interfejsu programu polega na podaniu numerka odpowiadającego interesującej nas opcji (1-6) i zatwierdzeniu Enterem.
KOD ŹRÓDŁOWY:
Kod: Zaznacz cały
#!/bin/bash
DIRECTORY="$HOME/.txtburn"
VOLNAME="txtburn"
ISONAME="txtburn.iso"
DEVICE="/dev/sr0"
MAXSPEED="4"
BUFFERSIZE="14"
echo "Witaj w programie txtburn, prprawdopodobnie najmniejszej na świecie aplikacji do nagrywania płyt."
echo "Co teraz zamierzasz zrobić? Wybierz jedną z poniższych opcji:"
echo "1 - Utwórz obraz ISO z plików na HDD"
echo "2 - Utwórz obraz ISO z zawartości płyty"
echo "3 - Wykonaj kopię płyty"
echo "4 - Nagraj obraz na płytę"
echo "5 - Utwórz płytę z danymi"
echo "6 - Zweryfikuj poprawność danych"
echo "7 - Wyczyść płytę wielokrotnego zapisu (CD-RW)"
echo "8 - Wyjdź"
read d
case "$d" in
"1") genisoimage -J -o $DIRECTORY/$ISONAME -R -V $VOLNAME $DIRECTORY ;;
"2") echo "Włóż dysk do napędu i naciśnij Enter..."; read && dd if=$DEVICE of=$DIRECTORY/$ISONAME ;;
"3") echo "Włóż dysk do napędu i naciśnij Enter..."; read && dd if=$DEVICE of=$DIRECTORY/$ISONAME && eject $DEVICE && echo "Obraz jest gotowy do nagrania. Teraz włóż czystą płytę i naciśnij Enter."; read && wodim -v -dao -eject speed=$MAXSPEED fs=$BUFFERSIZE dev=$DEVICE $DIRECTORY/$ISONAME ;;
"4") wodim -v -dao -eject speed=$MAXSPEED fs=$BUFFERSIZE dev=$DEVICE $DIRECTORY/$ISONAME ;;
"5") genisoimage -J -o $DIRECTORY/$ISONAME -R -V $VOLNAME $DIRECTORY && wodim -v -dao -eject speed=$MAXSPEED fs=$BUFFERSIZE dev=$DEVICE $DIRECTORY/$ISONAME ;;
"6") cdck -d $DEVICE -v -t ;;
"7") sudo umount $DEVICE && wodim -v dev=$DEVICE -eject blank=fast ;;
"8") echo "Wychodzę z programu." ;;
esac
Niespełna 30 linijek Basha - prościej się chyba nie da.
Wymagania: bash, genisoimage, wodim, dd, cdck, sudo.
Przy pisaniu wykorzystałem komendy stąd:
http://forum.fluxboxpl.org/viewtopic.php?id=816 i trochę je zmodyfikowałem na potrzeby skryptu.
Aby skrypt działał poprawnie, możliwe, że trzeba będzie podać mu lokalizację napędu CD w systemie (zależy od używanego distro) - Wtedy wystarczy w 5. linijce kodu zmienić "/dev/sr0" na odpowiednią wartość.
Jakieś pytania/sugestie?
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 01:36
autor: JerryG
Jedno pytanie czy jest weryfikacja po nagraniu??
Czemu sie pytam, ostatnio mialem troche problemow z nagrywaniem obrazow .iso, nagrywalo sie ale nie przechodzilo weryfikacji.
Okazlo sie ze cale pudelko plyt DVD-R bylo walniete, do tego luzne plyty DVD+R tez, nastepnie CD-R i to renomowanych firm.
Uprzedzajac pytania 4 kompy i nagrywarki OK.
Inne plyty i kazda dobrze nagrala oraz przeszla weryfikacja nagrania.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 07:47
autor: Hwiparam
Weryfikacja danych jest, opcja pod numerkiem 6.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 09:18
autor: van.den.vons
Bardzo ciekawa koncepcja. Tylko, może jak byś mógł bardziej łopatologicznie? Wszystkie pakiety, które wymieniłeś jako potrzebne do zadziałania Twojego programu w kompie mam. Tyle, że pod linkiem są tak naprawdę dwa skrypty. Który? Jaką nazwę im nadać, gdzie umieścić w kompie? Pytam, bo na razie udało mi się zdziałać tyle, że program wysuwa mi szufladę nagrywarki. Aha? Jak możesz, napisz mini tutorial: krok po kroku... ściągamy, zapisujemy, naciskamy, wklejamy, itd.
Mnie się ta Twoja idea bardzo spodobała. Jeśli "zaskoczy" to wywalę z kompa te wszystkie Nero Linux i inne temu podobne.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 11:37
autor: Hwiparam
Wkleiłem skrypt w tagu w pierwszym poście, coby wątpliwości nie było.
To tak...
- umieszczasz plik w katalogu ~/bin i nazywasz go np.
txtburn.sh:
- Edytujesz utworzony plik i wklejasz do niego zawartość skryptu (to co jest w pierwszym poście w kodzie):
- nadajesz atrybut wykonywalności:
- Uruchamiasz plik:
Teraz przejdźmy do praktycznego użycia programu:
- Pliki do wypalenia kopiujesz do katalogu
~/.txtburn , jak napisałem w pierwszym poście (ISO ma mieć nazwę
txtburn.iso !),
- Wkładasz płytę do napędu,
- Odpalasz programik i wybierasz interesującą Cię opcję (podajesz numerek od 1 do 6)
To chyba było by na tyle, jakbyś miał więcej pytań, wal.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 13:14
autor: van.den.vons
No Panie Kolego

... Szacun!! Ponad wszelką wątpliwość działa. Jestem w fazie eksperymentów nad usprawnieniem włączania, ale nie grzebania w kodzie Twojego programu. To znaczy... Musiałem ręcznie wrzucić Twój skrypt do katalogu bin w komputerze, ręcznie nadać mu prawo wykonywalności, ale to praktycznie nieistotny szczegół. Co poza tym? Zmodyfikowałem sobie menu i teraz mam w menu Programy->Dźwięk i wideo->TXT Burn, gdzie jest oczywiście skrót-aktywator do Twojego programiku. Do tego dodałem przecudnej urody ikonkę. Umiejscowiłem bezpośrednio pod Nero Linux, który zachowam na wszelki wypadek

.
Poza tym, w menu Miejsca dodałem sobie zakładkę TXT Burn, by mieć bezpośredni dostęp do katalogu .txtburn. Nazwy samego katalogu nie zmieniałem, więc pozostał z "kropką", dzięki czemu jest niewidoczny, i nie robi mi się bajzel w katalogu home, ale w zakładkach jest widoczny, dzięki czemu mogę w nim operować bez problemu.
Przetestowałem jak na razie opcje:
1 - Create an ISO image from files
4 - Burn an ISO image
5 - Create data CD/DVD
7 - Quit
Pozostałe opcje na razie nie były mi potrzebne. W każdym razie REWELACJA!! Jeszcze jakbyś potrafił uczynić by nagrywarka tym skryptem potrafiła wymazywać płyty wielokrotnego użytku było lepsze niż te wszystkie Nero, Brasero, k3b i inne takie.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 13:43
autor: Hwiparam
Dodałem opcję czyszczenia CD-RW (zaktualizowany skrypt w pierwszym poście), tylko niestety nie posiadam aktualnie przy sobie takiej płyty do wymazania , więc najlepiej jak sam sprawdzisz, czy działa (IMHO powinno) i ewentualnie podeślesz mi feedback.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 14:34
autor: van.den.vons
Ok, dzięki. Przetestowałem, bo akurat mam wolną płytę wielokrotnego zapisu CD-RW. Próbowałem kasować, to co wcześniej nagrałem Twoim programem na tej płytce. Program się uruchamia, ale wywala jakieś błędy, więc jej nie kasuje. Niestety, nie jestem w stanie podać Ci jakie to błędy, bo listing błędów to jakieś 8-10 linii tekstu, ale okno terminala zamyka się zbyt szybko, bym mógł je skopiować czy utrwalić. Pozostałe funkcje programu działają bez problemu.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 14:56
autor: Hwiparam
Się zamyka? Odpal program wpisując polecenie w terminalu (nie przez aktywator w menu, bo tak pewnie robisz, jak mniemam), wtedy się nie powinien sam zamykać i będziesz mógł podać, co to za błędy.
EDIT: Zmodyfikowałem nieco polecenie czyszczenia.
Jeszcze odmontuj płytę (sudo umount nazwa_urządzenia albo przez np. Nautilus) przed odpaleniem skryptu, możliwe, że o to mu chodzi.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 15:38
autor: ethanak
Myślałeś żeby zaproponować dołączenie tego do Vinuxa?
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 15:55
autor: sir_herrbatka
Fajny ten skrypt i nie przekombinowany

Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 16:24
autor: Hwiparam
ethanak pisze:Myślałeś żeby zaproponować dołączenie tego do Vinuxa?
Piszesz poważnie? Jeśli ludzie odpowiedzialni za rozwój Vinuxa (czy też jakiegokolwiek innego distro) uznają ten skrypt za wart zamieszczenia, to nie będę miał nic przeciwko.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 16:32
autor: ethanak
Całkiem poważnie. Skrypt może być bardzo przydatny - bez problemu poleci pod Orcą czy SpeakUpem.
Kiedyś napisałem taki programik, ayer się nazywał (Accessible YElp Replacement)... w sumie miał być to test (konwertował gnomowe helpy na html i zamiast yelpa odpalał firefoksa - yelpa wtedy nie czytał żaden screenreader). Okazało sie, że przez jakiś rok niewidomi na całym świecie tego używali... więc na pewno warto!
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 17:00
autor: van.den.vons
A zatem. Miałeś rację
Hwiparam, problem polegał jednak na tym, że Twój programik (tak jak podejrzewałeś) wymaga odmontowania nagrywarki, jeśli chce się użyć opcji "7 - wymazywanie dysku". Teraz działa zajebistycznie, a nawet kur***** rewelacyjnie. Jeszcze (jeśli to nie jest dla Ciebie zbyt wielki problem, gdyby można było polecenie odmontowania nagrywarki przed kasowaniem dysku dorzucić do kodu Twojego skryptu, to... klękajcie narody. To co teraz piszę jest sprawdzone bez tej modyfikacji, o której wspomniałeś kilka postów wyżej. Przystępuję do sprawdzenia z tą modyfikacją.
... Z przed chwili. Kombinowałem na najróżniejsze sposoby, ale tak, czy inaczej, programik wymaga by nagrywarka była odmontowana. W sumie niewielki problem, kilka kliknięć w menu: System->Administracja->Narzędzie do obsługi dysków->Napęd CD/DVD->Odmontuj. Oczywiście wspólnota wszechświatowa będzie Ci dozgonnie wdzięczna, jeśli udałoby Ci się linie z komendą odmontowującą nagrywarkę, wcisnąć w swój skrypt. I tak jest to narzędzie rewelacyjne. Kopiowanie plików przeznaczonych do wypalenia na płytce metodą "chwyć i upuść" to kilka sekund, a sam programik wypala płytki dużo szybciej niż Nero.
Mam nadzieję, że nie masz nic przeciwko "spolszczeniu" Twojego dzieła na moje własne potrzeby? Chciałem go córce na lapku zainstalować, a ona niestety w szkole uczy się tylko "Hände hoch! Nicht schießen, ich bin unschuldig Pole". Oczywiście, przy zachowaniu Twojego © ® ™.

Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 17:04
autor: ethanak
van.den.vons pisze:Mam nadzieję, że nie masz nic przeciwko "spolszczeniu" Twojego dzieła na moje własne potrzeby?
A czemu na własne a nie pro publico bono?
O ile wiem gettexta można w skryptach używac...
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 17:07
autor: van.den.vons
Ok, nie ma sprawy. Nie chciałem tego jednak czynić bez zgody autora, o żesz pardon... AUTORA. To w końcu jego praca. Ale skoro taka jest wola ogółu, spróbuję to spolszczyć, oczywiście bez ingerencji w sam kod, bo to dla mnie magia.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 17:11
autor: ethanak
van.den.vons pisze:Ok, nie ma sprawy. Nie chciałem tego jednak czynić bez zgody autora
Rozumiem że autor publikuje to na jakiejś normalnej licencji?
Ale skoro taka jest wola ogółu, spróbuję to spolszczyć, oczywiście bez ingerencji w sam kod, bo to dla mnie magia.
http://mywiki.wooledge.org/BashFAQ/098
Tu jest tutek jak to się robi
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 17:42
autor: Hwiparam
@van.den.vons, Do opcji czyszczącej dodałem polecenie odmontowania płyty. Tylko będziesz musiał podać swoje hasło (sudo). A i przy okazji spolszczyłem skrypt.
@ethanak, Jak już pisałem, nie widzę najmniejszego problemu w dodaniu tego skryptu do Vinuxa, jeśli ktoś uzna to za stosowne.
Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 17:56
autor: van.den.vons
Przetestowałem wszystkie opcje, łącznie z tą najnowszą poprawką. Wszystko działa rewelacyjnie, bez problemu, włącznie z kasowaniem płyt. Mistrzostwo świata, niskie pokłony!!

Re: Prawdopodobnie najmniejszy na świecie program do wypalania płyt
: 06 lut 2012, 18:35
autor: ethanak
Hwiparam pisze:nie widzę najmniejszego problemu w dodaniu tego skryptu do Vinuxa, jeśli ktoś uzna to za stosowne.
No to zgłoś się do developerów Vinuxa albo na jakiejkolwiek liście niewidomych linuksiarzy!
Ja w razie czego mogę pomóc z i18n.