Nach dem Ändern des Hostnamens gedit
funktioniert nicht wie erwartet, es zeigt Fehler immer in meinem Stamm "Kein Protokoll angegeben"
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
:
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
:
$(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.
Starten Sie den Computer einfach neu, um die Änderung des Hostnamens zu übernehmen.
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.
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
%Vor%xauth
eine richtige Befehlszeile hat, um das zu spezifizieren Authentifizierungsfamilie, aber ich verwendesed
, um zur Authentifizierung zu wechseln Familie 'FamilienWild' . Wir müssen die ersten 16 Bits der ändernnlist
Ausgabe. Der Wert von FamilienWild ist65535
oder0xffff
.
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:
Tags und Links authentication ubuntu x11 ubuntu-12.04 xorg