Datei auf einer NTFS-Partition vor dem Löschen schützen

Message
Author
der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#16 Post by der-schutzhund »

Kurze Zwischenfrage, wie lassen sich innerhalb von einer *.sh - Datei der Reihe nach kleine Infofenster anzeigen und wieder löschen?
xmessage -bg green -center -title "Hinweis" "Modul1 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl

#Infofenster loeschen
kill $WA_PID
xmessage -bg green -center -title "Hinweis" "Modul2 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl

#Infofenster loeschen
kill $WA_PID
xmessage -bg green -center -title "Hinweis" "Modul3 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl

#Infofenster loeschen
kill $WA_PID
Wenn ich das dann so laufen lasse bleibt das erste Fenster stehen.
Klickt man auf die OK-Button dann wird das erste Fenster geschlossen und das zweite wird angezeigt und so weiter.
Woran liegt das?

LG

Wolfgang

User avatar
HoerMirAuf
Posts: 255
Joined: Tue 22 Jan 2008, 12:11
Location: Würzburg

#17 Post by HoerMirAuf »

Moin Wolfgang,

hmm wie meinst du das? Der Prozzess wird erst weiter ausgeführt wenn mit OK bestätigt wurde. Auch "&" Am Zeilenende bringt da nichts, weil der Prozzess ja noch nicht ausgeführt ist sondern "noch in arbeit"

Verwende da doch besser gtkdialog-splash.

Hier mal ein Beispiel ...mit verschiedenen Fensterdekos

Code: Select all

#!/bin/sh
gtkdialog-splash -border false -icon gtk-info -placement center -bg green -fg blue -deco "Hinweis" -text "Modul1 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl
sleep 3

#Infofenster loeschen
kill $WA_PID
gtkdialog-splash -icon gtk-info -placement center -bg yellow -text "Modul2 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl
sleep 3

#Infofenster loeschen
kill $WA_PID
gtkdialog-splash -icon gtk-dialog-warning -placement center -bg red -text "Modul3 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl
sleep 3

#Infofenster loeschen
kill $WA_PID 
Oder wenns unbedingt mit xmessage sein muss, dann denn Befehl mit exec aufrufen also als eigenen Prozess damit der Ursprungsprozess weiterlaufen kann

Code: Select all

#!/bin/sh
exec xmessage -bg green -center -title "Hinweis" "Modul1 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl
sleep 2

#Infofenster loeschen
kill $WA_PID
exec xmessage -bg yellow -center -title "Hinweis" "Modul2 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl
sleep 2

#Infofenster loeschen
kill $WA_PID
exec xmessage -bg red -center -title "Hinweis" "Modul3 wird geladen... bitte etwas warten.." &
WA_PID=$!
#irgend ein Befehl
sleep 2

#Infofenster loeschen
kill $WA_PID 
Gruß, Mike

antilet
Posts: 213
Joined: Fri 17 Aug 2012, 09:24

#18 Post by antilet »

Man muss nicht zwingend ganze Laufwerke mounten.
Man kann doch auch nur bestimmte Verzeichnisse mounten...
[color=blue][size=75]Toshiba Satallite M30X-124 | ATI Mobility Radeon 9700 | Intel PRO/Wireless 2200BG
Most Linux need special boot options to boot on this laptop: i8042.nomux=1 highres=off nohz=off irqpoll[/size][/color]

User avatar
HoerMirAuf
Posts: 255
Joined: Tue 22 Jan 2008, 12:11
Location: Würzburg

#19 Post by HoerMirAuf »

Hi Antilet

Datei auf einer NTFS-Partition vor dem Löschen schützen
Das schon, aber das verhindert nicht das löschen von Datein :?

antilet
Posts: 213
Joined: Fri 17 Aug 2012, 09:24

#20 Post by antilet »

Na wenn ich nur das Arbeitsverzeichnis mounte, in dem Änderungen erlaubt sind und alles andere nicht, dann sind die Systemdateien schon vor Änderung geschützt...
[color=blue][size=75]Toshiba Satallite M30X-124 | ATI Mobility Radeon 9700 | Intel PRO/Wireless 2200BG
Most Linux need special boot options to boot on this laptop: i8042.nomux=1 highres=off nohz=off irqpoll[/size][/color]

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#21 Post by der-schutzhund »

