ubuntu启动eclipse时出错cannot open display

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

ubuntu启动eclipse时出错cannot open display

打开日志文件后的信息为

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 +(别忘了空格)

ubuntu启动eclipse时出错cannot open display

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

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

http://blog.csdn.net/unflynaomi/article/details/38340383