X11 Anwendung starten für root über ssh

  • Moin,


    ich gehe von meinem PC auf der Konsole via ssh auf einen Pi, wechsle dort zu root und möchte dann eine X-Anwendung (git gui) für root starten. Das wird mir verweigert.


    Fakten:

    • ssh ist mit der Option -X aufgerufen (ssh -X ich@pi)
    • echo $DISPLAY ergibt auf dem Pi localhost:10.0
    • lxterminal macht auf dem PC für den Account ich ein Fenster auf
    • In lxterminal wechsle ich zu root (sudo bash)
    • export DISPLAY=localhost:10.0
    • Das Kommando git gui bricht ab trotzdem ab
    • unter ich ergibt sudo git gui das gleiche Ergebnis


    Meldung:


    pi:/etc# git gui 
    X11 connection rejected because of wrong authentication. 
    X11 connection rejected because of wrong authentication. 
    application-specific initialization failed: couldn't connect to display "localhost:10.0" 
    X11 connection rejected because of wrong authentication. 
    X11 connection rejected because of wrong authentication. 
    Error in startup script: invalid command name "tk_messageBox" 
       while executing 
    "tk_messageBox  -icon error  -type ok  -title "git-gui: fatal error"  -message $err" 
       invoked from within 
    "if {[catch {package require Tcl 8.5} err] 
    || [catch {package require Tk  8.5} err] 
    } { 
           catch {wm withdraw .} 
           tk_messageBox \ 
                   -icon error \ 
                   -typ..." 
       (file "/usr/lib/git-core/git-gui" line 33) 
    pi:/etc# 

    Was fehlt denn da noch?


    Gruß

    Joachim

  • Wozu braucht git gui root-Rechte? Ich kenne das Programm zwar nicht, aber das fühlt sich irgendwie falsch an. Wenn es per X11-Weiterleitung nicht funktioniert, dann bleibt alternativ noch der VNC-Server, den man am RPi einfach aktivieren kann und den VNC-Viewer, den man auf dem Remote-Rechner installiert.

    BTW: Als root kann man sich default nicht per SSH anmelden und das ist auch gut so und sollte man nicht verbiegen.

  • ich würde:

    ssh -X root@pi

    Das ist nicht empfohlen und ist auch bei mir grundsätzlich abgeschaltet.

    Wozu braucht git gui root-Rechte?


    Ich habe für das Verzeichnis /etc ein git-Repo angelegt um Änderungen verfolgen zu können und evtl. ein Rollback machen zu können wenn ich was vergeige. git gui hilft da bei der Übersicht.


    Das git Repo wurde natürlich von root angelegt (weil man in /etc nur als root rumfummeln kann) und daher muss auch derdiedas GUI von git als root laufen. Das Repo als anderer User anlegen geht nicht, dann kommt die Meldung über "dubiose Besitzverhältnisse im Repository bei /etc entdeckt"


    An den Pi komme ich aber nur über ssh.

  • Wenn es per X11-Weiterleitung nicht funktioniert, dann bleibt alternativ noch der VNC-Server, den man am RPi einfach aktivieren kann und den VNC-Viewer, den man auf dem Remote-Rechner installiert.


    da kommt nichts. Da der Pi ohne Monitor gebootet wird, wird auch kein X-Server gestartet soweit ich weiß. Hm, muss mal recherchieren. Irgendwo gibt es da einen Schalter.

  • ich verwende KRDC und beim Versuch eine Verbindung zum Pi herzustellen bleibt das Fenster leer, nur blauer Hintergrund. TigerVNC gibt eine Meldung, dass der Bildschirm gerade nicht angezeigt werden kann.

    Firewalls sind aus, VNC Zugang auf dem Pi freigeschaltet und X,

    --EDIT:

    -> besser Wayland, läuft auf dem Pi ebenfalls.


    Da bin ich mir nicht sicher.

    joachim@vanya:~ $ ps ax | grep X
    1530 ?        Sl     0:00 /usr/bin/Xwayland -auth /home/lightdm/.Xauthority :0 -rootless -core -terminate 10 -listenfd 29 -listenfd 30 -displayfd 53 -wm 50
    2579 pts/0    S+     0:00 grep --color=auto X
    joachim@vanya:~ $ ps ax | grep x
    55 ?        I<     0:00 [kworker/R-xprti]
    181 ?        S      0:00 [irq/174-vc4 hdmi cec rx]
    182 ?        S      0:00 [irq/175-vc4 hdmi cec tx]
    191 ?        S      0:00 [irq/178-vc4 hdmi cec rx]
    192 ?        S      0:00 [irq/179-vc4 hdmi cec tx]
    242 ?        I<     0:00 [kworker/R-ext4-]
    779 ?        I<     0:00 [kworker/R-ext4-]
    853 ?        Ssl    0:00 /usr/libexec/accounts-daemon
    856 ?        Ss     0:00 /usr/libexec/bluetooth/bluetoothd
    906 ?        Ssl    0:00 /usr/libexec/udisks2/udisksd
    1023 ?        Ss     0:00 /usr/bin/vncserver-x11-serviced -fg
    1036 ?        S      0:00 /usr/bin/vncserver-x11-core -service
    1398 ?        SNsl   0:00 /usr/libexec/rtkit-daemon
    1459 ?        Ssl    0:00 /usr/libexec/gvfsd
    1464 ?        Sl     0:00 /usr/libexec/gvfsd-fuse /run/user/106/gvfs -f
    1533 ?        S      0:00 xsettingsd
    1543 tty1     Ss+    0:00 /sbin/agetty -o -p -- \u --noclear - linux
    1575 ?        Ssl    0:00 /usr/libexec/colord
    2580 pts/0    R+     0:00 ps ax
    2581 pts/0    S+     0:00 grep --color=auto x
    joachim@vanya:~ $


    --EDIT 2:


    Es läuft X11!

    Edited 2 times, last by eins99 (September 5, 2024 at 5:37 PM).

  • OK, Problem gelöst.


    auf dem Remote-Pi muss unter root nicht nur die DISPLAY-Variable, sondern auch ein XAUTHORITY auf die Datei .Xauthority des ursprünglichen Users gesetzt sein. Bei mir also


    Pi:/root# export XAUTHORITY=/home/joachim/.Xauthority

    Dann klappt es auch als root mit dem X-forwarding.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!