problem mit shell-befehl

  • Ersteller Ersteller ex-user_525
  • Erstellt am Erstellt am
E

ex-user_525

Guest
morgen,

ich habe hier ein ica-terminal aufgesetzt, dass bestehende suse-terminals ersetzen soll. os freebsd 4.8 ;) der rechner ist ein p 75 mit 16 mb ram.

beim booten wird folgendes rc-script ausgeführt:

Code:
#!/usr/local/bin/bash

TERM=xterm
export TERM
ret=j
export ret

case "$1" in
start)
        echo "starte Citrix ICA-Client..."
        su - ica -c "/usr/X11R6/bin/startx"

        clear
        echo "Verbindung neu aufbauen?"
        read ret
        case $ret in
        j|J)
                /usr/local/etc/rc.d/ica.sh start
                ;;
        *)
                halt -p
                ;;
        esac
        ;;
*)
        ;;
esac

das funktioniert auch prima. system fährt hoch und startet den x-server unter dem user ica. der ica-client ist als window-manager bei diesem user eingetragen.

wenn der benutzer die verbindung zum terminalserver beendet bzw. sich 3 minuten nicht einlogt, wird die verbindung beendet und daraufhin x beendet. der bildschirm wird geleert und es erscheint die meldung, ob der x-server neu gestartet werden soll.

bei der read-anweisung kommt es nun aber zu problemen. das system meldet diese ressource momentan nicht zur verfügung steht. (meldung: /usr/local/etc/ica.sh: line 16: read: read error: 0: Resource temporarily unavailable) ein vor dem read eingebautes sleep 10 hat auch nicht den gewünschten erfolg gebracht.

ein read vor dem starx funktioniert fehlerfrei.

weiß jemand einen rat? danke schon mal im voraus.

cu tb.
 
Zuletzt bearbeitet von einem Moderator:
mahlzeit,

weiß hier keinen nen rat? wäre doch dumm wenn wir nur wegen diesen doofen read befehl wieder zu suse gehen ;)

cu tb.
 
so, gestern mal den ram von 16 mb auf 32 mb aufgestockt. von den 128 mb swap wird jetzt maximal 300 k verwendet ;)

allerdings ist die meldung von read immer noch die gleiche. langsam beginne ich an mir zu zweifeln. hat echt niemand so ein problem schon mal gehabt oder gibt es dazu einfach keine lösung.

cu tb.
 
Hi,

ich hab gestern mal dein Script in rc.d von einer 5.1er Current Kiste in Verbindung mit Metaframe XP "geworfen".
X wird nicht nach drei Minuten beendet allerdings funzt bei mir die Maus (noch) nicht.

Ich stocher jetzt mal im dunkeln, kann es sein das es an rpcbind liegt.
Teste mal ob ein rpcbind=YES in der rc.conf was bringt.

Is nur sone Idee.
 
x wird nach drei minunten hier beendet weil unser terminalserver dann die verbindung beendet. das ist hier der grund.

maus läuft ganz normal über den moused.

rpcbind bringt mir hier nichts.

cu tb.
 
so, hab das problem jetzt gelöst. zwar nicht sauber aber es geht ;)

Code:
#!/bin/sh

export TERM=xterm

case "$1" in
start)
        echo
        echo "starte Citrix ICA-Client..."
        su - ica -c "/usr/X11R6/bin/startx"

        TERM=xterm
        export $TERM
        ans="XXX"
        export $ans

        until [ "$ans" = "j" ] || [ "$ans" = "n" ]
        do
                clear
                echo
                echo
                echo
                echo
                echo
                echo
                echo "     Die Verbindung zum Terminalserver wurde beendet."
                echo "     Soll eine neu Verbindung aufgebaut werden oder der"
                echo "     Rechner heruntergefahren werden? [j]a|[n]ein"
                echo
                echo "     Eingabe mit <ENTER> bestätigen!"
                echo
                read -p "     Antwort: " -t 3600 ans
        done

        if [ $ans = "j" ] || [ $ans = "J" ];
        then
                /usr/local/etc/rc.d/ica.sh start
        else
                echo "System wird heruntergefahren..."
                halt -p
        fi
        ;;
stop)
        exit
        ;;
esac

cu tb.
 
Zurück
Oben