Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Wed 17 Sep 2014, 19:46
All times are UTC - 4
 Forum index » House Training » Users ( For the regulars ) » Für deutschsprachige Anhänger
Windowsprogramme unter Wine
Moderators: MU
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [4 Posts]  
Author Message
RSH


Joined: 05 Sep 2011
Posts: 2420
Location: Germany

PostPosted: Thu 21 Aug 2014, 02:50    Post subject:  Windowsprogramme unter Wine
Subject description: Jedes unter Wine funktionierende Windowsprogramm voll funktionsfähig mit Dateitypen verknüpfen !!!
 

Ok,

heute gibt's 'was Leckeres!

Verwendet hier jemand Windowsprogramme unter Wine?

Schon 'mal geärgert, daß manche Programme sich nicht voll funktionsfähig mit bestimmten Dateitypen verknüpfen lassen?

Voll funktionsfähig meint hier, daß eine übermittelte Datei auch tatsächlich in das Windowsprogramm geladen wird.

Das gehört nun der Vergangenheit an.

Seit meinen LazY-Puppy-Anfängen besitze ich ein Wine SFS, das Corel Photopaint 8 installiert hat. Alles funktioniert wunderbar, bis auf das Übermitteln einer Datei an Corel Photopaint 8. Heute habe ich dies gelöst.

Zuerst habe ich ein Skript mit folgendem Inhalt erstellt:
Code:
#!/bin/bash -a
#------------------------------------------------------------------------------
# Executing Corel Photopaint 8 in Wine and submit a File
# 2014-08-21 RSH for LazY Puppy
#------------------------------------------------------------------------------

SUBMIT="$1"
exec wine "C:\\Corel\\Graphics8\\Programs\photopnt.exe" "C:\\`basename "$SUBMIT"`" >/dev/null
   
# End

Skriptpfad und -name: /usr/local/bin/corelphotopaint-executor

Dann habe ich ein zweites Skript erstellt, das in der Lage ist, ein im Skript definiertes Wine SFS zu laden, bevor es das gewünschte Programm startet und die Datei lädt:
Code:
#! /bin/sh
#------------------------------------------------------------------------------
# Load Wine SFS and execute Windows .exe Application
#------------------------------------------------------------------------------

# Set Name of your Wine SFS here
WineSFS="LP2_Wine.sfs"

FileLoopMnt() { mount |grep loop* |sed 's# .*$##' | while read N
   do losetup-FULL $N |grep $WineSFS |sed 's#^.* .##;s#.$##' ;done ; }
fm=$(FileLoopMnt)

bfm=`basename $fm`
if [ "$bfm" = "" ]; then
   sfs_load --cli --skip-fixmenus --quiet "$WineSFS"
   cp -af "$1" "/root/.wine/drive_c/"
   /usr/local/bin/corelphotopaint-executor "$1" >/dev/null
   #rox "/root/.wine/drive_c"
   cp -af -u "/root/.wine/drive_c/`basename "$1"`" "$1"
   rm -f "/root/.wine/drive_c/`basename "$1"`"
   #######################
   else # [ "$bfm" = "" ];
   #######################
   cp -af "$1" "/root/.wine/drive_c/"
   /usr/local/bin/corelphotopaint-executor "$1" >/dev/null
   #rox "/root/.wine/drive_c"
   cp -af -u "/root/.wine/drive_c/`basename "$1"`" "$1"
   rm -f "/root/.wine/drive_c/`basename "$1"`"
fi

Skriptpfad und -name: /usr/local/bin/defaultcorelphotoeditor

Anschließend noch die Standardaktion für den Dateityp .cpt auf das Kommando, /usr/local/bin/defaultcorelphotoeditor "$@", gesetzt.

Das Mysterium liegt darin begründet, daß echte Windowsprogramme noch nie ein GNU/Linux Dateisystem gesehen haben, und deshalb mit Pfaden, wie: /mnt/sda1, nichts anfangen können. Anders bei z.B. Audacity, das ein Cross-Plattform-Programm ist, welchem (dem Source Code) das GNU/Linux Dateisystem bekannt ist.

Kopiert man nun die übermittelte Datei zuerst nach /root/.wine/drive_c und übermittelt die Datei von dort, dann wird sie anstandslos geladen, sofern das Programm selbst über eine solche Funktion verfügt.

Anschließend kopiert man die Datei mit der Option, -u (für nur Neuere), zurück und entfernt jene am neuen Ort.

Das war's...

Für LazY Puppy Anwender ist es wahrscheinlich sinnvoll, im Skript den Befehl, sfs_load, durch lazy_sfs_load zu ersetzen und den Pfad des SFS nach $LP2BDL/$WineSFS abzuändern. Müßt ihr ausprobieren. Das originale Wine SFS von LazY Puppy heißt: LP2_Wine.sfs und ist unter WineSFS= bereits definiert.

