[[Vorlage(Getestet, Focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./xchat-logo.png, align=left)]] [http://www.xchat.org/ XChat] {en} ist ein grafischer [:IRC:]-Client mit umfangreichen Konfigurations- und Erweiterungsmöglichkeiten durch Plugins und Skripte. Als [:GTK:GTK+]-Programm eignet es sich vorzüglich für die Desktop-Umgebungen [:GNOME:] und [:Xfce:], unter [:Lubuntu:] war es bis einschließlich [:Natty:Ubuntu 11.04] bereits vorinstalliert. XChat wird seit 2010 nicht mehr entwickelt und ist ab Ubuntu 16.04 nur noch als [https://wiki.gnome.org/Attic/Xchat-Gnome Xchat-Gnome] {en} in den offiziellen Paketquellen. Seit 2012 existiert der unabhängig und aktiv weiterentwickelte Fork [:HexChat:], der ab Ubuntu 14.04 als Alternative ebenfalls über die Paketquellen bezogen werden kann. [[Vorlage(Bildunterschrift, XChat1204.png, 300, "XChat", right,)]] = Installation = In den Paketquellen bis Ubuntu 15.10 gibt es zwei verschiedene Versionen von XChat. Die erste Version ist eine Projektaufspaltung namens [https://wiki.gnome.org/Attic/Xchat-Gnome Xchat-Gnome] {en} mit dem Ziel, die Benutzeroberfläche einfacher zu gestalten. Sie steht dem Ursprungsprojekt jedoch noch sehr nahe und befindet sich in den offiziell unterstützten Quellen (''main''). Für die Installation [1] benötigt man das Paket {{{#!vorlage Paketinstallation xchat-gnome }}} Die zweite Version, die seit Ubuntu 16.04 nicht mehr in den Quellen verfügbar ist, zeichnet sich durch größeren Funktionsumfang bzw. Konfigurierbarkeit aus. Folgendes Paket muss installiert werden: {{{#!vorlage Paketinstallation xchat, universe, bis Ubuntu 15.10 }}} Optional kann noch folgendes Paket installiert werden: {{{#!vorlage Paketinstallation libnotify-bin, universe, notwendig damit Ballon-Meldungen im Tray angezeigt werden können. }}} Für beide Versionen werden Menüeinträge angelegt, im GNOME-Menü sind sie zu finden unter * ''"Anwendungen -> Internet"''. Nach dem ersten Programmstart fragt XChat nach einem Nick und betritt dann automatisch den englischsprachigen Support-Channel ''#ubuntu'' auf ''irc.ubuntu.com''. Dies lässt sich natürlich anpassen. = Bedienung = == Serverliste und Channel == In der Serverliste werden die Netzwerke und Channel eingestellt, zu denen sich XChat automatisch oder bei Bedarf verbinden soll. Die mitgelieferte Serverliste ist sehr umfangreich, aber das soll den Benutzer nicht verunsichern. Man kann die Serverliste unter * ''"Editieren -> Einstellungen -> Netzwerke"'' bei XChat-GNOME und ''"XChat -> Netzwerkliste"'' bei XChat einsehen und bearbeiten. Desweiteren bestehen diverse Konfigurationsmöglichkeiten, darunter automatisch zu betretende Channel, Benutzerinformation, Zeichenkodierung usw. Bei der Liste der automatisch zu betretenden Channel ist unter XChat zu beachten, dass die korrekte Syntax verwendet wird. Wie [http://www.xchat.org/faq/#q22 hier] {en} beschrieben, werden die Namen der Channels nur durch Kommata, aber nicht durch Leerzeichen getrennt. Konkret schreibt man also zum Beispiel: {{{ #ubuntuusers,#ubuntu-de,#xchat }}} Sofern ein Channel mit einem Passwort geschützt sein sollte ändert sich die Syntax wie folgt: {{{ #ubuntuusers,#ubuntu-de,#xchat Passwortubuntuusers,Passwortubuntude,Passwortvonxchat }}} Man kann natürlich auch manuell einem Channel beitreten. Dies funktioniert auf zwei verschiedene Arten: 1. Befehlseingabe: Kennt man den Namen des Channels, kann man dies durch die Eingabe von ``/join #channelname`` erledigen. 1. Eine komplette Channelliste für den Server kann man sich durch * ''"Netzwerk -> Kanäle"'' in XChat-GNOME oder ''"Server -> Betrete einen Channel -> Empfange Channelliste"'' anzeigen lassen, desweiteren Channel nach Stichworten durchsuchen und betreten. {{{#!vorlage Hinweis Beide XChat-Varianten verwenden dieselben Konfigurationen, das heißt u.a., die Serverliste ist identisch. Werden zum Beispiel in XChat-GNOME automatisch zu betretende Channel festgelegt, so werden diese auch beim Start von XChat betreten. }}} == Tastenkürzel == === Nicht änderbare Tastenkürzel === Manche Tastenkürzel sind durch GTK2 vorgegeben, andere sind fest einprogrammiert. Die fest einprogrammierten Tastenkürzel lassen sich nur sehr sehr schwer ändern. Die Tastenkürzel, die GTK2 vorgibt, lassen sich ändern, wenn diese Option in den GTK-Einstellungen erlaubt ist. {{{#!vorlage Tabelle <-3 tableclass="zebra_start3" tablestyle="width: 95%;" rowclass="titel"> vorgegebene Tastenkürzel +++ Tastenkürzel Funktion XChat-GNOME? +++ [[Vorlage(Tasten, Strg+W)]] schließt den aktiven Tab ja +++ [[Vorlage(Tasten, Strg+Q)]] beendet XChat ja +++ [[Vorlage(Tasten, Strg+T)]] erstellt ein neues Tab, in welchem man dann mittels "/server " zu einem Server verbinden kann nein +++ [[Vorlage(Tasten, Alt+A)]] setzt den Status ``away``, sofern man unter ''"Einstellungen -> Optionen -> Chatten -> Allgemein"'' einen default-Grund fürs away-sein angegeben hat. Ein erneutes Betätigen dieses Tastenkürzel hebt den away-Status auf nein +++ [[Vorlage(Tasten, Strg+S)]] zeigt die Serverliste an nein +++ [[Vorlage(Tasten, Strg+I)]] löst das aktive Tab heraus, bzw. fügt ein zuvor herausgelöstes Tab wieder ein nein }}} === Tastenkürzel anpassen und anlegen === Dies soll an einem Beispiel für XChat erläutert werden. Funktion des Tastenkürzels soll sein, zum nächsten bzw. vorherigen Tab zu wechseln: Man öffnet per Menü * ''"Einstellungen -> Fortgeschritten -> Tastenkürzel -> Hinzufügen"'', wählt dann in der linken Liste die unten neu hinzugekommene Zeile aus. Auf der rechten Seite klickt man in das Feld ''"Taste"'' und drückt [[Vorlage(Tasten, "Bild Ab")]]. Nun sollte dort "Page_Down" stehen. Bei ''Daten 1'' und ''Daten 2'' gibt man jeweils ``1`` ein. Danach setzt man einen Haken bei ''"Umschalt"'' und wählt dann aus der Dropdown-Liste den Eintrag ''"Change Page"''. Diese Auswahl muss explizit gemacht werden, auch wenn dort schon ''"Change Page"'' zu sehen sein sollte. In der Liste links liest sich die gewählte Zeile nun folgendermaßen (vlnr): "S", "Page_Down", "Change Page", "1", "1". Das Tastenkürzel [[Vorlage(Tasten, "Shift+Bild Ab")]] springt nun zum nächsten Tab rechts bzw. unten (je nachdem, ob die Tableiste waagerecht oder senkrecht ist). Das Gegenteil - also zum nächsten Tab links bzw. oben springen - erreicht man so: auf ''"Hinzufügen"'' klicken, die neue Zeile auswählen und als ''"Taste"'' "Page_Up" [[Vorlage(Tasten, "Bild Auf")]] einstellen. An dieser Stelle braucht kein Enter gedrückt zu werden; wer es dennoch tut, macht nichts kaputt, sondern stellt [[Vorlage(Tasten, enter)]] als ''Taste'' ein. Durch Mausklick gelangt man zu ''Daten 1'', wo ``-1`` eingetragen wird und per [[Vorlage(Tasten, tab)]] zu ''Daten 2'' gehen, wo nur ``1`` eingetragen wird. Nun noch den Haken bei ''"Umschalt"'' setzen und aus der Dropdown-Liste ""Change Page"" auswählen. Die Zeile in der Liste links liest sich nun so: "S", "Page_Up", "Change Page", "-1", "1"; das neue Tastenkürzel lautet also [[Vorlage(Tasten, "Shift+Bild Auf")]]. {{{#!vorlage Hinweis Änderungen in diesem Dialog werden wirksam, sobald die Liste links geändert wird, d.h. wenn am Schluss "Change Page" ausgewählt wird, kann man sofort testen, ob es auch wirklich funktioniert (hierzu sollte aber das XChat-Fenster und nicht das Dialogfenster den Eingabefokus haben). Das Dialogfenster lässt sich nur durch Klick auf den Schließen-Knopf des Window-Managers schließen. }}} = Skripte und Plugins = Für XChat gibt es sehr viele Skripte und Plugins. Skripte bedienen sich der Plugins für bestimmte Programmiersprachen (sog. Sprachplugins). Neben diesen Sprachplugins gibt es noch andere, z.B. für Verschlüsselung oder erweiterte GUI-Kontrolle. == Sprachplugins == Zurzeit gibt es sieben Sprachplugins für XChat: 1. Perl 1. Python 1. TCL 1. Ruby 1. Javascript 1. Lisp Nicht zu vergessen '''C''', allerdings gibt es hierfür keine Skripte. Alle Skripte findet man auf der [http://scripts.xchat.org Skripte-Seite von XChat] {en} . Perl-Skripte sind am populärsten. Es gibt aber auch einige Skripte in Python und TCL. Für das [http://xchat-ruby.sourceforge.net/ Ruby-Sprachplugin] {en} scheinen bisher nur die Beispielskripte zu existieren. Skripte in Javascript und [http://xchatlisp.sourceforge.net/ Common Lisp] {en} scheinen ebenfalls sehr selten zu sein. Diese Sprachplugins ermöglichen es einem, alle Fähigkeiten seiner Lieblings-Programmiersprache auszunutzen, um etwas mit XChat zu machen. == Skripte schreiben == ...ist eigentlich einfach: eine Funktion schreiben, diese per ``xchat.hook_*`` als ''callback'' für einen bestimmten ''Event'' registrieren und auf den ''Event'' warten. Ausführlicher bedeutet das: XChat stellt verschiedene Funktionen für Skripte bereit, diese werden von den Sprachplugins - an die Syntax der Sprache angepasst - "durchgeschleift". Man kann so ziemlich alle Aspekte von XChat beeinflussen: Nachrichten senden, auf Nachrichten jedweder Art reagieren, Channels betreten, zu Servern verbinden usw. Damit XChat von der Existenz eines Skripts erfährt, muss man es registrieren. Dies geschieht durch eine der ``hook_*``-Funktionen. Ab hier wird es sehr programmiertechnisch und man liest am besten bei der [http://www.xchat.org/docs/ XChat-Originaldokumentation] {en} nach. Am einfachsten lernt man, indem man sich bestehende von der [http://scripts.xchat.org Skripte-Seite] {en} anschaut. == Weitere Plugins == Es gibt zwei Plugins, die die Nachrichten verschlüsseln. Nachrichten, die mit einem Plugin verschlüsselt wurden, können mit dem anderen entschlüsselt werden. Dafür gibt es zum einen [http://www.donationcoder.com/Software/Mouser/mircryption/index.php mircryption] {en} und zum anderen [http://fish.secure.la/ FiSH] {en} . Verfügbare Plugins, die nicht in den Ubuntu-Quellen enthalten sind, kann man [http://xchat.org/cgi-bin/script_list.pl/ hier] {en} einsehen. === Laden von Skripten und Plugins === Am besten speichert man seine Skripte dort, wo sie von XChat [http://www.xchat.org/faq/#q218 automatisch geladen werden] {en} . Auch seine Plugins kann man dort speichern. Man kann sie selbstverständlich auch "von Hand" laden. Unter XChat-GNOME ist die Plugins- und Skripteverwaltung zu finden unter * ''"Editieren -> Einstellungen -> Skripte und Plugins"''. Dort gibt es bereits installierte Plugins, die per Checkbox aktiviert werden können, weitere können durch ''"Öffnen"'' hinzugefügt werden. Unter XChat geht man zu * ''"Fenster -> Plugins und Skripte"'', wo bereits geladene Plugins und Skripte aufgelistet werden. Das ''"Entladen"'' klappt nicht immer bei Skripten, eventuell muss man daher das dazugehörige Sprachplugin entladen. Die Sprachplugins für Perl, Python und TCL befinden sich meistens im systemweiten Plugin-Verzeichnis von XChat. Ist eines von diesen beim Beenden von XChat geladen, so wird es beim nächsten Start wieder geladen. = Instant Messaging mit XChat = Folgendes Paket muss installiert werden: {{{#!vorlage Paketinstallation bitlbee, universe }}} Das Paket simuliert für XChat und jedes andere IRC-Programm einen IRC-Server und sorgt für die Umsetzung von IRC in die jeweils richtigen Protokolle. Nach der Installation richtet man in XChat einen neuen Server ein: [[Vorlage(Tasten, Strg+S)]], dann auf ''"Hinzufügen"'' klicken. Man gibt einen Namen für dieses "Netzwerk" ein, klickt dann auf ''"Edit"''; im sich öffnenden Dialogfenster gibt man statt "newserver/6667" "localhost" ein. Den Port muss man nicht unbedingt angeben, da XChat per default auf Port 6667 verbindet und '''bitlbee''' standardmäßig auf diesem Port lauscht. = Dateitransfers = Im IRC werden Dateien über ein Protokoll namens [http://de.wikipedia.org/wiki/Direct_Client-to-Client DCC] {de} übertragen. Hierbei bauen die beteiligten IRC-Programme direkte Datenverbindungen zueinander auf; im Gegensatz zu den normalen Nachrichten, die an den Server gesendet und von dort weitergeleitet ("relay") werden. == Empfang von Dateien == XChat zeigt Transfers in einem separaten Fenster/Tab an. Sollte XChat dieses nicht automatisch öffnen, kann man dies von Hand nachholen: ''"Fenster -> Dateitransfers"''. Unten sieht man dann die zwei Buttons ''"Annehmen"'' und ''"Abbrechen"'', welche die Aktion für den ausgewählten Eintrag aus der Liste oberhalb ausführen. Abbrechen kann man immer; aktive und wartende Transfers werden abgebrochen bzw. gar nicht erst begonnen, bereits abgebrochene Transfers aus der Liste entfernt. Die Dateien werden in dem Verzeichnis gespeichert, das man unter ''"Einstellungen -> Optionen -> Dateitransfers"'' angegeben hat. Wenn eine Verbindung beim Empfang nicht zustande kommt, liegt es am Sender. == Senden von Dateien == Das Senden von Dateien ist auf mehrere Arten möglich. Außerdem können hierbei häufiger Schwierigkeiten auftreten. === Drag & Drop ins Query Fenster === Man öffnet ein "query"-Fenster oder auch einen "Dialog". Hier kann man ganz einfach direkt mit der betreffenden Person Nachrichten (über den Server) austauschen. Nun nimmt man seinen Lieblings-Dateimanager her, navigiert zu der gewünschten Datei, zieht diese dann in das Query-Fenster (drag) und lässt den Mausknopf los (drop). XChat wird die Datei an die betreffende Person senden. === Aus dem Menü heraus === Man [[Vorlage(Tasten, rmb)]] rechtsklickt auf einen Nick, entweder aus der Benutzerliste oder im Chatfenster, und wählt dann ''"Datei senden"'', woraufhin XChat den bekannten Dateiauswahldialog anzeigt. Man wählt eine Datei, klickt auf ''"OK"'' und XChat schickt sie an den Nick, den man zuvor angewählt hat. {{{#!vorlage Hinweis Diese Art von Kontextmenüs können vollständig angepasst werden, und können daher auch bei jedem Benutzer anders aussehen. Wenn der erwähnte Eintrag also nicht vorhanden ist, muss man das Menü anpassen oder wählt eine andere Methode den Transfer zu starten. }}} === Von Hand === Ist der Menüeintrag nicht vorhanden und man will aber trotzdem die Datei mit dem Dateiauswahldialog auswählen, kann man folgenden XChat-Befehl verwenden: {{{ /dcc send }}} Hierbei muss man natürlich "" durch den Nick der betreffenden Person ersetzen. XChat öffnet den Dialog und ab da folgt man der obigen Anleitung. Wenn man den Pfad und Dateinamen genau kennt, kann man auch gleich {{{ /dcc send "/pfad/mit Leerzeichen/zur/Datei.ext" }}} benutzen. Die Anführungsstriche braucht man, wenn der Pfad oder der Dateiname Leerzeichen enthalten. == Probleme beim Senden == === Firewall/Router === ==== Lösung: anderer Befehl ==== Die Befehle lauten dann {{{ /dcc psend }}} für den Dateiauswahldialog und {{{ /dcc psend "/pfad/mit Leerzeichen/zur/Datei.ext" }}} ohne Dateiauswahldialog. {{{#!vorlage Hinweis Hierfür gibt es in der Regel keinen Menüeintrag. Man kann diesen aber selber ergänzen. Gegenwärtig also nur die Befehlsversion. }}} ==== Lösung: Konfiguration ==== Beschwert sich der Empfänger, dass die Verbindung nicht hergestellt werden konnte, liegt dies oft am Portforwarding der Firewall/des Routers bzw. am Fehlen des Forwarding. Für jeden simultanen auswärtigen Transfer muss man einen Port forwarden. Will man immer nur eine Datei zur Zeit senden, konfiguriert man einen Port. Da über 65000 Ports zur Verfügung stehen, kann man ruhig mehrere aufeinanderfolgende Ports entsprechend konfigurieren. Um eine Portrange freizugeben (beispielsweise von 5000 bis 5010, also elf Ports), geht man wie folgt vor: 1. bei XChat unter ''"Einstellungen -> Optionen -> Dateitransfers -> Netzwerkeinstellungen"'' 1. an der Firewall/dem Router. Wie genau das geht, hängt vom Router bzw der Firewall ab. Das Stichwort lautet "port forwarding" oder auch "Ports freigeben" Bevor man nun Dateitransfers startet, sollte man eine weitere Einstellung in XChat vornehmen. Unter ''"Einstellungen -> Optionen -> Dateitransfers -> Netzwerkeinstellungen"'' findet man eine Checkbox "Hole meine IP vom Server". Man sollte sicherstellen, dass hier ein Haken gesetzt ist. (Es kann auch ohne diesen Haken klappen, dies hängt von der Routerkonfiguration ab). === BNCs === Klappt ein Dateitransfer trotz korrekter Netzwerk- und Routereinstellung immer noch nicht, so liegt es evtl am [http://de.wikipedia.org/wiki/Bouncer BNC] {de} , den einer der Teilnehmer verwendet. Mögliche Abhilfe: BNC abschaffen. === Andere Ursachen === Es kann sein, dass eine "höhere Gewalt" transferverhindernd eingreift. Vielleicht werden die verwendeten Ports vom ISP eines der Teilnehmer geblockt. Eine weitere Möglichkeit besteht darin, dass das IRC-Programm (eines) der Teilnehmer defekt ist. = Mit Tor anonym chatten = XChat unterstützt anonymes Chatten per Tor ohne [:Tor/Gefahren#DNS-Leaking: DNS-Leaking]. Wie man den Client konfigurieren muss, steht auf der Seite [:Tor/Programme zur Nutzung von Tor konfigurieren#XChat:]. = Problemlösungen = == Auf UTF-8 umstellen == Der IRC-Client sollte auf UTF-8 eingestellt werden, da dies auch zum Beispiel im [:IRC:Ubuntuusers-Channel] eine Vorraussetzung ist. 1. XChat ([[Vorlage(Tasten, Alt+X)]]) 1. Netzwerkliste ([[Vorlage(Tasten, Strg+S)]]) 1. Eintrag waehlen mit dem man verbunden ist 1. Editieren 1. am Ende des Fenster (Combobox) auf "UTF-8 (Unicode)" einstellen XChat neu starten nicht vergessen! == Browser zum Öffnen von Links ändern == XChat ist in Ubuntu fehlerhaft integriert, so werden Links nicht mit dem [:GNOME:]-Standardbrowser geöffnet. Um das zu ändern, muss man im [:Alternativen-System:] mittels ''--config'' für '''x-www-browser''' den gewünschten Browser einstellen. Standardmäßig ist XChat so konfiguriert, dass man Links per Drop-Down Menü öffnen muss. Möchte man nun Links mit einfachem Mausklick geöffnet haben, ändert man in der '''~/.xchat2/xchat.conf''' [2] die Zeile: {{{gui_url_mod = 4 }}} zu {{{gui_url_mod = 0 }}} == IRC-Links im Firefox mit XChat verknüpfen == Hin und wieder trifft man im Internet auf IRC-Links. Diese beinhalten meist einen IRC-Server und einen Channel. Damit sich beim Klick auf den Link XChat öffnet, muss man etwas an der Firefox-Konfiguration [:Firefox/Tipps#IRC-Links-mit-X-Chat-oeffnen:verändern]. == Ballon Hinweise == Wenn die Fehlermeldung {{{ Cannot find 'notify-send' to open balloon alerts. Please install libnotify. }}} angezeigt wird und unter ''"Einstellungen -> Optionen -> Chatten -> Warnungen"'' eines der Kästchen in der Zeile ''"Show tray ballon on:"'' ankreuzt ist, muss das Paket {{{#!vorlage Paketinstallation libnotify-bin }}} nachinstalliert [1] werden. Nach der Installation steht die Funktion in XChat zur Verfügung. = Links = * [http://www.xchat.org Projektseite] {en} * [http://www.xchat.org/docs/xchat-german.pdf Deutsche Dokumentation] {dl} {de} * [https://wiki.gnome.org/Attic/Xchat-Gnome Xchat-Gnome] {en} - Projektseite von Xchat-Gnome * [:HexChat:] - Aktiv weiterentwickelter Fork # tag: Kommunikation, Internet, LXDE