更改主机名后,gedit(和其他X客户端)不会打开

 功夫少年8 发布于 2023-02-10 10:42

更改主机名后gedit没有按预期工作,它始终在我的根"未指定协议"中显示错误

** (gedit:23330): WARNING **: Could not open X display
No protocol specified
Cannot open display: 
Run 'gedit --help' to 

Hristo Iliev.. 24

它不仅gedit会失败,而且实际上所有使用X11协议的程序都会与图形服务器通信.X11使用Xauth协议对连接客户端进行身份验证.当您通过某种显示管理器登录时,MIT-MAGIC-COOKIE-1会创建一个身份验证cookie并将其写入您的~/.Xauthority文件.该文件由X11客户端读取,其中可用的cookie用于验证连接.

~/.Xauthority可以使用xauth list以下命令显示文件中的Cookie列表:

$ xauth list
localhost:1012  MIT-MAGIC-COOKIE-1  bd988401cbf8xxxxxxxxxxxxxxxxxxxx
some.host.example.com/unix:1012  MIT-MAGIC-COOKIE-1  bd988401cbf8xxxxxxxxxxxxxxxxxxxx

如果更改主机名,则X11客户端库将无法再在身份验证数据库中找到匹配的cookie,并且X11服务器将拒绝未经身份验证的连接(除非另行配置).

你可以做的是使用xauth以下方法添加匹配的cookie :

$ xauth add "$(hostname)/unix:0" MIT-MAGIC-COOKIE-1 bd988401cbf8xxxxxxxxxxxxxxxxxxxx

$(hostname)扩展为hostname命令的结果,并unix:0对应于您DISPLAY设置的环境变量:0.0.如果是另一个显示号码,例如:ddd.0,则应相应地更改添加的主机条目"($hostname)/unix:ddd".另请注意,要添加的cookie的值应与现有cookie的值匹配.

如果您当时没有打开终端仿真程序,并且由于身份验证错误而无法打开终端仿真程序,则可以切换到控制台(文本模式),登录并执行上述命令.

1 个回答
  • 它不仅gedit会失败,而且实际上所有使用X11协议的程序都会与图形服务器通信.X11使用Xauth协议对连接客户端进行身份验证.当您通过某种显示管理器登录时,MIT-MAGIC-COOKIE-1会创建一个身份验证cookie并将其写入您的~/.Xauthority文件.该文件由X11客户端读取,其中可用的cookie用于验证连接.

    ~/.Xauthority可以使用xauth list以下命令显示文件中的Cookie列表:

    $ xauth list
    localhost:1012  MIT-MAGIC-COOKIE-1  bd988401cbf8xxxxxxxxxxxxxxxxxxxx
    some.host.example.com/unix:1012  MIT-MAGIC-COOKIE-1  bd988401cbf8xxxxxxxxxxxxxxxxxxxx
    

    如果更改主机名,则X11客户端库将无法再在身份验证数据库中找到匹配的cookie,并且X11服务器将拒绝未经身份验证的连接(除非另行配置).

    你可以做的是使用xauth以下方法添加匹配的cookie :

    $ xauth add "$(hostname)/unix:0" MIT-MAGIC-COOKIE-1 bd988401cbf8xxxxxxxxxxxxxxxxxxxx
    

    $(hostname)扩展为hostname命令的结果,并unix:0对应于您DISPLAY设置的环境变量:0.0.如果是另一个显示号码,例如:ddd.0,则应相应地更改添加的主机条目"($hostname)/unix:ddd".另请注意,要添加的cookie的值应与现有cookie的值匹配.

    如果您当时没有打开终端仿真程序,并且由于身份验证错误而无法打开终端仿真程序,则可以切换到控制台(文本模式),登录并执行上述命令.

    2023-02-10 10:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有