Linux 15.070 Themen, 107.540 Beiträge

Ut2004 unter Suse 9.3

ossiostbourne / 9 Antworten / Baumansicht Nickles

Hab mir neulich Ut2004 gekauft. Nach der erfolgreichen Installation hab ich das Problem das sich das Spiel nicht starten lässt:

chris@xaver:~/Games/UnrealTournament2004> sh ut2004
ut2004: line 49: /home/chris/Games/UnrealTournament2004/System/ut2004-bin: Keine Berechtigung
ut2004: line 49: /home/chris/Games/UnrealTournament2004/System/ut2004-bin: Erfolg
chris@xaver:~/Games/UnrealTournament2004>

Habe das Spiel als root installiert, die gleiche Fehlermeldung kommt auch, wenn ich es wieder als root ausführe. Was kann ich machen um das Spiel zum laufen zu bringen?

bei Antwort benachrichtigen
KarstenW ossiostbourne „Ut2004 unter Suse 9.3“
Optionen

Ich würde zuerst mal die Zeile 49 in der datei "/home/chris/Games/UnrealTournament2004/System/ut2004-bin" anschauen, weil da ein fehler zu sein scheint.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
higgl ossiostbourne „Ut2004 unter Suse 9.3“
Optionen

vielleicht hat selbst root keine rechte, es auszuführen. ändere mal mit chmod die berechtigung der datei.

zum testen mal ein chmod 777 ut2004-bin, so hat jeder volle berechtigung für die binary. wenn es funktioniert, kannst du die berechtigungen wieder einschränken.

hth

Never argue with an idiot. They drag you down to their level and then beat you with experience.
bei Antwort benachrichtigen
ossiostbourne higgl „vielleicht hat selbst root keine rechte, es auszuführen. ändere mal mit chmod...“
Optionen

Die Rechte zum Ausführen waren von Anfang an gesetzt, beim Ausführen des Scriptes bleibt es in zeile 49 stehen:

48: cd "${UT2004_DATA_PATH}/"
49: exec "./ut2004-bin" $*

bei Antwort benachrichtigen
KarstenW ossiostbourne „Die Rechte zum Ausführen waren von Anfang an gesetzt, beim Ausführen des...“
Optionen

Hast du das Shellscript geschrieben ?

Der cd Befehl wechselt in ein Unterverzeichnis, welches eventuell nicht existiert. Mit ${UT2004_DATA_PATH} ist eine Variable gemeint, Du kannst dir diese variable anzeigen lassen wenn du kurz vor dem cd Befehl

echo "${UT2004_DATA_PATH}/" einfügst.

Vielleicht existiert dieses verzeichnis nicht, in dem dann dieses Programm "./ut2004-bin" $* ausgeführt wird.

cd Befehle sollte man eigentlich nicht unbedingt in Shellscripte einfügen, weil dann das Shellscript kurz in das Unterverzeichnis wechselt und sich nach dem cd-Befehl wieder in das darüberliegenden Verzeichnis wechselt.

Ich würde solche Sachen in einer eigenen Subshell (runde Klammern) ausführen lassen:

( cd Verzeichnis ; exec Befehl )

Du kannst ja mal das Shellscript debuggen:

echo "vor cd-Befehl PWD : $PWD"
48: cd "${UT2004_DATA_PATH}/"
echo "nach cd-Befehl PWD : $PWD"
49: exec "./ut2004-bin" $*

PWD ist eine Variable in der das aktuelle Verzeichnis gespeichert ist.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW Nachtrag zu: „Hast du das Shellscript geschrieben ? Der cd Befehl wechselt in ein...“
Optionen

Bei dieser gelegenheit kannst du gleich mal ein wenig Shellprogrammierung lernen:

http://www.tldp.org/LDP/abs/html/

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
ossiostbourne KarstenW „Hast du das Shellscript geschrieben ? Der cd Befehl wechselt in ein...“
Optionen

Danke erstmal für deine Hilfe!
Der cd-Befehl wechselt schon in das Gewünschte Verzeichnis, ich glaube eher, dass ich diese "ut2004-bin" nicht ausführen kann:

chris@xaver:~/Games/UnrealTournament2004/System> ut2004-bin
bash: ./ut2004-bin: Keine Berechtigung

auch sh funktioniert nicht:

chris@xaver:~/Games/UnrealTournament2004/System> sh ut2004-bin
ut2004-bin: ut2004-bin: cannot execute binary file

bei Antwort benachrichtigen
KarstenW ossiostbourne „Danke erstmal für deine Hilfe! Der cd-Befehl wechselt schon in das Gewünschte...“
Optionen

Was sagt denn "dir -l ut2004-bin" ?

und "file ut2004-bin" ?

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
KarstenW Nachtrag zu: „Was sagt denn dir -l ut2004-bin ? und file ut2004-bin ?“
Optionen

PS Es kann auch noch sein, das bei den Mount-Optionen in der /etc/fstab - Datei die Option "user" angegeben wurde. Diese Option schließt die Option "noexec" mit ein.
Das ist mir bei CD-ROM Laufwerken schon passiert.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
johnT KarstenW „PS Es kann auch noch sein, das bei den Mount-Optionen in der /etc/fstab - Datei...“
Optionen

Das Problem sollte mit dem mit Suse 9.3 neu eingeführten HAL/D-Bus automount System zutun haben, da CD's seit dem von Suse immer anders gemountet werden und nach der Installation das Laufwek deshalb nicht mehr gefunden werden kann. Seit dem hat fstab keinen Einfluss mehr. Durch das Anlegen einer fdi-Datei kann der gleichen Mountpoint festlegt werden. Dieser Link sollte weiterhelfen.
http://www.linux-club.de/viewtopic.php?t=31209&highlight=subfs
Möge sich jeder selbst seine Meinung über Suses selbstgemachte Probleme und die Einsteigerfreundlichkeit bilden.

bei Antwort benachrichtigen