PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KDE: Skype unter anderem Benutzer ausführen



L00NIX
11.04.06, 11:57
Hallo zusammen.

Ich habe für skype einen Extrabenutzer udn eine Extragruppe angelegt, sinnigerweise mit den Namen skype. Der Benutzer ist zusätzlich in der Gruppe audio, so dass auch alles mit dem VoiP funktionieren sollte. Soweit bin ich aber noch nicht...

Der skype-Account hat kein Passwort und ist deshalb deaktiviert. Zusätzlich bekommt der Nutzer die restricted bash (/bin/rbash) als Login-Shell. Im Heimverzeichnis haben Mitglieder der Gruppe skype Schreibrechte, da evtl. xauth-Dateien (X-Server) vom angemeldeten Benutzer angepasst werden müssen.

Das Programm skype soll via sudo gestartet werden.

Für den Aufruf von Skype habe ich mir einen kleinen Wrapper geschrieben:
(Anm.: Der Wrapper funktioniert inzwischen korrekt!)


#!/bin/bash
#
# wrapper_skype

PATH=/bin:/usr/bin:/usr/X11R6/bin

# binaries
ME=$( basename $0 )
SKYPE="artsdsp sudo -u skype -H /usr/bin/skype \"$@\""

# files
MY_XAUTHORITY=${HOME}/.Xauthority
SKYPE_XAUTHORITY=/home/skype/.Xauthority

# prepare running X-Session for Integration (KDE-Panel)
if [ ! -z "${DISPLAY}" ]; then
xauth -v -f ${MY_XAUTHORITY} extract ${SKYPE_XAUTHORITY} ${DISPLAY}
else
echo "${ME}: DISPLAY not set. Exiting."
exit 1
fi

chmod 660 ${SKYPE_XAUTHORITY}

exec ${SKYPE}


Jetzt kommt aber beim Starten des Wrappers folgende Fehlermeldung:


Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified


Was habe ich übersehen oder kennt jemand eine bessere Lösung?

Danke & Gruß
L00NIX

drfish
11.04.06, 12:25
Folgendes in den ersten Zeilen deines Scripts könnte helfen:


export DISPLAY=localhost:0.0
xhost +localhost

undefined
11.04.06, 12:52
Wozu so umständlich?

kdesu -u skype -c skype

L00NIX
11.04.06, 13:03
Es hilft aber nicht.

Mein X-Server nimmt auch keine Verbindungen via TCP/IP entgegen, oder ist davon unabhängig?

Ich dachte der xauth-Mechanismus ist quasi der Ersatz via Magic-Cookie Authorization.

Wenn ich als root Anwendungen unter X starte, mache ich ja auch nicht mit xhost rum, es geht auch so, solange in der Datei .Xauthority der Cookie vorliegt. Das macht eben das xauth in dem Skript nur nicht für root, sondern den User skype.

Mehr zu xhost und xauth z.B. hier: xhost und xauth (http://ftp.roko.goe.net/dokumentationen/linuxhandbuch/docs/lhb/node985.html)

Die Variable DISPLAY beinhaltet bereits ":0".

Gruß
L00NIX

Roughnecks
11.04.06, 13:17
schonmal im k-menü mit "befehl ausführen" und unter eisntellungen "als anderer benutzer ausführen" ausprobiert?
kannst ja auch ne verknüpfung anlegen im k-menü, da kannst auch angeben, unter welchem benutzer es ausgeführt werden soll.

L00NIX
11.04.06, 13:39
Wozu so umständlich?

kdesu -u skype -c skype

Weil der User kein Passowrt hat und sein Account gesperrt ist. Das soll auch so bleiben, wenn möglich.

L00NIX
11.04.06, 13:50
schonmal im k-menü mit "befehl ausführen" und unter eisntellungen "als anderer benutzer ausführen" ausprobiert?

Ist dasselbe wie kdesu.

Ich kann als der Benutzer auch X-Anwendungen starten, z.B. emacs

Eventuell liegt es an den KDE-Mechanismen, die da blocken. Ich benutze den KDM als Display Manager. Eventuell liegt hier der Hund begraben?

L00NIX
11.04.06, 14:15
Ich habs gelöst:

sudo benötigt die Option -H, damit die Variable HOME an den zu wechselden Benutzer angepasst wird. Der Benutzer skype hat auf mein Verzeichnis ja wie gewünscht keine Rechte.


Danke & Gruß
L00NIX