Nach dem Ändern des Hostnamens wird gedit (und andere X-Clients) nicht geöffnet

9

Nach dem Ändern des Hostnamens gedit funktioniert nicht wie erwartet, es zeigt Fehler immer in meinem Stamm "Kein Protokoll angegeben"

%Vor%     
Hari Haran 16.12.2013, 13:10
quelle

4 Antworten

20

Es wird nicht nur gedit ausfallen, sondern tatsächlich alle Programme, die das X11-Protokoll verwenden, um mit dem Grafikserver zu sprechen. X11 verwendet das Xauth-Protokoll zur Authentifizierung verbindender Clients. Wenn Sie sich über einen Display-Manager anmelden, wird ein Cookie MIT-MAGIC-COOKIE-1 authentication erstellt und in Ihre ~/.Xauthority -Datei geschrieben. Diese Datei wird von X11-Clients gelesen und die dort verfügbaren Cookies werden zur Authentifizierung der Verbindungen verwendet.

Die Liste der Cookies in Ihrer ~/.Xauthority -Datei kann mit xauth list :

angezeigt werden %Vor%

Wenn Sie Ihren Hostnamen ändern, kann die X11-Client-Bibliothek in der Authentifizierungsdatenbank kein passendes Cookie mehr finden und der X11-Server lehnt die nicht authentifizierte Verbindung ab (sofern nicht anders konfiguriert).

Sie können einen passenden Cookie mit xauth :

hinzufügen %Vor%

$(hostname) wird auf das Ergebnis des Befehls hostname erweitert und unix:0 entspricht Ihrer DISPLAY -Umgebungsvariablen, die auf :0.0 festgelegt ist. Wenn es sich um eine andere Anzeigenummer handelt, z.B. :ddd.0 , dann sollten Sie den hinzugefügten Host-Eintrag entsprechend in "($hostname)/unix:ddd" ändern. Beachten Sie auch, dass der Wert des hinzugefügten Cookies mit dem Wert des vorhandenen Cookies übereinstimmen sollte.

Wenn zu diesem Zeitpunkt kein Terminalemulator geöffnet ist und Sie ihn aufgrund des Authentifizierungsfehlers nicht öffnen können, können Sie zur Konsole wechseln (Textmodus), sich dort anmelden und den obigen Befehl ausführen.

    
Hristo Iliev 16.12.2013, 13:25
quelle
0

Starten Sie den Computer einfach neu, um die Änderung des Hostnamens zu übernehmen.

    
quelle
0

Als ich den Namen meines Laptops änderte, erlebte ich dieses Problem auch. Jedoch habe ich es geschafft, es mit den folgenden Befehlen zu beheben

su

(Passwort eingeben)

cd /etc

gedit hosts

Von dort entfernte ich einfach den Verweis auf den alten Computernamen und ersetzte ihn durch den neuen.

127.x.x.x localhost 127.x.x.x (New Name)

Beachten Sie jedoch, dass Sie bei Änderungen an Ihrem Computernamen sicherstellen müssen, dass die Änderungen sowohl in der /etc/hostname -Datei als auch in der /etc/host -Datei vorgenommen werden. Wenn Sie eine Änderung vornehmen, ohne die andere zu ändern, erhalten Sie eine Fehlermeldung.

    
dlundy1 29.07.2015 17:40
quelle
0

jnweiger hat den 13. August 2014 gesagt:

  

Die Xauthority-Datei kann so geschrieben werden, dass der Hostname dies tut   egal.

     

Ich bin mir nicht sicher, ob xauth eine richtige Befehlszeile hat, um das zu spezifizieren   Authentifizierungsfamilie, aber ich verwende sed , um zur Authentifizierung zu wechseln   Familie 'FamilienWild' . Wir müssen die ersten 16 Bits der ändern    nlist Ausgabe. Der Wert von FamilienWild ist 65535 oder 0xffff .

%Vor%

In diesem Fall spielt die nach der Familiennummer geschriebene Zeichenfolge (normalerweise ein Hostname usw.) keine Rolle für die Übereinstimmung.

In ALTs Paket xauth wurde ein Patch , um das Hinzufügen solcher FamilyWild -Einträge über% co_de zu unterstützen % direkt mit einem xauth Argument:

%Vor%     
quelle