ubuntuusers.de

Skype besser in Ubuntu integrieren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

melodie

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

Da ich Skype-Nutzer bin, habe ich mich an eine bessere Integration in Ubuntu gemacht.

1. Skript zur synchronen Statusänderung mit Pidgin

Bisher ist es so, dass das user-switcher-applet nur den Status von Pidgin ändert.

Wenn man jetzt Pidgin und Skype gleichzeitig einsetzt, muss man immer von beiden den Status ändern.

Ich habe dazu ein kleines Python-Skript geschrieben (befindet sich im Anhang). Folgender Befehl sollte in den Autostart gelegt werden:

python /home/<Benutzername>/status_pidgin_skype.py

(Bitte daran denken, den Pfad entsprechend anzupassen.)

Das Skript wartet bei seinem Start auf Skype, wenn man Skype nicht im Autostart hat, braucht man es auch nicht in den Autostart zu tun, sollte aber daran denken es zu starten, wenn man Skype startet.

2. Skript für die neuen Notifications

Im englischen Ubuntu-Forum wurde ein Skript veröffentlicht, dass bei allen Ereignissen Notifications sendet. Blog-Eintrag

Ich habe dieses Skript getestet, auf deutsch übersetzt, angepasst und Skype-Icons hinzugefügt. Es gibt mittlerweile schon eine zweite Version, da diese bei mir aber nicht funktionierte, habe ich noch die erste Version verwendet.

Wenn ihr das Skript heruntergelden habt, öffnet ihr die Skype-Optionen, geht links auf Hinweise, danach auf Erweiterte Ansicht, macht bei Dieses Skript bei jedem Ereignis ausführen einen Haken und tragt folgendes ein:

python /home/<Benutzername>/skype-notify.py -e"%type" -n"%sname" -f"%fname" -p"%fpath" -m"%smessage" -s%fsize -u%sskype

(Bitte daran denken, den Pfad entsprechend anzupassen.)

Dann solltet ihr noch bei jedem Ereignis den Haken bei Hinweis unten rechts anzeigen entfernen.

Mit der aktuellen konfiguration wird bei jedem Ereignis eine Nachricht angezeigt, wer das nicht will kommentiert die entsprechende Zeile zwischen den "Stern-Reihen" aus.

Wer die Skype-Icons angezeigt bekommen möchte sollte diese noch herunterladen ⮷, entpacken und den Pfad + /icons/ im Skript in Zeile 31 angeben.

Leider werden auch noch Notifications angezeigt, wenn man das Chat-Fenster schon im Vordergrund hat. Ich werde das aber so schnell wie möglich ändern.

Viel Spaß damit.

status_pidgin_skype.py (1.1 KiB)
Das erste Skript zur Status-Synchronisation
Download status_pidgin_skype.py
skype-notify.py (7.7 KiB)
Das zweite Skript für die Notifications
Download skype-notify.py

Groening

Avatar von Groening

Anmeldungsdatum:
15. September 2006

Beiträge: 265

Wohnort: Bonn

genial (d.h. wenn ich das richtig verstanden habe)

1) übernimmt skype mithilfe deines Skriptes den Onlinestatus von pidgin (JUHUU!) oder umgekehrt (schade...)?

es gibt eine Reihe von Plugins, mit denen man z.B. über libpurple den aktuell gespielten Song eines beliebigen Musikplayers als pidgin-Status setzen kann! (teilweise sogar mit Cover aber das ist mitunter protokollabhängig) Wenn man mithilfe des Scriptes nun den Online-status von Skype setzen könnte (Übernahme von Pidgin) wär das ein Traum 😀

zu 2) hier noch ein Link, der auch nicht uninteressant ist und das Gegenstück zu deinem Skript darstellt: http://linuxundich.de/de/2009/07/benachrichtigungen-von-skype-via-notify-osd-in-jaunty/#more-2487

Dieses Skript ermöglicht es, Meldungen via libnotify bereit zu stellen, die sich auf Skype beziehen, sprich:

  • ein Skype Kontakt geht online

  • ein Skype Kontakt geht offline

  • neue Skype-Nachricht erhalten (nur wenn das Fenster nicht aktiv ist)

  • Dateitransfer abgeschlossen

