rm -rf in desktop-verknüpfung? (Ubuntu/Mint)

dexter

Cloogshicer®
Teammitglied
Registriert
14 Juli 2013
Beiträge
3.502
Kurzfassung:
Ich möchte beim Starten eines Desktopsymbols "vorher" einen Ordner löschen.
Ich dachte mir ich füge der Verknüpfung kurzerhand ein rm -rf /dingens voran. Will aber nicht. Keine Fehlermeldung etc.

Meine Verknüpfung sieht so aus (zur besseren Übersicht stark eingekürzt+zeilenumbrüche):
Code:
Expand Collapse Copy
rm -rf /home/user/ordner 
env WINEPREFIX="/home/uer/wine" 
wine C:\\windows\\command\\start.exe /Unix /home/user/eigentliches Programm.lnk
Ich muss eine extra batchdatei irgendwohinbasteln oder bekomme ich das irgendwie mit der Desktop-Verknüpfung hin?

Langfassung:
Photoshop CS2 startet nur, wenn im Profil kein Profilordner ist.
 
Dass sollte sich in einem Bash Skript in etwa, so umsetzen lassen:

Als Beispiel heißt das Skript "photoshop.sh".

Einfügen in das Skript:
[src=bash]#!/bin/bash
rm -rf /home/user/ordner
env WINEPREFIX="/home/user/wine"
wine C:\\windows\\command\\start.exe /Unix /home/user/eigentliches Programm.lnk[/src]

Ausführbar machen:
"chmod +x photoshop.sh" oder "chmod 744 photoshop.sh".

Dann den Starter so verlinken:
"bash /home/user/photoshop.sh"

Wichtig ist, dass du das "bash" davor setzt, sonst wird das Skript nicht gestartet.
 
Zuletzt bearbeitet:
Meine Verknüpfung sieht so aus (zur besseren Übersicht stark eingekürzt+zeilenumbrüche):
Einmal zur besseren Übersicht bitte vollständig hier posten.
Desktop Shortcuts unter Gnome hat ein spezifisches, simples Format.
Befehle kannst du mit && hintereinander ausführen.
 
  • Thread Starter Thread Starter
  • #4
Einmal zur besseren Übersicht bitte vollständig hier posten.
Desktop Shortcuts unter Gnome hat ein spezifisches, simples Format.
Befehle kannst du mit && hintereinander ausführen.

Ich habe jetzt
Code:
Expand Collapse Copy
rm -rf /home/dex/.wine/drive_c/ProgramData/Adobe/ && env WINEPREFIX="/home/dex/.wine" wine C:\\windows\\command\\start.exe /Unix /home/dex/.wine/dosdevices/c:/users/dex/Start\ Menu/Programs/Adobe\ Photoshop\ CS2.lnk
versucht, und das funkioniert eher semi. Ordner wird gelöscht, gleichzeiig wird PS gestartet, allerdings sehe ich es nur in der Taskleiste und dann verschwindet es wieder. Wenn ich danach PS ohne rm starten möchte, bekomme ich "Datei nicht gefunden" und ich muss PS neuinstallieren. Keine Ahnung, was da schiefläuft... und auch gerade keine richtige Zeit das herauszufinden.
 
Code:
Expand Collapse Copy
rm -rf /home/dex/.wine/drive_c/ProgramData/Adobe/ && env WINEPREFIX="/home/dex/.wine" [highlight]&&[/highlight] wine C:\\windows\\command\\start.exe /Unix /home/dex/.wine/dosdevices/c:/users/dex/Start\ Menu/Programs/Adobe\ Photoshop\ CS2.lnk
Vielleicht noch sleep mit ner Sekunde dazwischen, oder so?
 
Dass sollte sich in einem Bash Skript in etwa, so umsetzen lassen:

Als Beispiel heißt das Skript "photoshop.sh".

Einfügen in das Skript:
[src=bash]#!/usr/bin/bash
rm -rf /home/user/ordner
env WINEPREFIX="/home/user/wine"
wine C:\\windows\\command\\start.exe /Unix /home/user/eigentliches Programm.lnk[/src]

Ausführbar machen:
"chmod +x photoshop.sh" oder "chmod 744 photoshop.sh".

Dann den Starter so verlinken:
"bash /home/user/photoshop.sh"

Wichtig ist, dass du das "bash" davor setzt, sonst wird das Skript nicht gestartet.
Es muss #!/bin/bash heißen, nicht #!/usr/bin/bash
Dann kannst du auch ganz normal mit ./photoshop.sh starten.
 
  • Thread Starter Thread Starter
  • #7
Code:
Expand Collapse Copy
rm -rf /home/dex/.wine/drive_c/ProgramData/Adobe/ && env WINEPREFIX="/home/dex/.wine" [highlight]&&[/highlight] wine C:\\windows\\command\\start.exe /Unix /home/dex/.wine/dosdevices/c:/users/dex/Start\ Menu/Programs/Adobe\ Photoshop\ CS2.lnk
Vielleicht noch sleep mit ner Sekunde dazwischen, oder so?


sleep hatte ich auch schon überlegt, da die beiden Aufrufe so wahrscheinlich in nahezu Echtzeit kommen. Wie baue ich sleep da ein?
 
&& sleep 5s &&
&& sleep 5m &&
&& sleep 5h &&
&& sleep 5d &&
 
Wenn man 'command1 && command2' schreibt, dann wird command2 erst ausgeführt, wenn command1 mit exit code 0 (= 'programm erfolgreich durchlaufen') beendet wurde. Von daher passiert da nichts gleichzeitig.
Was steht in der .lnk Datei? Ich würde eher auf direkt auf die Photoshop binary verlinken an deiner Stelle. Und was ist das für eine start.exe?

Bist du ganz sicher, dass nichts in ProgramData/Adobe/ zum korrekten ausführen benötigt wird?
 
Zurück
Oben