XShell+Xmanager (上)
好长时间没用atomeye了,今天运行时出现了麻烦:
[hongyz@wangtc Atomdisplay]$ ./atomeye llk _X11TransSocketINETConnect() can‘t get address for localhost:6011: Name or service not known error: AX_openwindow: cannot open X display. : Invalid argument
第一感觉是和atomeye本身无关,因为之前运行状况良好,将第1个错误输入好搜:
/etc/hosts 里缺少127.0.0.1的地址解析,添加上就可以: 127.0.0.1 localhost.localdomain localhost
在没有权限的情况下,这个方法似乎行不通。
印象中,为解决第2个问题,还专门写一篇网易博客,明确给出了解决方案:xterm Xt error: Can‘t open display::0
[hongyz@wangtc Atomdisplay]$ export DISPLAY=127.0.0.1:12.0. [hongyz@wangtc Atomdisplay]$ export XLIB_SKIP_ARGB_VISUALS=1 [hongyz@wangtc Atomdisplay]$ ./atomeye llk X connection to 127.0.0.1:12.0 broken (explicit kill or server shutdown).
按此方法便可成功运行atomeye。 “127.0.0.1“到底是什么:
在有类IP地址的规定中,第一部分是1~126为A类地址,128~191为B类地址,那么中间留的127.0.0.1被称为本地回环地址,主要作用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.1也同样可以运行。 |
127.0.0.1是回送地址,指本机地址,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。
知乎上有更为专业的回答:localhost、127.0.0.1 和 本机IP 三者的区别?
1、localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6) 2、整个127.* 网段通常被用作 loopback 网络接口的默认地址,按惯例通常设置为 127.0.0.1。这个地址在其他计算机上不能访问,就算你想访问,访问的也是自己,因为每台带有TCP/IP协议栈的设备基本上都有 localhost/127.0.0.1。 3、本机地址通常指的是绑定在物理或虚拟网络接口上的IP地址,可供其他设备访问到。 4、最后,从开发度来看 (1)localhost是个域名,性质跟 “www.baidu.com” 差不多。不能直接绑定套接字,必须先gethostbyname转成IP才能绑定。 (2)127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。 (3)如果主机中存在多个网卡,分别连接不同的物理网络,比如 192.168.0.1/255.255.255.0 和 192.168.1.1/255.255.255.0,那么当你的服务端套接字绑到 192.168.0.1 这个地址上时,位于 192.168.1.* 网段的其他计算机是无法连接的,只有位于192.168.0.* 网段的计算机才能访问你的服务端程序。 |
参考链接:
[1] Linux在安装时出现_X11TransSocketINETConnect() :can‘t get address for localhost
[2] 新浪博客:Xmanager使用的几个问题;openSUSE12.2
[3] 百度:百科127.0.0.1;知道127.0.0.1是什么;知道127.0.0.1;知道127.0.0.1:99
[4] C论坛:地址127.0.0.1到底是什么地址?这个地址真的有点特别呀
[6] Licess‘s Blog:localhost 与 127.0.0.1 的区别