Terminalfenster per script invisible schalten?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Albion
Beiträge: 285
Registriert: 21.09.2003 11:31:40
Wohnort: Düsseldorf
Kontaktdaten:

Terminalfenster per script invisible schalten?

Beitrag von Albion » 07.10.2006 01:15:41

Hallo zusammen, ich hab folgendes kleines Script:

Code: Alles auswählen

#!/bin/bash
#Mount mail volume
truecrypt -M "rw,sync,utf8,uid=$UID,umask=0007" /mnt/daten/mails.tc /mnt/daten/tcimage
# Start Thunderbird
echo "starting Thunderbird"
thunderbird && truecrypt -d
Sinn der Sache sollte klar sein, ich mounte ein TrueCrypt image in denen meine Mails verschlüsselt abgelegt sind.
Nach dem Mounten startet er Thunderbird und nachdem beenden vom TB wird das Image wieder ausgehängt..

Was mich daran stört, ist das nach dem Start des TB das Terminalfenster noch zu sehen ist, läst sich das irgendwie lösen?
Es muss beim Mounten vom Image ja vorhanden sein, damit ich das PW angeben kann, aber danach wirds eigentlich nicht mehr benötigt...

cu & hus
Albion
debian testing 64Bit / 3.2.0-4-amd64
---
Statt zu klagen,
dass wir nicht alles haben, was wir wollen,
sollten wir lieber dafür dankbar sein,
dass wir nicht alles bekommen,
was wir verdienen.

(Dieter Hildebrandt)

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 07.10.2006 02:37:12

vielleicht sowas in dieser Richtung:

Code: Alles auswählen

#!/bin/bash 
#Mount mail volume 
truecrypt -M "rw,sync,utf8,uid=$UID,umask=0007" /mnt/daten/mails.tc /mnt/daten/tcimage 
# Start Thunderbird 
echo "starting Thunderbird" 
thunderbird &   # damit läuft der schon mal unabhängig vom Script
$MAGIE --pid=pid_of_thunderbird  truecrypt -d &
exit   # damit ist das Script beendet und das Fenster sollte verschwinden
Der entscheidende Trick ist in $MAGIE versteckt: Man muss warten,
bis es den Thunderbird-Prozess nicht mehr gibt, und dann truecrypt
aufrufen. In C dürfte das trivial sein, aber in Bash geht's bestimmt
auch. Die Konstruktion "thunderbird && truecrypt -d" würde das
Image nicht wieder aushängen, wenn thunderbird nicht korrekt
beendet wird.
Beware of programmers who carry screwdrivers.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Re: Terminalfenster per script invisible schalten?

Beitrag von Joghurt » 07.10.2006 10:56:02

Albion hat geschrieben:Was mich daran stört, ist das nach dem Start des TB das Terminalfenster noch zu sehen ist, läst sich das irgendwie lösen?
Vielleicht gehts mit einer Subshell:

Code: Alles auswählen

(thunderbird ; truecrypt -d) &
Wichtig sind die Klammern. "&&" habe ich durch ";" ersetzt, damit truecrypt auch dann aufgerufen wird, wenn thunderbird mit einem Fehler aussteigt.

Benutzeravatar
Albion
Beiträge: 285
Registriert: 21.09.2003 11:31:40
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Albion » 07.10.2006 19:37:34

Dank euch beiden, allerdings führen beide Tipps dazu, dass sich das Terminal fenster als auch TB direkt schliest
debian testing 64Bit / 3.2.0-4-amd64
---
Statt zu klagen,
dass wir nicht alles haben, was wir wollen,
sollten wir lieber dafür dankbar sein,
dass wir nicht alles bekommen,
was wir verdienen.

(Dieter Hildebrandt)

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 08.10.2006 11:31:05

Hi,

dann starte TB mal mit "nohup"
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten