Het is gebruikelijk in Linux dat applicaties worden opgestart met een script. Zo ook bij Kylix applicaties. In het script geeft u aan waar het systeem de bibliotheekbestanden van Kylix (en QT) kan vinden.
Zoals gebruikelijk zijn er meerdere mogelijkheden in Linux om dit voor elkaar te stomen. Omdat ik niet in uw systeem kan kijken noem ik er een paar – oplopend van makkelijk tot ingewikkeld. Kies één van onderstaande opties (dus niet allemaal) om te kijken of dit bij uw systeem werkt. Werkt er een, perfect; niet langer zoeken, laat de andere opties voor wat ze zijn!
1. Voeg onderstaande regel toe aan het etc/profile bestand:
source /usr/local/kylix2/bin/kylixpath
Werkt niet? Probeer dan:
2. Kopieer het opstartscript van Kylix en wijzig dit iets.
Dit script – startdelphi - vind u (als u Kylix als Root hebt geïnstalleerd) in de directory /usr/local/kylix3/bin (of anders in de /bin directory waar u Kylix bij installatie heeft neergezet).
Kopieer en hernoem startdelphi tot bijvoorbeeld zoiets als 'StartMijnApp'.
Verander de laatste regel uit dit script zo, dat het verwijst naar de feitelijke map waarin u uw applicatie hebt neergezet, en de feitelijke naam die u aan die applicatie heeft toegekend:
#!/bin/bash -v
source /usr/local/kylix3/bin/kylixpath /usr/local/kylix3 >/dev/null
/map/van/uw/applicatie/kylixapp $*
Op mijn systeem wordt dat bijvoorbeeld zoiets als:
#!/bin/bash -v
source /usr/local/kylix3/bin/kylixpath /usr/local/kylix3 >/dev/null
/home/peter/kylix/test/testapp
3. Werken de oplossingen onder 1 en 2 niet, dan onder (3) een script dat u zowel kunt gebruiken op systemen waar Kylix WEL als NIET op geinstalleerd is.
Schrik niet, ’t is een uitgebreid script. Ik laat het onvertaald, zoals dat ook op borland.public.kylix.non-technical is gepubliceerd.
‘t Komt erop neer dat uw applicatie moet weten:
- waar alle *.so en runtime packages op uw systeem zijn
- en dat het pad naar de applicatie voor Linux duidelijk is.
Knip, plak en wijzig, zou 'k zo zeggen.
Daar gaan we:
#!/bin/bash
# starter - bash script for Kylix application.
# may be used for environment where Kylix is installed
# and/or with your *deployed* application.
#
# cut and paste as a text file and chmod +x RunMyExe.
# the "#!/bin/bash" has to be the first line in your script.
# replace /opt/myappi/lib with /opt/kylix/bin (if Kilix installed)
# replace $HOME/myappi/bin with the path of your exe.
#
# -your script can be in different directory than your application
# -can be used for any Kylix application by substituting
# the "lp" and "ap" values.
#
# -assumed in this example:
# -the Kylix library path is "/opt/myappi/lib"
# -the application path is "$home/myappi/bin"
# -the application name is "myexe"
# -the error log file "myappierrors.txt"
# -the starter script name is "RunMyExe"
# establish path to Kylix libs
lp=/opt/myappi/lib
# establish path of the application
ap=$HOME/myappi/bin
export LD_LIBRARY_PATH=$lp:$LD_LIBRARY_PATH
export PATH=$PATH:$ap
# the name of the executable and error log file.
myexe 2>> myappierrors.txt
end
Met alle drie de oplossingen kunt u vanaf de desktop of vanuit het startmenu van KDE of Gnome een snelkoppeling maken naar het uitvoerbare script.
PS: Het alternatief is natuurlijk om van uw applicatie een package te maken waarmee u uw applicatie kunt distribueren. In hoofdstuk 13 van de Developer’s Guide staat hoe u dit aanpakt. |