• 完美解决:sh: /usr/bin/xauth: not found


    前言

    如下所示:这是一个使用ssh登录的时候,一个提示信息,不理它也没关系。

    小问题中可能隐藏着大问题,所以搞定它。

    实测发现,这个问题解决了以后,登录速度提升了。

    一 xauth

    xauth是什么

            简言之:不知道

    xauth可能是什么

            auth好像认证单词的前几个字母;那就是认证相关的吧,从别的地方复制一个xauth,放到自己的根文件系统的/usr/bin目录中。

    authentication
    证明真实性,鉴定;身份验证,认证;

     补:

    xauth文件我是重正点原子的IMX6的板子根文件系统中复制过来的,然后,后来的其他的依赖库也是如此。

    补:

    当然不能从ubuntu中复制,因为ubuntu中是X86的啊

    补:

    正点原子也提供了嵌入式的UBUNTU根文件系统,当然用ARM版本的UBUNTU根文件系统应该是可以的吧,不过,我没试过。

    二 cp -rdf用法解析

    cp xxx yyy -rdf,解释一下,-r 和-f很常用,只有-d不常用。

    -r

    -r就是递归

    -R, -r, --recursive
                  copy directories recursively

    -f

    最常用-f复制或者删除,rm后面加-f不会有文件不存在的提示。

    -f, --force
                  if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used)
     

    -d选项

    --preserve=links,这句表示-d选项是保持链接关系的。

    -d     same as --no-dereference --preserve=links

    三 再次ssh登录

    /usr/bin/xauth: error while loading shared libraries: libXau.so.6: cannot open shared object file: No such file or directory

    将libXau.so.6也复制过来到到自己的/usr/lib目录,注意要加rdf,rdf的意思是保持链接关系。

    cp ./usr/lib/libXau.so.6* ~/nfsroot/buildrootfs/usr/lib/ -rdf

    如果还是提示找不到,就chown root /usr/lib/libXext.so.6*如下所示:

    1. # chown root /usr/lib/libXau.so.6*
    2. #

    四 再再次登录

     提示:

    /usr/bin/xauth: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
     

    相同的方法,从别人的根文件系统中复制过来。

    cp ./usr/lib/libXext.so.6* ~/nfsroot/buildrootfs/usr/lib/ -rdf

    到板子上执行文件的属主命令

    chown root /usr/lib/libXext.so.6*
    

    然后重启。在ssh登录

    又报错了

    /usr/bin/xauth: error while loading shared libraries: libXmuu.so.1: cannot open shared object file: No such file or directory
     

    相同方法

    1. cp ./usr/lib/libXmuu.so.1* ~/nfsroot/buildrootfs/usr/lib/ -rdf
    2. chown root /usr/lib/libXmuu.so.1*

    /usr/bin/xauth: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

    相同方法

    1. cp ./usr/lib/libX11.so.6* ~/nfsroot/buildrootfs/usr/lib/ -rdf
    2. chown root /usr/lib/libX11.so.6*

    libxcb.so.1:

    1. cp ./usr/lib/libxcb.so.1* ~/nfsroot/buildrootfs/usr/lib/ -rdf
    2. chown root /usr/lib/libxcb.so.1*

    libXdmcp.so.6

    1. cp ./usr/lib/libXdmcp.so.6* ~/nfsroot/buildrootfs/usr/lib/ -rdf
    2. chown root /usr/lib/libXdmcp.so.6*

    五 终于把库补齐啦

    现在报的提示是:

    /usr/bin/xauth:  file /home/root/.Xauthority does not exist

    还是复制文件

    sudo cp .Xauthority ~/nfsroot/buildrootfs/home/root/
    

    再重启,哇,没有找不到东西的提示啦。特别好。

    总结

            解决问题,就是very happy。把这个问题解决了以后,ssh登录的速度提升了。

  • 相关阅读:
    计算机专业哀鸿遍野:低代码平台和程序员水火不容,马上被取代
    渗透测试nginx增加400,500报错页面
    第五章. 可视化数据分析分析图表—图表的常用设置2
    3分钟学会设计模式 -- 单例模式
    HDFS 底层交互原理,看这篇就够了!
    美瞳小程序经营配送商城的作用是什么
    人口数据集:地级市常住人口与户籍人口、人口1%抽样调查数据两大维度指标数据
    数字孪生实际应用:智慧城市项目建设解决方案
    前端Ui框架bootstrap-vue地址
    SaaS CRM系统的优势,与本地部署相比哪个更方便?
  • 原文地址:https://blog.csdn.net/yueni_zhao/article/details/126744987