• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

[10.6 Snow Leopard] Probleme mit Skripten nur in einem Benutzerkonto

chimpo

Gala
Registriert
25.04.09
Beiträge
50
Hallo zusammen,

mal wieder so etwas, wo man nicht weiß, worunter es fällt. Folgende Probleme habe ich unter Mac 10.6.4 nur in meinem Konto, das ich mittlerweile auch zum Admin gemacht habe (daran liegt's also schon einmal nicht): Ein Spiel und ein Skript für TeXShop funktionieren nicht mehr.

Das Spiel ist "FrozenBubble2", das zunächst ein AppleScript startet. Dieses ruft ein SH-Skript auf, das nur eine Zeile enthält: "ln -s $PWD /tmp/FrozenBubble.app". Dieser Aufruf meldet offenbar einen Fehler zurück, der über das Skript an mich weiter gegeben wird (command not found). Aus dem Terminal kann ich das Skript aber problemlos aufrufen und es macht auch alles, was es soll. Ich habe sogar die verschiedenen Shells (hoffentlich) alle durchprobiert - überall problemlos. Ist ja auch eigentlich kein Problem...

Bei dem TeXShop-Engine handelt es sich um den für LilyPond-Book. Dies ist nach dem, was ich gehört habe, ein Perl-Skript. Probleme macht die folgende Funktion:
Code:
# verifySystemCall()
#
#  Usage    : my $exit_status = verifySystemCall($program_name);
#  Returns  : -1 if the program couldn't be run;
#             -2 if the program died (a msg is printed to stdout);
#             the exit code of the program, otherwise.
sub verifySystemCall {
    my $prog = shift;
    return -1 if ($? == -1);
    if ($? & 127) {
        my $sig = ($? & 127);
        my $core = ($? & 128) ? 'with' : 'without';
        print "$prog died with signal $sig, $core coredump.\n";
        return -2;
    }
    elsif (($? >> 8) != 0) {
        my $x = $? >> 8;
        return $x;
    }
    return 0;
}
Diese liefert soweit ich das nachvollziehen konnte in der zweiten Zeile immer die -1 zurück, was dann zum Abbruch des gesamten Skripts führt. Für genauere Infos habe ich an den Autor geschrieben, aber ich denke fast, dass das gar nicht so entscheidend ist. Auch hier gilt nämlich: Das Skript funktioniert im Terminal korrekt - aus TeXShop heraus aber eben nicht.

Meine VERMUTUNG: Ist es möglich, dass irgendwelche Variablen, die sich auf das aktuelle Konto beziehen - ich denke vor allem an Umgebungsvariablen, wie eben $PWD - zwar korrekt an die Shell, nicht aber an die besagten Programme übergeben werden? Wenn ja - wo kann das Problem liegen? Zur Not muss ich natürlich das Konto als solches portieren, aber das ist natürlich schon recht aufwändig...

Die Vermutung passt übrigens dazu, dass ich die Tage meine $PATH-Variable verändert habe und das zunächst über die Systemsteuerungs-Erweiterung "Umgebungsvariablen" nicht richtig geklappt hat. Mehr oder minder gleichzeitig habe ich das letzte Apple-Security-Update eingespielt. Eines von beidem müsste die Probleme ausgelöst haben.

Ich hoffe, jemand hat eine Idee.
 
Problem gelöst: die ~/MacOSX/environment.plist war anders als die globale Path-Variable.
 
meine $PATH-Variable verändert habe und das zunächst über die Systemsteuerungs-Erweiterung "Umgebungsvariablen" nicht richtig geklappt hat.
Diesen Weg (er stammt noch aus der NextStep-Zeit) solltest du grundsätzlich immer nur benutzen um eigene Variablen zu definieren, nicht um systemwichtige, bereits bestehende zu manipulieren. Das kann sehr, sehr, sehr gravierende Auswirkungen haben. Du willst gar nicht wissen, wie sehr.
 
Das habe ich mittlerweile auch begriffen :-) Aber dennoch danke für den Hinweis. Was ist denn eigentlich NextStep?
 
NeXTStep war ein Betriebssystem der Firma NeXT. Sehr benutzerfreundlich und basierte auf BSD. In seiner letzten Version war es die Basis für Apples Betriebssysteme.

Gruß,

GByte
 
Was ist denn eigentlich NextStep?
Lass dir doch das damalige Promotion-Video für NextStep 3.0 von Herrn Jobs persönlich zeigen.
http://www.youtube.com/watch?v=j02b8Fuz73A
Und höre und schaue sehr aufmerksam hin.
Da werden dich die Geistesblitze im Sekundentakt streifen, was du da heute eigentlich vor dir stehen hast.

Obwohl, nur zur Erinnerung:
Das war 1992/93, also zu einer Zeit, als Windows 3.0 noch nicht mal den klitzekleinsten Ansatz von irgendwelchen Netzwerkfähigkeiten besass. Der "aktuelle" PC war damals der 80386/25 für um die 25.000-30.000 DM, auf dem DOS lief. Diesen Rechner gab es im Verkauf schon für nur die Hälfte davon - mitsamt Hi-End Laserdrucker. Dann verstehst du wohl wieder absolut gar nichts mehr, die Welt sowieso überhaupt nicht...