Ich bin mir jetzt nur nicht sicher, ob die Skripte für 2 vom gleichen Autoren (sprich dir) sind..

melodie

(Themenstarter)

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

1. das mit dem gegenseitigen status ist so nicht möglich. vollständig wird momentan nur pidgin → skype unterstützt. Es ging vorallem um das user-switcher-applet.

2. Das mit der Musik ist so eine Sache. Da das Musiktracker-Plugin die Musik bei MSN in ein spezielles feld schreibt, aber bei icq, glaube ich, wird das in den normalen status geschrieben. Damit könnte ich es mal versuchen.

Was ich noch sagen muss: Das 1. Skript funktioniert nur, wenn man ein ICQ-Konto hat!

@ 2.

Ich habe genau diesen Blog-eintrag in meinem ersten Post verlinkt. Er gehört im weitesten Sinne zu meinem Skript.

Groening

Avatar von Groening

Anmeldungsdatum:
15. September 2006

Beiträge: 265

Wohnort: Bonn

melodie schrieb:

1. das mit dem gegenseitigen status ist so nicht möglich. vollständig wird momentan nur pidgin → skype unterstützt. Es ging vorallem um das user-switcher-applet.

2. Das mit der Musik ist so eine Sache. Da das Musiktracker-Plugin die Musik bei MSN in ein spezielles feld schreibt, aber bei icq, glaube ich, wird das in den normalen status geschrieben. Damit könnte ich es mal versuchen.

Was ich noch sagen muss: Das 1. Skript funktioniert nur, wenn man ein ICQ-Konto hat!

gut, hab ich (außerdem noch gTalk und MSN, werd hier meine Erfahrungen posten...)

@ 2.

Ich habe genau diesen Blog-eintrag in meinem ersten Post verlinkt. Er gehört im weitesten Sinne zu meinem Skript.

sry hatte den falschen gepostet, den hier meinte ich eigtl: http://webupd8.blogspot.com/2009/06/ubuntu-jaunty-notification-system-for.html

aber egal.. ich werds gleich mal testen 😉

melodie

(Themenstarter)

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

Groening schrieb:

sry hatte den falschen gepostet, den hier meinte ich eigtl: http://webupd8.blogspot.com/2009/06/ubuntu-jaunty-notification-system-for.html

Das ist der Blog-Beitrag des Original-Autors. Ich habe das Skript ja nur übersetzt und angepasst.

Groening

Avatar von Groening

Anmeldungsdatum:
15. September 2006

Beiträge: 265

Wohnort: Bonn

ok, ein Script läuft, das andere nicht...

status_pidgin_skype.py
Traceback (most recent call last):
  File "/home/groening/bin/status_pidgin_skype.py", line 4, in <module>
    import Skype4Py
ImportError: No module named Skype4Py

was is Skype4Py und wo krieg ichs her? nutze jaunty (amd64), skype und skype-common in Version 2.0.0.72-0medibuntu4

greets

EDIT:
hat sich erledigt: http://www.mail-archive.com/debian-wnpp@lists.debian.org/msg90232.html hab das deb von hier: http://ftp.ch.debian.org/debian/pool/contrib/s/skype4py/

jetzt hat Skype wenigstens mal gefragt, ob ich den Zugriff erlauben will - Statusänderungen in pidgin werden trotzdem nicht in skype übernommen ☹

melodie

(Themenstarter)

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

Lad doch Skype4Py mal von Sourceforge. Dann entpacken, in den entpackten Ordner wechseln und dort

python setup.py

ausführen.

Wenn es dann immernoch nicht geht, folgendes machen:

0. evtl. vorher laufendes Skript beenden:

killall python

1. Skype (neu)starten

2. Pidgin (neu)starten

3. Das Skript im Terminal ausführen:

python /home/<Benutzername>/status_pidgin_skype.py

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Hi,

also Statusänderungen werden bei mir ebenfalls nicht übernommen. Ich habe das Skript nach /usr/local/bin gelegt, dann das Skript beendet (wurde im Autostart mitgestartet).

Nach einem Neustart von Skype und Pidgin das Skript gestartet und es erscheint anfangs die Meldung

Attach request. Status  -1
Attach sucess. Status 0
Skype User Status changed to ONLINE

Wenn ich jetzt die Änderung des Statuses in Pidgin oder über das User-Applet vornehme wird das nicht an Skype weiter gereicht.

