Pidgin: Difference between revisions
m (add zn-CN translation) |
(→SIP/Simple protocol for Skype for Business/Office 365/Lync: remove section, flagged for a while) |
||
(155 intermediate revisions by 56 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: | [[Category:Instant messaging]] | ||
[[Category:Internet Relay Chat]] | [[Category:Internet Relay Chat]] | ||
[[Category:XMPP]] | |||
[[de:Pidgin]] | [[de:Pidgin]] | ||
[[ | [[ja:Pidgin]] | ||
[ | [https://www.pidgin.im/ Pidgin] is a chat program which lets you log into accounts on multiple chat networks simultaneously. It is compatible with Jabber/XMPP, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, and Zephyr, and many more chat networks with plugins. | ||
==Installation== | == Installation == | ||
[[Install]] the {{Pkg|pidgin}} package. | |||
Notable variants are: | |||
* {{App|Pidgin Light|Light Pidgin version without GStreamer, Tcl/Tk, XScreenSaver, video/voice support.|https://pidgin.im/|{{AUR|pidgin-light}}}} | |||
You may also want to install additional plugins from the {{Pkg|purple-plugin-pack}}. | |||
== Spellcheck == | |||
{{ | The {{pkg|aspell}} package will be installed as a dependency, but to prevent all of your text from showing up as incorrect you will need to install an aspell dictionary. See the [[aspell]] article. | ||
{{Note|The '''switch spell''' plugin is included in the {{Pkg|purple-plugin-pack}}. It allows you to switch between multiple languages.}} | |||
== Services == | |||
=== AIM === | |||
== | Pidgin has out-of-the-box support for AOL Instant Messenger (AIM). Although AIM has officially ceased, unofficial AIM-based servers like [https://phoenixim.ddns.net/ AIM Phoenix] operate and can be used on Pidgin by changing the server address in the AIM protocol account settings. | ||
=== Discord plugin === | |||
{{Warning|There is currently an open [https://github.com/EionRobb/purple-discord/issues/410 GitHub issue] regarding temporary IP bans after using {{ic|purple-discord}}.}} | |||
Install the {{AUR|purple-discord-git}} package. | |||
Then add a new account, select Discord as the protocol, enter your Discord login e-mail address and its password. | |||
== | === Facebook === | ||
[[Install]] the {{AUR|purple-facebook}} package. (or {{AUR|purple-facebook-git}}) | |||
Then add a new account, select Facebook as the protocol, enter your [https://www.facebook.com/help/211813265517027 Facebook username] and password and login. | |||
=== Google (Hangouts) === | |||
[[Install]] the {{AUR|purple-hangouts-git}} package. | |||
=== ICQ === | |||
Pidgin only comes with the original OSCAR ICQ protocol. Since December 2018, the old OSCAR protocol is no longer officially supported as it has been replaced by the newer WIM protocol. To make use of the new WIM protocol on ICQ, you should install the {{AUR|purple-icyque-git}} plug-in. | |||
== | === IRC === | ||
This is a small tutorial for connecting to the [https://libera.chat/ Libera Chat] network. It should work for other IRC networks as long as you substitute the port numbers and other specific settings. | |||
Go to ''Accounts > Manage Accounts > Add''. Fill/select the following options: | |||
Protocol: IRC | |||
Username: ''your username'' | |||
Now go to ''Buddies > New instant message'' (or hit {{ic|Ctrl+m}}), fill 'libera.chat' in the textbox and ''username''@irc.libera.chat, then click 'Ok'. Type: | |||
/join #archlinux | |||
The channel is irrelevant. | |||
In order to register your nick, type: | |||
/msg nickserv register ''password'' ''email-addres'' | |||
Follow the instructions from the registration mail. For further help type: | |||
/msg nickserv help | |||
/msg nickserv help ''command'' | |||
This final step will add your channel to 'Buddies': go to ''Buddies > Add chat'', fill the correct channel in the textbox named channel (#archlinux). | |||
== | === Sametime protocol === | ||
[[Install]] the {{AUR|libpurple-meanwhile}} package. The 'Sametime' protocol will be available when creating an account. | |||
=== Skype plugin === | |||
Install the {{Pkg|purple-skypeweb}} or {{AUR|purple-skypeweb-git}} package. | |||
=== Slack plugin === | |||
Install the {{AUR|slack-libpurple-git}} package. | |||
=== Rocket.Chat plugin === | |||
Install the {{AUR|purple-rocketchat-git}} package. | |||
=== Telegram plugin === | |||
{{Out of date|The ''telegram-purple'' project is [https://github.com/majn/telegram-purple#this-project-is-abandoned-see-instead-tdlib-purple abandoned]. See also [[Special:Diff/704779|Diff/704779]]. As mentioned in the previous links, {{AUR|telegram-tdlib-purple-git}} is its successor package.}} | |||
Install the {{AUR|telegram-purple}} or {{AUR|telegram-purple-git}} package. | |||
Enter your Telegram phone number when creating the account, after which you will receive an SMS text message with a confirmation code, which you will have to enter to authorize your Telegram protocol account on Pidgin. | |||
=== XMPP === | |||
Pidgin has out-of-the-box support for the XMPP/Jabber chat protocol. Some additional plugins exist for support of XMPP extensions such as OMEMO ({{Pkg|libpurple-lurch}}) or Message Carbons ({{AUR|libpurple-carbons}}). | |||
== Security == | |||
Pidgin uses Libpurple 2 which stores passwords unencrypted (in plaintext) in $HOME/.purple/account.xml, see [https://developer.pidgin.im/wiki/PlainTextPasswords]. You can store them in a keyring by using a plugin like: | |||
* {{AUR|purple-gnome-keyring}} | |||
* {{Pkg|pidgin-kwallet}} | |||
== Privacy == | |||
Pidgin has some privacy rules set by default. Namely, the whole world cannot send you messages; | |||
only your contacts or people selected from a list. Adjust this, and other settings in ''Tools > Privacy''. | |||
=== Pidgin-OTR === | |||
Pidgin | This is a plugin that brings Off-The-Record (OTR) messaging to Pidgin. OTR is a cryptographic protocol that will encrypt your instant messages. | ||
First you need to install {{Pkg|pidgin-otr}} from the official repositories. Once this has been done, OTR has been added to Pidgin. | |||
# To enable OTR, start Pidgin and go to ''Tools > Plugins'' or press {{ic|Ctrl+u}}. Scroll down to the entry entitled "Off-The-Record Messaging". If the checkbox beside it is not checked, check it. | |||
# Next, click on the plugin entry and select "Configure plugin" at the bottom. Select which account you wish to generate a key for, then click "Generate". You will have now generated a private key. If you are not sure what the other options do, leave them, the default options will work fine. | |||
# The next step is to contact a buddy who also has OTR installed. In the chat window, a new icon should appear to the top right of your text input box. Click on it, and select "Start private conversation". This will start an 'Unverified' session. Unverified sessions are encrypted, but not verified - that is, you have started a private conversation with someone using your buddy's account who has OTR, but who might not be your buddy. The steps for verification of a buddy are beyond the scope of this section; however, they might be added in the future. | |||
=== Pidgin-Encryption === | |||
{{AUR|pidgin-encryption}} transparently encrypts your instant messages with RSA encryption. Easy-to-use, but very secure. | |||
You can enable it the same way as Pidgin-OTR. | |||
Now you can open conversation window and new icon should appear beside menu. Press it to enable or disable encryption. | |||
Also if you want to make encryption enabled by default right-click on a buddy's name (in your buddy list), and select Turn Auto-Encrypt On. Now, whenever a new conversation window for that buddy is opened, encryption will start out as enabled. | |||
Pidgin | === Pidgin-GPG === | ||
Pidgin-GPG transparently encrypt conversations using GPG, and taking advantage of all the features of a pre-existing WoT. | |||
The | The plugin is available on AUR as {{aur|pidgin-gpg-git}}. It can be enabled the same way as the previously mentioned ones. | ||
== Other packages == | == Other packages == | ||
Arch has other Pidgin-related packages. Here are the most popular (for a thorough list, search the AUR): | Arch has other Pidgin-related packages. Here are the most popular (for a thorough list, search the AUR): | ||
*{{ | *{{AUR|pidgin-libnotify}} - Libnotify support, for theme-consistent notifications | ||
*{{AUR|pidgin-latex}} - A small latex plugin for pidgin. Put math between $$ and have it rendered (recepient also needs to have this installed) | |||
*{{AUR| | |||
== | == Auto logout on suspend == | ||
If you suspend your computer pidgin seems to stay connected for about 15 minutes. To prevent message loss, it is needed to set your status offline before suspending or hibernating. The status message will not be changed. | |||
Therefore create a new systemd unit {{ic|pidgin-suspend}} in {{ic|/etc/systemd/system}} | |||
Take the following snippet and replace ''myuser'' with your user. | |||
[Unit] | |||
Description=Suspend Pidgin | |||
Before=sleep.target | |||
StopWhenUnneeded=yes | |||
[Service] | |||
Type=oneshot | |||
DISPLAY=:0 | User=''myuser'' | ||
RemainAfterExit=yes | |||
Environment=DISPLAY=:0 | |||
ExecStart=-/usr/bin/purple-remote setstatus?status=offline | |||
ExecStop=-/usr/bin/purple-remote setstatus?status=available | |||
[Install] | |||
WantedBy=sleep.target | |||
== Minimize to tray == | |||
To make use of the [[Xfce]] system tray go to preferences and enable the system tray in the section "Interface". | |||
You can now close the main window and run pidgin minimized. You will also be able to see message notifications in the tray. | |||
== | == History import Kopete to Pidgin == | ||
* Install {{Pkg|xalan-c}} and create {{ic|~/bin/history_import_kopete2pidgin.sh}} with this code: | |||
* Install xalan-c | {{bc|<nowiki> | ||
< | |||
#!/bin/sh | #!/bin/sh | ||
Line 225: | Line 178: | ||
CURRENT_DIR=~/bin | CURRENT_DIR=~/bin | ||
cd | cd | ||
if [ ! -d $KOPETE_DIR ];then | if [ ! -d $KOPETE_DIR ];then | ||
echo "Kopete log directory not found" | |||
exit 1; | |||
fi | fi | ||
if [ ! -d $PIDGIN_DIR ];then | if [ ! -d $PIDGIN_DIR ];then | ||
echo "Pidgin log directory not found" | |||
exit 2; | |||
fi | fi | ||
for KOPETE_PROTODIR in | for KOPETE_PROTODIR in $(ls $KOPETE_DIR); do | ||
do | PIDGIN_PROTODIR=$(echo $KOPETE_PROTODIR | sed 's/Protocol//' | tr [:upper:] [:lower:]) | ||
for accnum in $(ls $KOPETE_DIR/$KOPETE_PROTODIR); do | |||
echo "Account number: $accnum" | |||
for num in $(ls $KOPETE_DIR/$KOPETE_PROTODIR/$accnum); do | |||
FILENAME=$(Xalan $KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num $CURRENT_DIR/history_import_kopete2pidgin_filename.xslt) | |||
if [ $? = 0 ]; then | |||
echo "$KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num" | |||
echo " -> $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME" | |||
mkdir -p $(dirname $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME) | |||
Xalan -o $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME $KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num $CURRENT_DIR/history_import_kopete2pidgin.xslt | |||
fi | |||
done | |||
done | |||
done | done | ||
</ | </nowiki>}} | ||
* Make ~/bin/history_import_kopete2pidgin.sh executable | * Make {{ic|~/bin/history_import_kopete2pidgin.sh}} [[executable]] | ||
* Create {{ic|~/bin/history_import_kopete2pidgin.xslt}} with this code: | |||
{{bc|1= | |||
* Create ~/bin/history_import_kopete2pidgin.xslt with this code: | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | <nowiki><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></nowiki> | ||
<xsl:output method="text" indent="no" /> | |||
<xsl:template match="kopete-history"> | |||
<xsl:apply-templates select="msg"/> | |||
</xsl:template> | |||
<xsl:template match="msg"> | |||
<xsl:text>(</xsl:text> | |||
<xsl:value-of select="translate(substring-after(@time,' '),':',',')"/> | |||
<xsl:text>) </xsl:text> | |||
<xsl:value-of select="@nick"/> | |||
<xsl:if test="not(@nick) or @nick = ''"> | |||
<xsl:value-of select="@from"/> | |||
</xsl:if> | |||
<xsl:text>: </xsl:text> | |||
<xsl:value-of select="."/> | |||
<xsl:text> | <xsl:text> | ||
</xsl:text> | </xsl:text> | ||
</xsl:template> | |||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</ | </nowiki>}} | ||
* Create ~/bin/history_import_kopete2pidgin_filename.xslt with this code: | * Create {{ic|~/bin/history_import_kopete2pidgin_filename.xslt}} with this code: | ||
{{bc|1= | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | <nowiki><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></nowiki> | ||
<xsl:output method="text" indent="no" /> | |||
<xsl:template match="kopete-history"> | |||
<xsl:value-of select="head/contact[@type = 'myself']/@contactId"/> | |||
<xsl:text>/</xsl:text> | |||
<xsl:value-of select="head/contact[not(@type)]/@contactId"/> | |||
<xsl:text>/</xsl:text> | |||
<xsl:value-of select="head/date/@year"/> | |||
<xsl:text>-</xsl:text> | |||
<xsl:if test="head/date/@month &lt; 10">0</xsl:if> | |||
<xsl:value-of select="head/date/@month"/> | |||
<xsl:text>-</xsl:text> | |||
<xsl:if test="string-length(substring-before(msg[1]/@time,' ')) &lt; 2">0</xsl:if> | |||
<xsl:value-of select="translate(msg[1]/@time,' :','.')"/> | |||
<xsl:text>+0200EET.txt</xsl:text> | |||
</xsl:template> | |||
</xsl:stylesheet> | </xsl:stylesheet> | ||
}} | |||
* Execute the command in the shell | * Execute the command in the shell: | ||
~/bin/history_import_kopete2pidgin.sh | ~/bin/history_import_kopete2pidgin.sh | ||
</ | |||
== Backup == | |||
Save {{ic|~/.purple}} to backup all message logs, accounts and other application data. | |||
== Troubleshooting == | |||
=== Version Match for Sametime === | |||
There was an issue if you would connect to the Sametime via Pidgin, it prompt "Version Match". A potential solution on the client side is to fake the version in accounts.xml. Insert/change the lines: | |||
<setting name='fake_client_id' type='bool'>1</setting> | |||
<setting name='client_minor' type='int'>8511</setting> | |||
in the <settings> section of Sametime account in accounts.xml which is located in $HOME/.purple/ folder. | |||
=== Browser error === | |||
If clicking a link within Pidgin creates an error message about trying to use 'sensible-browser' to open a link, try editing {{ic|~/.purple/prefs.xml}}. Find the line referencing 'sensible-browser' and change it to this: | |||
<pref name='command' type='path' value='firefox'/> | |||
This example assumes you use [[Firefox]]. | |||
As an alternative if the method above does not work you can set the desired browser in the pidgin preferences in the section "Browser". | |||
=== ICQ Buddy Information encoding fix === | |||
You can change encoding for ICQ account if encoding in Buddy Information is not correct: | |||
Account > ''your ICQ account'' > Edit account > Advanced tab | |||
Select {{ic|Encoding: CP1251}} (for Cyrillic). | |||
== See also == | |||
* [https://developer.pidgin.im/wiki/Using%20Pidgin Using Pidgin] | |||
* [ | * [[Wikipedia:Pidgin_(software)]] | ||
* [http://lukav.com/wordpress/2008/03/30/history-import-kopete-to-pidgin History | * [http://lukav.com/wordpress/2008/03/30/history-import-kopete-to-pidgin History import Kopete to Pidgin] | ||
* [https://confluence.atlassian.com/hipchatkb/connecting-to-hipchat-using-pidgin-751436267.html Connecting to HipChat using Pidgin] | |||
*{{pkg|finch}}, a console based libpurple client, essentially Pidgin in a terminal |
Latest revision as of 15:02, 3 July 2023
Pidgin is a chat program which lets you log into accounts on multiple chat networks simultaneously. It is compatible with Jabber/XMPP, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, and Zephyr, and many more chat networks with plugins.
Installation
Install the pidgin package. Notable variants are:
- Pidgin Light — Light Pidgin version without GStreamer, Tcl/Tk, XScreenSaver, video/voice support.
You may also want to install additional plugins from the purple-plugin-pack.
Spellcheck
The aspell package will be installed as a dependency, but to prevent all of your text from showing up as incorrect you will need to install an aspell dictionary. See the aspell article.
Services
AIM
Pidgin has out-of-the-box support for AOL Instant Messenger (AIM). Although AIM has officially ceased, unofficial AIM-based servers like AIM Phoenix operate and can be used on Pidgin by changing the server address in the AIM protocol account settings.
Discord plugin
purple-discord
.Install the purple-discord-gitAUR package.
Then add a new account, select Discord as the protocol, enter your Discord login e-mail address and its password.
Install the purple-facebookAUR package. (or purple-facebook-gitAUR)
Then add a new account, select Facebook as the protocol, enter your Facebook username and password and login.
Google (Hangouts)
Install the purple-hangouts-gitAUR package.
ICQ
Pidgin only comes with the original OSCAR ICQ protocol. Since December 2018, the old OSCAR protocol is no longer officially supported as it has been replaced by the newer WIM protocol. To make use of the new WIM protocol on ICQ, you should install the purple-icyque-gitAUR plug-in.
IRC
This is a small tutorial for connecting to the Libera Chat network. It should work for other IRC networks as long as you substitute the port numbers and other specific settings.
Go to Accounts > Manage Accounts > Add. Fill/select the following options:
Protocol: IRC Username: your username
Now go to Buddies > New instant message (or hit Ctrl+m
), fill 'libera.chat' in the textbox and username@irc.libera.chat, then click 'Ok'. Type:
/join #archlinux
The channel is irrelevant.
In order to register your nick, type:
/msg nickserv register password email-addres
Follow the instructions from the registration mail. For further help type:
/msg nickserv help /msg nickserv help command
This final step will add your channel to 'Buddies': go to Buddies > Add chat, fill the correct channel in the textbox named channel (#archlinux).
Sametime protocol
Install the libpurple-meanwhileAUR package. The 'Sametime' protocol will be available when creating an account.
Skype plugin
Install the purple-skypeweb or purple-skypeweb-gitAUR package.
Slack plugin
Install the slack-libpurple-gitAUR package.
Rocket.Chat plugin
Install the purple-rocketchat-gitAUR package.
Telegram plugin
Install the telegram-purpleAUR or telegram-purple-gitAUR package.
Enter your Telegram phone number when creating the account, after which you will receive an SMS text message with a confirmation code, which you will have to enter to authorize your Telegram protocol account on Pidgin.
XMPP
Pidgin has out-of-the-box support for the XMPP/Jabber chat protocol. Some additional plugins exist for support of XMPP extensions such as OMEMO (libpurple-lurch) or Message Carbons (libpurple-carbonsAUR).
Security
Pidgin uses Libpurple 2 which stores passwords unencrypted (in plaintext) in $HOME/.purple/account.xml, see [1]. You can store them in a keyring by using a plugin like:
Privacy
Pidgin has some privacy rules set by default. Namely, the whole world cannot send you messages; only your contacts or people selected from a list. Adjust this, and other settings in Tools > Privacy.
Pidgin-OTR
This is a plugin that brings Off-The-Record (OTR) messaging to Pidgin. OTR is a cryptographic protocol that will encrypt your instant messages.
First you need to install pidgin-otr from the official repositories. Once this has been done, OTR has been added to Pidgin.
- To enable OTR, start Pidgin and go to Tools > Plugins or press
Ctrl+u
. Scroll down to the entry entitled "Off-The-Record Messaging". If the checkbox beside it is not checked, check it. - Next, click on the plugin entry and select "Configure plugin" at the bottom. Select which account you wish to generate a key for, then click "Generate". You will have now generated a private key. If you are not sure what the other options do, leave them, the default options will work fine.
- The next step is to contact a buddy who also has OTR installed. In the chat window, a new icon should appear to the top right of your text input box. Click on it, and select "Start private conversation". This will start an 'Unverified' session. Unverified sessions are encrypted, but not verified - that is, you have started a private conversation with someone using your buddy's account who has OTR, but who might not be your buddy. The steps for verification of a buddy are beyond the scope of this section; however, they might be added in the future.
Pidgin-Encryption
pidgin-encryptionAUR transparently encrypts your instant messages with RSA encryption. Easy-to-use, but very secure.
You can enable it the same way as Pidgin-OTR.
Now you can open conversation window and new icon should appear beside menu. Press it to enable or disable encryption. Also if you want to make encryption enabled by default right-click on a buddy's name (in your buddy list), and select Turn Auto-Encrypt On. Now, whenever a new conversation window for that buddy is opened, encryption will start out as enabled.
Pidgin-GPG
Pidgin-GPG transparently encrypt conversations using GPG, and taking advantage of all the features of a pre-existing WoT.
The plugin is available on AUR as pidgin-gpg-gitAUR. It can be enabled the same way as the previously mentioned ones.
Other packages
Arch has other Pidgin-related packages. Here are the most popular (for a thorough list, search the AUR):
- pidgin-libnotifyAUR - Libnotify support, for theme-consistent notifications
- pidgin-latexAUR - A small latex plugin for pidgin. Put math between $$ and have it rendered (recepient also needs to have this installed)
Auto logout on suspend
If you suspend your computer pidgin seems to stay connected for about 15 minutes. To prevent message loss, it is needed to set your status offline before suspending or hibernating. The status message will not be changed.
Therefore create a new systemd unit pidgin-suspend
in /etc/systemd/system
Take the following snippet and replace myuser with your user.
[Unit] Description=Suspend Pidgin Before=sleep.target StopWhenUnneeded=yes [Service] Type=oneshot User=myuser RemainAfterExit=yes Environment=DISPLAY=:0 ExecStart=-/usr/bin/purple-remote setstatus?status=offline ExecStop=-/usr/bin/purple-remote setstatus?status=available [Install] WantedBy=sleep.target
Minimize to tray
To make use of the Xfce system tray go to preferences and enable the system tray in the section "Interface". You can now close the main window and run pidgin minimized. You will also be able to see message notifications in the tray.
History import Kopete to Pidgin
- Install xalan-c and create
~/bin/history_import_kopete2pidgin.sh
with this code:
#!/bin/sh KOPETE_DIR=~/.kde4/share/apps/kopete/logs PIDGIN_DIR=~/.purple/logs CURRENT_DIR=~/bin cd if [ ! -d $KOPETE_DIR ];then echo "Kopete log directory not found" exit 1; fi if [ ! -d $PIDGIN_DIR ];then echo "Pidgin log directory not found" exit 2; fi for KOPETE_PROTODIR in $(ls $KOPETE_DIR); do PIDGIN_PROTODIR=$(echo $KOPETE_PROTODIR | sed 's/Protocol//' | tr [:upper:] [:lower:]) for accnum in $(ls $KOPETE_DIR/$KOPETE_PROTODIR); do echo "Account number: $accnum" for num in $(ls $KOPETE_DIR/$KOPETE_PROTODIR/$accnum); do FILENAME=$(Xalan $KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num $CURRENT_DIR/history_import_kopete2pidgin_filename.xslt) if [ $? = 0 ]; then echo "$KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num" echo " -> $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME" mkdir -p $(dirname $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME) Xalan -o $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME $KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num $CURRENT_DIR/history_import_kopete2pidgin.xslt fi done done done
- Make
~/bin/history_import_kopete2pidgin.sh
executable - Create
~/bin/history_import_kopete2pidgin.xslt
with this code:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" indent="no" /> <xsl:template match="kopete-history"> <xsl:apply-templates select="msg"/> </xsl:template> <xsl:template match="msg"> <xsl:text>(</xsl:text> <xsl:value-of select="translate(substring-after(@time,' '),':',',')"/> <xsl:text>) </xsl:text> <xsl:value-of select="@nick"/> <xsl:if test="not(@nick) or @nick = "> <xsl:value-of select="@from"/> </xsl:if> <xsl:text>: </xsl:text> <xsl:value-of select="."/> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet> </nowiki>
- Create
~/bin/history_import_kopete2pidgin_filename.xslt
with this code:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" indent="no" /> <xsl:template match="kopete-history"> <xsl:value-of select="head/contact[@type = 'myself']/@contactId"/> <xsl:text>/</xsl:text> <xsl:value-of select="head/contact[not(@type)]/@contactId"/> <xsl:text>/</xsl:text> <xsl:value-of select="head/date/@year"/> <xsl:text>-</xsl:text> <xsl:if test="head/date/@month < 10">0</xsl:if> <xsl:value-of select="head/date/@month"/> <xsl:text>-</xsl:text> <xsl:if test="string-length(substring-before(msg[1]/@time,' ')) < 2">0</xsl:if> <xsl:value-of select="translate(msg[1]/@time,' :','.')"/> <xsl:text>+0200EET.txt</xsl:text> </xsl:template> </xsl:stylesheet>
- Execute the command in the shell:
~/bin/history_import_kopete2pidgin.sh
Backup
Save ~/.purple
to backup all message logs, accounts and other application data.
Troubleshooting
Version Match for Sametime
There was an issue if you would connect to the Sametime via Pidgin, it prompt "Version Match". A potential solution on the client side is to fake the version in accounts.xml. Insert/change the lines:
<setting name='fake_client_id' type='bool'>1</setting> <setting name='client_minor' type='int'>8511</setting>
in the <settings> section of Sametime account in accounts.xml which is located in $HOME/.purple/ folder.
Browser error
If clicking a link within Pidgin creates an error message about trying to use 'sensible-browser' to open a link, try editing ~/.purple/prefs.xml
. Find the line referencing 'sensible-browser' and change it to this:
<pref name='command' type='path' value='firefox'/>
This example assumes you use Firefox.
As an alternative if the method above does not work you can set the desired browser in the pidgin preferences in the section "Browser".
ICQ Buddy Information encoding fix
You can change encoding for ICQ account if encoding in Buddy Information is not correct:
Account > your ICQ account > Edit account > Advanced tab
Select Encoding: CP1251
(for Cyrillic).
See also
- Using Pidgin
- Wikipedia:Pidgin_(software)
- History import Kopete to Pidgin
- Connecting to HipChat using Pidgin
- finch, a console based libpurple client, essentially Pidgin in a terminal