Linux Virtual Delivery Agent 2104

Xauthority konfigurieren

Der Linux VDA unterstützt Umgebungen, die X11-Anzeigefunktionen (einschließlich xterm und gvim) für die interaktive Remoteverbindung verwenden. Diese Funktion bietet einen Sicherheitsmechanismus, der für eine sichere Kommunikation zwischen XClient und XServer erforderlich ist.

  • Es gibt zwei Methoden, um die Berechtigung für diese sichere Kommunikation zu sichern:

  • Xhost. Standardmäßig erlaubt Xhost nur dem lokalen XClient, mit dem XServer zu kommunizieren. Wenn Sie einem entfernten XClient den Zugriff auf den XServer erlauben möchten, muss der Befehl Xhost ausgeführt werden, um die Berechtigung auf dem bestimmten Computer zu erteilen. Alternativ können Sie auch xhost + verwenden, um jedem XClient die Verbindung zum XServer zu ermöglichen.
  • Xauthority. Die Datei .Xauthority befindet sich im Home-Verzeichnis jedes Benutzers. Sie wird verwendet, um Anmeldeinformationen in Cookies zu speichern, die von xauth zur Authentifizierung des XServers verwendet werden. Wenn eine XServer-Instanz (Xorg) gestartet wird, wird das Cookie verwendet, um Verbindungen zu diesem bestimmten Anzeigegerät zu authentifizieren.

  • Funktionsweise

Wenn Xorg gestartet wird, wird eine .Xauthority-Datei an Xorg übergeben. Diese .Xauthority-Datei enthält die folgenden Elemente:

  • Anzeigennummer
  • Remote-Anforderungsprotokoll
  • Cookie-Nummer

  • Sie können diese Datei mithilfe des Befehls xauth durchsuchen. Beispiel:
# xauth -f ~/.Xauthority

# > list

# > us01msip06:107  MIT-MAGIC-COOKIE-1  fb228d1b695729242616c5908f11624b
<!--NeedCopy-->

Wenn sich der XClient remote mit Xorg verbindet, müssen zwei Voraussetzungen erfüllt sein:

  • Legen Sie die Umgebungsvariable DISPLAY auf den Remote-XServer fest.
  • Rufen Sie die .Xauthority-Datei ab, die eine der Cookie-Nummern in Xorg enthält.

Xauthority konfigurieren

Um Xauthority auf dem Linux VDA für die Remote-X11-Anzeige zu aktivieren, müssen Sie die folgenden zwei Registrierungsschlüssel erstellen:

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Xorg" -t "REG_DWORD" -v "XauthEnabled" -d "0x00000001" --force

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Xorg" -t "REG_DWORD" -v "ListenTCP" -d "0x00000001" --force
<!--NeedCopy-->

Nach dem Aktivieren von Xauthority übergeben Sie die .Xauthority-Datei manuell an den XClient oder indem Sie ein freigegebenes Home-Verzeichnis bereitstellen:

  • Übergeben Sie die .Xauthority-Datei manuell an den XClient

    Nach dem Starten einer ICA®-Sitzung generiert der Linux VDA die .Xauthority-Datei für den XClient und speichert die Datei im Home-Verzeichnis des Anmeldebenutzers. Sie können diese .Xauthority-Datei auf den entfernten XClient-Computer kopieren und die Umgebungsvariablen DISPLAY und XAUTHORITY festlegen. DISPLAY ist die in der .Xauthority-Datei gespeicherte Anzeigennummer und XAUTHORITY ist der Dateipfad von Xauthority. Ein Beispiel finden Sie im folgenden Befehl:

     export DISPLAY={Display number stored in the Xauthority file}
    
     export XAUTHORITY={the file path of .Xauthority}
     <!--NeedCopy-->
    

    Hinweis:

    Wenn die Umgebungsvariable XAUTHORITY nicht festgelegt ist, wird standardmäßig die Datei ~/.Xauthority verwendet.

  • Übergeben Sie die .Xauthority-Datei an den XClient, indem Sie ein freigegebenes Home-Verzeichnis bereitstellen

    Die bequemste Methode ist, ein freigegebenes Home-Verzeichnis für den Anmeldebenutzer bereitzustellen. Wenn der Linux VDA eine ICA-Sitzung startet, wird die .Xauthority-Datei unter dem Home-Verzeichnis des Anmeldebenutzers erstellt. Wenn dieses Home-Verzeichnis mit dem XClient freigegeben ist, muss der Benutzer diese .Xauthority-Datei nicht manuell an den XClient übertragen. Nachdem die Umgebungsvariablen DISPLAY und XAUTHORITY korrekt festgelegt sind, wird die GUI automatisch auf dem XServer-Desktop angezeigt.

Problembehandlung

Wenn Xauthority nicht funktioniert, führen Sie die folgenden Schritte zur Problembehandlung aus:

  1. Rufen Sie als Administrator mit Root-Berechtigung alle Xorg-Cookies ab:

    ps aux | grep -i xorg
    <!--NeedCopy-->
    

    Dieser Befehl zeigt den Xorg-Prozess und die Parameter an, die Xorg während des Starts übergeben wurden. Ein weiterer Parameter zeigt an, welche .Xauthority-Datei verwendet wird. Beispiel:

    /var/xdl/xauth/.Xauthority110
    <!--NeedCopy-->
    

    Zeigen Sie die Cookies mithilfe des Befehls Xauth an:

    Xauth -f /var/xdl/xauth/.Xauthority110
    <!--NeedCopy-->
    
  2. Verwenden Sie den Befehl Xauth, um die in ~/.Xauthority enthaltenen Cookies anzuzeigen. Für dieselbe Anzeigennummer müssen die angezeigten Cookies in den .Xauthority-Dateien von Xorg und XClient identisch sein.

  3. Wenn die Cookies identisch sind, überprüfen Sie die Erreichbarkeit des Remote-Anzeigeports mithilfe der IP-Adresse des Linux VDA (z. B. 10.158.11.11) und der Anzeigennummer des veröffentlichten Desktops (z. B. 160).

    Führen Sie den folgenden Befehl auf dem XClient-Computer aus:

    telnet 10.158.11.11 6160
    <!--NeedCopy-->
    

    Die Portnummer ist die Summe aus 6000 + <Anzeigennummer>.

    Wenn dieser Telnet-Vorgang fehlschlägt, könnte die Firewall die Anforderung blockieren.

Xauthority konfigurieren