.titleBar { margin-bottom: 5px!important; }

mcabber Problem

Dieses Thema im Forum "Freetz" wurde erstellt von pioupus, 16 Okt. 2008.

  1. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,
    ich würde mcabber auf meiner Fritzbox 7170 laufen lassen. Ich habe die sourcen aus dem Freetz-trunk. Als Paket wählte ich das Mcabber Paket aus. Das Kompilieren der Firmware lief ohne probleme. Doch beim Aufrufen von Mcabber kommt nach der Passworteingabe folgende Fehlermeldung:

    Error opening Terminal: xterm-color

    Was kann ich tun?

    viele Grüße
     
  2. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Hast du mcabber statisch kompiliert?

    MfG Oliver
     
  3. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    naja, ich habe in menuconfig packages "statically link libraries" angehakt. meinst du das? Was bedeutet das?
     
  4. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wert von TERM ändern oder Definition von xterm-color mit auf die Box bringen.
     
  5. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ja das sieht schonmal gut aus. tatsächlich steht dort xterm-color. Allerdings mit welchem Wert kann ich die Variable sinnvoll setzen? nehme ich einen leeren string, kommt ein "error opening terminal: unknown" Ich habe schon probiert, die variable mit "sh" zu setzen. Allerdings ging auch das nicht.

    Viele Grüße
     
  6. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Wenn man "statical" auswählt, dann landen die terminfos nicht im Image.

    MfG Oliver
     
  7. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    vielen vielen Dank, daran lag es! jetzt funktioniert es! Ich habe das statical weggehakt und nun läuft es auch auf der Box. Das einzige Problem ist, dass der Speicherbedarf wohl größer geworden ist, da Lua leider nicht mehr auf das Image passt. Ich habe jetzt nur den dropbear client und mcabber installiert. Ich hätte gerne noch lua, allerdings geht es vielleicht auch mit shellscripts. Schaun wir mal.
    Aber wie dem auch sei: nochmal einen herzlichen Dank und ein großes Lob an Freetz!!!
     
  8. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    #8 olistudent, 17 Okt. 2008
    Zuletzt bearbeitet: 17 Okt. 2008
    Mist. Zu früh auf Enter gekommen. Auf alle Fälle ist der Fix jetzt drin... r2653

    MfG Oliver
     
  9. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    super, vielen Dank!

    Ich habe vor, mcabber mit einem Script zu steuern. Das ganze soll mit fifos funktionieren.
    Ich habe in make/mcabber/ die Datei mcabber.mk (quick and dirty)

    ifeq ($(strip $(FREETZ_PACKAGE_MCABBER_WITH_SSL)),y)
    $(PKG)_DEPENDS_ON += openssl
    MYLIBS+=-lssl -lcrypto -ldl
    $(PKG)_CONFIGURE_OPTIONS += --with-ssl --with-openssl=$(TARGET_MAKE_PATH)/../usr/lib
    $(PKG)_CONFIGURE_OPTIONS += --enable-fifo
    else
    $(PKG)_CONFIGURE_OPTIONS += --without-ssl
    $(PKG)_CONFIGURE_OPTIONS += --enable-fifo
    endif

    entsprechend geändert. Ich würde das gerne als Option für Menuconfig integrieren. Vielleicht ist es möglich, das auch gleich ins SVN einzuchecken?

    Viele Grüße!
     
  10. McNetic

    McNetic Mitglied

    Registriert seit:
    7 Feb. 2007
    Beiträge:
    674
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ort:
    Aachen
    Ich denke schon. Mach am besten ein Ticket auf und häng einen funktionierenden Patch an.
     
  11. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    könnest du mir sagen, wie das mit fifo funktioniert?
    ich kann auch gerne nen patch erstellen, der das ganze per make menuconfig wählbar macht.
     
  12. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Um Fifos zu aktivieren, muss mcabber letztendlich nur mit der Option --enable-fifo compiliert werden. Ich hatte das so gelöst, dass ich die Option einfach in mcabber.mk mit

    $(PKG)_CONFIGURE_OPTIONS += --enable-fifo

    gesetzt habe. Allerdings weiß ich nicht, wie man das offiziel in das Menu einbindet und dann eincheckt.

    Viele Grüße
     
  13. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    in das menu kann ich das einbinden, kein thema, mache ich etwas später und poste den Patch.

    Wie benutzt man das war eher meine frage :)
     
  14. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #14 pioupus, 17 Okt. 2008
    Zuletzt bearbeitet: 17 Okt. 2008
    achso!
    mal in http://www.lilotux.net/~mikael/mcabber/files/mcabber_guide.pdf im Bereich sripting gucken.
    Wenn man mcabber mit der richtigen Option compiliert hat, muss man nur ein Feld in der mcabber config setzen, um den fifo support anzuschalten. Dann kann man in die Fifo die Befehle reinschreiben, mit denen man sonst mcabber steuern würde. Die Befehle werden dann asgeführt. Wie zb
    echo "/say hallo" > meine fifo
    schickt eine chat msg.
    Auf Ereignisse reagieren, geht auch. Steht im Userguide.

    Ich werde damit versuchen, einige Dinge zu steuern, wie zb Festplatten spindown, solange dein buddy offline ist oä

    Da kann man echt viel mit machen!
     
  15. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    danke schaue es mir mal an und werde nachher mal nen patch erstellen.

    edit:
    versuch mal den angehängten patch.
     

    Anhänge:

  16. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    vielen Dank! Werde ich heute Abend mal ausprobieren.

    Viele Grüße
     
  17. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #17 matze1985, 17 Okt. 2008
    Zuletzt bearbeitet: 17 Okt. 2008
    das schein ja wirklich ne feine sache zu sein.
    Es funktioniert wirklich mcabber von außen zu steuern.
    meine Konfog sieht so aus:
    Code:
    set username = XXXXXXX
    set server = jabber.org
    set resource = console
    set priority = 1
    #Für den Automatischen Login
    set password = XXXXXXX
    set ssl = 1
    set ssl_verify = 0
    set fifo_name = /var/tmp/mcabber.fifo
    set logging = 1
    set load_logs = 1
    set logging_dir = /var/media/ftp/stick/mcabber/logs
    set event_log_files = 1
    set event_log_dir = /var/media/ftp/stick/mcabber/events
    #Ich will unsichtbar sein :)
    set hook-post-connect = status invisible
    damit kann ich mich automatisch einloggen und auch per fifo steuern, z.b. schreibt
    Code:
    echo "/say_to XXXXX@jabber.org hallo" > /tmp/mcabber.fifo
    mir eine kleine nachricht oder
    Code:
     echo "/quit" > /tmp/mcabber.fifo
    schließt mcabber.

    Leider habe ich erst eine möglichkeit gefunden mcabber im hintergrund laufen zu lassen, nämlich screen, dass sieht z.b. so aus:
    Code:
    screen -dmS mcabber mcabber
    Damit wird eine Screensession gestartet mit dem namen mcabber, in dieser Session wird mcabber gestartet und die Session wird detached (also in den Hintergrund gelegt, man ist also wieder in seiner Konsole).
    Wenn man mcabber in dieser session per
    Code:
     echo "/quit" > /tmp/mcabber.fifo
    beendet wird die session auch automatisch beendet.

    Gibt es noch eine andere Möglichkeit dafür(ohne screen)? ("mcabber &" oder "mcabber >> /dev/null 2>&1 &" funktionieren nicht, dort bleib mcabber einfach stehen und initialisiert sich nicht :( )

    Echt ne schöne sache, werde nachher mal die events_commands anschauen mit denen man events nach aktionen triggern kann, also z.b. beim online kommen eines bestimmten budduys ne aktion ausführen.

    Man kann auch ne menge hinweise in der bsp-config dazu finden.


    edit:

    hab noch mal etwas mit dem events_command gespielt, wenn man die zeile
    Code:
    set events_command = /var/media/ftp/stick/mcabber/eventcmd
    dann wird das script /var/media/ftp/stick/mcabber/eventcmd bei jedem event in der folgenden weise aufgerufen:
    Code:
       /var/media/ftp/stick/mcabber/eventcmd MSG IN jabber@id [file] (when receiving a message)
       /var/media/ftp/stick/mcabber/eventcmd MSG OUT jabber@id       (when sending a message)
       /var/media/ftp/stick/mcabber/eventcmd MSG MUC room_id [file]  (when receiving a MUC message)
       /var/media/ftp/stick/mcabber/eventcmd STATUS X jabber@id      (new buddy status is X)
       /var/media/ftp/stick/mcabber/eventcmd UNREAD N                (number of unread buddy buffers)
    
    Will man also aut ein ereignis einer bestimmten person reagieren, dann muss man die Parameter $1 und $2 und $3 richtig filter. Ist auch nciht sehr schwer.
    In dem file bei einkommenden Nachrichten steht dann auch die Nachricht. (so könne man auch Komandos auf der Box ausführen per jabber :) )
     
  18. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Es gäbe noch dteach im Freetz. Ein screen-Ähnliches Verhalten wird dort erzeugt., Man kann Prozesse von der Login-Shell abkoppeln und sie in den Hintergrund schicken. Als weiteres könntest du versuchen , den Prozess mit nohup in den Hintergrund zu schicken, auch dann sollte das Schließen der Shell nichts mehr machen "nohup Command &" . Dort wird dann in die Datei "nohup.out" alles geschrieben, was das Programm denn so von sich gibt.
     
  19. pioupus

    pioupus Neuer User

    Registriert seit:
    14 Okt. 2008
    Beiträge:
    14
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Super, dein Patch funktioniert! Die Option erscheint jetzt im menuconfig. Kann man das vielleicht sogar ins svn einchecken?

    Das mit der Fifo ist wirklich praktisch. Ich habe auch vor, die Fritzbox damit fernzusteuern. Zusätzlich werde ich einen kleinen USBstick bauen, der ein Solidstate Relais und einen 433MHz Transmitter steuern kann. Und dann wird es wirklich interessant das mit mcabber zu kombinieren, was ja nun offensichtlich geht.
    Das Problem, dass die Konsole gesperrt ist, konnte ich mit

    nohup mcabber &

    wunderbar lösen(Danke @ Silent-Tears!). Wie groß wird denn eigentlich die nohup.out? Kann das ein Problem werden? muss man si hinterher manuell löschen?

    Viele Grüße!
     
  20. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Keine Ahnung, wie groß die nohup.out wird. Aber mit
    Code:
    nohup befehl > /dev/null 2>&1
    
    ist die Größe = 0 ;)