Ich denke, es ist offensichtlich, was geändert werden muß, um diese Skripte für ein anderes Windowsprogramm verwenden zu können.

I'm a Hacker

(Richard Stallman, RSH)

_________________
LazY Puppy
RSH's DNA
SARA B.
Back to top
View user's profile Send private message 
slackfan

Joined: 29 Mar 2009
Posts: 130

PostPosted: Thu 21 Aug 2014, 15:01    Post subject:  

Hab' alles mal testen wollen, aber, wenn ich mich gut erinnere, als Du, als Du Deine ursprüngliche Depository gelöscht hast, da einiges vermasselt: von Corel ist meines Erachtens heute nichts, gar nichts mehr zu finden, und damit auch nicht Veranlassung, nach mehr zu suchen:

Du lebst ja mit den Depots aus Deiner Festplatte!

sollte ich mich irren, nehme ich gern alles zurück, aber momentan sehe ich da nichts...
Back to top
View user's profile Send private message 
RSH


Joined: 05 Sep 2011
Posts: 2420
Location: Germany

PostPosted: Thu 21 Aug 2014, 17:47    Post subject:  

Hallo slackfan.

Die obige Anleitung und die darin enthaltenen Informationen und Skripte sind nicht dafür veröffentlicht worden, um bei Euch anderen Puppy Anwendern Corel-eigene Dateien nach Corel Photopaint senden zu können. Es hat nie ein Wine SFS mit integriertem Corel Photopaint zum Heruntergeladen gegeben, denn Corel Photopaint ist keine Open Source Software. Dieses SFS existiert nur in meiner lokalen Modulsammlung.

Neben Corel Photopaint gibt es andere Programme, die mit Pfaden, die mit /mnt beginnen, nichts anfangen können. Für die Verwendung mit diesen anderen Programmen, müssen die veröffentlichten Skriptbeispiele natürlich angepaßt werden. Also z.B. den Programmpfad, C:\\Corel\\Graphics8\\Programs\photopnt.exe, bearbeiten und an den Programmpfad des gewünschten Programmes angleichen und die Skripte natürlich dem Programm zugeordnet umbenennen.

Gruß,

RSH

P.S.

Sicher gibt es noch eine smartere Möglichkeit, allerdings habe ich bisher keine gefunden.

_________________
LazY Puppy
RSH's DNA
SARA B.

Last edited by RSH on Thu 21 Aug 2014, 22:55; edited 1 time in total
Back to top
View user's profile Send private message 
RSH


Joined: 05 Sep 2011
Posts: 2420
Location: Germany

PostPosted: Thu 21 Aug 2014, 22:54    Post subject:  

Und da ist sie auch schon, die smartere Möglichkeit.

Skript 1 folgendermaßen abgeändert:
Code:
#!/bin/bash -a
#------------------------------------------------------------------------------
# Executing Corel Photopaint 8 in Wine and submit a File
# 2014-08-21 RSH for LazY Puppy
#------------------------------------------------------------------------------

SUBMIT="$1"
#exec wine "C:\\Corel\\Graphics8\\Programs\photopnt.exe" "C:\\`basename "$SUBMIT"`" >/dev/null
exec wine start /Unix "/root/.wine/drive_c/Corel/Graphics8/Programs/photopnt.exe $@"
   
# End


Skript 2 folgendermaßen abgeändert:
Code:
#! /bin/sh
#------------------------------------------------------------------------------
# Load Wine SFS and execute Windows .exe Application
#------------------------------------------------------------------------------

# Set Name of your Wine SFS here
WineSFS="LP2_Wine.sfs"

FileLoopMnt() { mount |grep loop* |sed 's# .*$##' | while read N
   do losetup-FULL $N |grep $WineSFS |sed 's#^.* .##;s#.$##' ;done ; }
fm=$(FileLoopMnt)

bfm=`basename $fm`
if [ "$bfm" = "" ]; then
   sfs_load --cli --skip-fixmenus --quiet "$WineSFS"
   /usr/local/bin/corelphotopaint-executor "$1" >/dev/null
   #######################
   else # [ "$bfm" = "" ];
   #######################
   /usr/local/bin/corelphotopaint-executor "$1" >/dev/null
fi

Das Kopieren der übermittelten Datei entfällt nun.

Anscheinend kann man Wine einige Kommandos oder Optionen übermitteln, wie z.B.: start oder /Unix. Die Eingabe # Wine --help im Terminal brachte jedoch nichts dergleichen zutage.

Geoffrey wrote:
I use this command to run windows apps, as an example:
Code:
exec wine start /Unix "/root/.wine/drive_c/Program Files/Foxit Software/Foxit Reader/Foxit Reader.exe $@"


the quotes are needed if there are spaces in the path or file names

_________________
LazY Puppy
RSH's DNA
SARA B.
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [4 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » Users ( For the regulars ) » Für deutschsprachige Anhänger
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0723s ][ Queries: 11 (0.0116s) ][ GZIP on ]