Gruß

Marc

Edit: Skype4Py hat nach Zugriff gefragt und ich habe es gestattet, steht also in Optionen also ebenfalls unter erlaubten Programmen.

melodie

(Themenstarter)

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

Es könnte sein, dass es da ein Problem mit Pidgin gibt.

Benutzt mal das neue Skript, das ich angehängt habe.

PS: Bitte daran denken, das ihr ein ICQ-Account in Pidgin haben müsst.

status_pidgin_skype.py (1.1 KiB)
Neue Version!
Download status_pidgin_skype.py

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Hi,

beim neuen Skript gibt es ein Problem mit dem Einrücken, soviel vorne weg. Laufen tut es aber auch mit dem neuen Skript nicht.

Wozu ist eigentlich die Funktion "OnSkypeStatus" da, die wird soweit ich es sehen kann nie aufgerufen?

Gruß

Marc

Edit: Ich habe jetzt mal das Skript ein bißchen durchgesehen und bei mir waren die Codes für den jeweiligen Status fehlerhaft.

  • verfügbar 399

  • abwesend 401

  • beschäftigt 404

  • unsichtbar: 402

  • abgemeldet: 407

Entsprechend müssen die Zahlen in den einzelnen IF-Anweisungen geändert werden.

melodie

(Themenstarter)

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

mbecker schrieb:

Hi,

beim neuen Skript gibt es ein Problem mit dem Einrücken, soviel vorne weg. Laufen tut es aber auch mit dem neuen Skript nicht.

Wo liegt denn das Problem? Ich habe gerade erst mit Pytho angefangen und habe nicht viel Ahnung davon. Auch nicht wie man if-Abfragen begrenzt etc.

Wozu ist eigentlich die Funktion "OnSkypeStatus" da, die wird soweit ich es sehen kann nie aufgerufen?

Sie wird in Zeile 26 dem Event skype.onUserStatus zugewiesen. Diese Funktion sollte eigentlich den Status Skype → Pidgin aktualisieren, funktioniert aber nicht, weil Skype die Events nicht richtig herausgibt / zu spät. Das sieht man, wenn man das Skript im Terminal aufruft und den Status von Skype ändert.

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Hi,

also beim Einrücken muss man bei Python aufpassen, es gibt kein endif oder Klammern, die das IF begrenzen, das geschieht über Einrücken.

Wenn du jetzt ein IF auskommentierst kommt Python da durchaus mal ins Schleudern...

Gruß

Marc

P.S.: Ich habe es geschafft, die Codes sind bei mir falsch gewesen.

  • ONLINE: 399

  • AWAY: 401

  • DND: 404

  • INVISIBLE: 402

  • OFFLINE: 407

Außerdem musst du aufpassen, dass aufgrund der fehlerhaften Einrückungen das Setzen des Skype-Statuses nicht mit in die IF-Anweisung für das Anhängen des Skripts an Skype selber hinein rutscht.

melodie

(Themenstarter)

Anmeldungsdatum:
22. Februar 2007

Beiträge: 78

Wohnort: Düsseldorf

mbecker schrieb:

Ich habe jetzt mal das Skript ein bißchen durchgesehen und bei mir waren die Codes für den jeweiligen Status fehlerhaft.

  • verfügbar 399

  • abwesend 401

  • beschäftigt 404

  • unsichtbar: 402

  • abgemeldet: 407

Entsprechend müssen die Zahlen in den einzelnen IF-Anweisungen geändert werden.

Gehören die zu einem ICQ-Account?

Bei mir gehören die Zahlen im Skript zu meinem ICQ-Account. Würde mich wundern wenn das Unterschiedlich ist... Das die Account-Nummer (Variable: account) sich unterscheidet kann ja möglich sein.

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Ja, die gehören zu meinem ICQ-Account... Ich habe aber zwei ICQ-Accounts. Finde ich auch merkwürdig, dass die sich unterscheiden.

buzz2

Avatar von buzz2

Anmeldungsdatum:
27. November 2008

Beiträge: 989

Wohnort: Braunschweig

Auf Bitten von Groening hier ein korrigiertes Skript.

status_pidgin_skype.py (2.0 KiB)
Download status_pidgin_skype.py
Antworten |