Habe es mal so probiert. Sieht so aus als ob es so funktioniert wie ich mir das vorstelle aber die Hintergrundfarbe kann ich nicht einstellen.

Code: Select all

#!/bin/sh
Xdialog --title "Restore ...." --no-buttons --infobox "Jetzt 2" 5 20 0 &
 
WA_PID=$!
# Startscripte
cp /mnt/sda1/PhyTechT-602-1/startscript/root/.my-sfs-scripts/* -R /root/.my-sfs-scripts/
wait
kill $WA_PID
Ich teste mal deinen Vorschlag mit gtkdialog-splash!

LG

Wolfgang

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#22 Post by der-schutzhund »

Mit gtkdialog-splash ... sieht es super aus! Das verwende ich!

LG

Wolfgang[/quote]

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#23 Post by der-schutzhund »

Ein kleines Problem gibt es noch!
Wenn ich das folgende Script starte verschwindet das Infofenster erst wenn ich mit der Maus über das Feld fahre!

Code: Select all

#!/bin/sh
gtkdialog-splash -icon gtk-info -placement center -bg yellow -text " Datei ins System laden! ... bitte etwas warten.."&
WA_PID=$!
cp /mnt/sda1/PhyTechT-602-1/startscript/usr/sbin/ceelab/lazy528-start.html /usr/sbin/ceelab/lazy528-start.html
wait
kill $WA_PID

User avatar
HoerMirAuf
Posts: 255
Joined: Tue 22 Jan 2008, 12:11
Location: Würzburg

#24 Post by HoerMirAuf »

#!/bin/sh
gtkdialog-splash -icon gtk-info -placement center -close never -bg yellow -text " Datei ins System laden! ... bitte etwas warten.."&
WA_PID=$!
cp /mnt/sda1/PhyTechT-602-1/startscript/usr/sbin/ceelab/lazy528-start.html /usr/sbin/ceelab/lazy528-start.html
wait
kill $WA_PID
"-close never" heißt der Zauberparameter :D

EDIT:

wenn du warten möchtest bis der kopierprozess beendet ist kannst du auch && hinter den cp befehl setzen:

also:
#!/bin/sh
gtkdialog-splash -icon gtk-info -placement center -close never -bg yellow -text " Datei ins System laden! ... bitte etwas warten.."&
WA_PID=$!
cp /mnt/sda1/PhyTechT-602-1/startscript/usr/sbin/ceelab/lazy528-start.html /usr/sbin/ceelab/lazy528-start.html &&
kill $WA_PID
Allerdings wird der kopierprozess so schnell sein bei einer datei, das das Fenster gar nicht aufpoppt

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#25 Post by der-schutzhund »

Wenn ich -close never einbaue dann verschwindet das Infofenster garnicht!

User avatar
HoerMirAuf
Posts: 255
Joined: Tue 22 Jan 2008, 12:11
Location: Würzburg

#26 Post by HoerMirAuf »

In diesem Fall liegt ein Problem bei den Kopiervorgängen vor.
Werden sie nicht fehlerfrei abgschlossen wird der Prozess wegen "&&" nicht weiter ausgeführt

Um das besser zu überwachen gar kein & oder && für die Arbeitsvorgänge verwenden, dann läuft der Prozess auch bei einem Fehler weiter.

Möchtest Du trotzdem eine Fehlerüberwachung, dann etwas in diese Richtung:

Code: Select all

gtkdialog-splash -icon gtk-info -placement center -close never -bg yellow -text " Datei ins System laden! ... bitte etwas warten.." &
WA_PID=$!

cp /mnt/sda1/PhyTechT-602-1/startscript/usr/sbin/ceelab/lazy528-start.html /usr/sbin/ceelab/lazy528-start.html
if [ $? -eq 0 ]; then
			kill $WA_PID
			Xdialog --msgbox "Alles ok" 0 0
else
			kill $WA_PID
			Xdialog --msgbox "Etwas ging schief" 0 0
fi

Post Reply