2009-07-14 14 views
17

Ich habe ubuntu + x11 + gnome.X11: Führen Sie eine Gnome App als ein anderer Benutzer

Ich möchte eine grafische Anwendung als ein anderer Benutzer ausführen.

Allerdings, wenn ich es von der Befehlszeile mit sudo -u otheruser app starte ich bekomme den Fehler "Kein Protokoll angegeben".

Wie kann ich darum arbeiten?

+3

wird auf superuser.com verschoben werden –

Antwort

2

Verwenden

xdg-su -u user -c command 
+0

Ich glaube, Sie müssen noch xhost verwenden, um lokale Verbindungen von jedem Benutzer zu erlauben. – codeape

+0

man xdg-su: xdg-su kann nur in einer Desktop-Sitzung verwendet werden. –

1

Wahrscheinlich müssen Sie Ihren X-Server anweisen, Verbindungen von einem anderen Benutzer als demjenigen zu akzeptieren, der die Serverinstanz (Sie) besitzt. Schauen Sie in den xhost-Befehl.

9

diesen Befehl zuerst:

$ sudo xhost + 

dann den Befehl, den Sie als den anderen Benutzer wollen laufen:

$ sudo -i -u username 
$ command you want to run 

Wenn Sie fertig sind:

$ sudo xhost - 
+0

Nice find. Jetzt läuft Chrome und Flash als anderer Benutzer, aber um Audio zu erhalten, müssen Sie zuerst den Pulseaudio-Daemon des aktuellen Benutzers ausführen. –

+7

'sudo xhost + local:' wenn Sie keine Verbindungen aus dem Internet wollen – maxy

+2

es; s sicher wie die Hölle – mykhal

0

gksudo -u Befehl

+0

Versucht dies auf meinem Ubuntu-Desktop, hat es nicht funktioniert (gleicher Fehler msg. Wie in Frage). – codeape

8

xhost '+si:localuser:USERNAME'

0
gksu -u <user> -c <command> 

Ersetzen <user> mit dem Benutzernamen den Befehl wie und <command> mit dem Befehl, den Sie ausführen möchten laufen. Denken Sie daran, dass das Programm im <user> s Kontext, aber im aktuellen Verzeichnis ausgeführt wird.

Im Popup-Fenster geben Sie das Passwort des Ziels <user> natürlich ein.

Verwandte Themen