staging.inyokaproject.org

Benutzerverwaltung für Pidgin mit Zenity

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

PhotonX

Avatar von PhotonX

Anmeldungsdatum:
3. Juni 2007

Beiträge: 4471

Hallo Community,

nachdem gerade eine Frage bzgl. einer Benutzerverwaltung in Pidgin kam, habe ich kurzerhand ein kleines Skript geschrieben, das das mehr oder weniger gut erledigt. Vielleicht findet es noch jemand nützlich, daher stelle ich es mal hier rein. Mit dem Skript kann man in einem System-Benutzerkonto mehrere Pidgin-Benutzerkonten führen, in denen jeweils mehrere IM-Konten vereinigt sind. User-Case: Die ganze Familie nutzt den PC von einem Benutzerkonto aus, z.B. um auf die gleichen Dateien zugreifen zu können, möchten sich aber unter unterschiedlichen Accounts bei Pidgin anmelden können.

Was schon funktioniert: Auswahl eines Kontos aus einer Liste von drei Profilen beim Start von Pidgin. Umbenennen der Konten durch Editieren der Skriptdatei.

Was noch nicht funktioniert: Hinzufügen und Entfernen von Konten, Umbenennen aus der GUI heraus.

Und hier kommt das Skript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash

###################################################
## Dieses Skript erlaubt die Verwendung mehrerer ##
########### Benutzerprofile in Pidgin. ############
###################################################


###################################################
## Hier können die Profilnamen angepasst werden. ##
###################################################
                                                  #
PROFIL1="Profil 1"                                #
PROFIL2="Profil 2"                                #
PROFIL3="Profil 3"                                #
                                                  #
###################################################



# Wenn der Profilordner noch nicht existiert, erstelle ihn und lege drei leere Profildateien an. Erstelle außerdem eine Sicherheitskopie von ~/.purple/accounts.xml:

if [ ! -d $HOME/.pidgin-profiles ]
	then
		cp $HOME/.purple/accounts.xml $HOME/.purple/accounts.xml_bak
		zenity --info --text "Es scheint, als wäre es der erste Start von Pidgin-Profiles. Die Konfigurationsdatei $HOME/.purple/accounts.xml, die die Benutzerkonten-Einstellungen enthält, wurde nach $HOME/.purple/accounts.xml_bak gesichert. Wiederherstellung mit 'mv $HOME/.purple/accounts.xml_bak $HOME/.purple/accounts.xml'"
		mkdir $HOME/.pidgin-profiles
		touch $HOME/.pidgin-profiles/Profil1.xml
		touch $HOME/.pidgin-profiles/Profil2.xml
		touch $HOME/.pidgin-profiles/Profil3.xml
fi

# Wenn der Ordner, in dem die Information über das zuletzt benutzte Profil gespeichert wird, nicht existiert, erstelle ihn und setze Profil1 als zuletzt benutzt:

if [ ! -d $HOME/.pidgin-profiles/last-used ]
	then
		mkdir $HOME/.pidgin-profiles/last-used
		touch $HOME/.pidgin-profiles/last-used/Profil1
fi

# Erstelle eine Zenity-Liste mit drei Einträgen, speichere die Wahl des Benutzers in AUSWAHL:

AUSWAHL=`
zenity --list --radiolist --width=300 --height=200 --text "Wählen Sie ein Profil aus der Liste:" --title "Profile" --column="" --column=Profil --column=Profilname \
\"\" Profil1			"${PROFIL1}" \
\"\" Profil2			"${PROFIL2}" \
\"\" Profil3			"${PROFIL3}" \
`

LASTUSED=`ls $HOME/.pidgin-profiles/last-used` # Ermittle, welches Profil zuletzt benutzt wurde

if [ ! -z "$AUSWAHL" ];then # Aktion nur, wenn nicht auf "Abbrechen" geklickt wird

	cp $HOME/.purple/accounts.xml $HOME/.pidgin-profiles/${LASTUSED}.xml # Speichere das zuletzt benutzte Profil im Profilordner

	cp $HOME/.pidgin-profiles/${AUSWAHL}.xml $HOME/.purple/accounts.xml # Schiebe das in der Liste gewählte Profil in den Pidgin-Ordner

	rm $HOME/.pidgin-profiles/last-used/* # Säubere die Information über das zuletzt benutzte Profil
	
	touch $HOME/.pidgin-profiles/last-used/$AUSWAHL # Speichre die Information über das zuletzt benutzte Profil

	pidgin # Starte Pidgin

	cp $HOME/.purple/accounts.xml $HOME/.pidgin-profiles/${AUSWAHL}.xml # Speichre nach dem Beenden von Pidgin das aktuelle Profil nochmals im Profilordner, um Änderungen während der Benutzung zu berücksichtigen
fi

Feedback ist natürlich erwünscht. ☺

MfG PhotonX

Antworten |