ubuntu启动eclipse时出错cannot open display

由于要学习hadoop,就在ubuntu下创建了一个hadoop用户,但是eclipse是在naomi用户下装的,在root和naomi用户下都能正常启动,但是一旦切换到hadoop用户,试着启动eclipse,就会cannot open display, no protocol specify


打开日志文件后的信息为

org.eclipse.swt.SWTError: No more handles[gtk_init_check() failed]

原因:
当使用su 到另外一个用户运行某个程序,而这个程序又要有图形显示的时候,就有可能有下面提示:
No protocol specified

(gedit:14333): Gtk-WARNING **: cannot opendisplay: :0.0

这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图形显示在当前屏幕上, 则应以当前登陆的用户, 也就是切换身份前的用户(不是hadoop用户,是root用户)执行如下命令。

xhost +(别忘了空格)



通过执行这条命令,就授予了其它用户访问当前屏幕的权限,于是就可以以另外的用户运行需要运行的程序了

本文参考:http://java-doom.iteye.com/blog/1738370

 


原文地址:https://www.cnblogs.com/unflynaomi/p/4476866.html