** (java:10104): WARNING **: Could not open X display (MobaXterm無法打開smartgit)

1.問題

平常都是windows這臺主機通過MobaXterm遠程到另外一臺Ubuntu主機,今天突然smargit無法使用。
報錯:

root@chenwr-pc:/home/workspace/project/grpc_project/build_ec20_grpc_demo# smartgit

** (java:10104): WARNING **: Could not open X display
Error invoking SmartGit
java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at com.syntevo.QBootLoader.main(SourceFile:102)
Caused by: org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
        at org.eclipse.swt.SWT.error(SWT.java:4621)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:1033)
        at org.eclipse.swt.widgets.Display.create(Display.java:1013)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:175)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:578)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:569)
        at smartgit.WX.a(SourceFile:121)
        at smartgit.apj.a(SourceFile:101)
        at com.syntevo.smartgit.q.a(SourceFile:302)
        at com.syntevo.smartgit.q.a(SourceFile:247)
        at smartgit.apE.a(SourceFile:68)
        at com.syntevo.smartgit.SmartGit.main(SourceFile:11)
        ... 5 more

2.解決辦法

確認/etc/hosts文件內容是否有改動過。如沒有該語句127.0.0.1 localhost,添加即可。

root@chenwr-pc:~# cat /etc/hosts
127.0.0.1 localhost

問題解決

3.解決過程

刪除smartgit安裝包後重新解壓依然存在這個問題,於是測試了下gedit這個命令。也存在無法打開編輯的圖形化界面。

root@chenwr-pc:/home/workspace/chenwr/study/C# gedit Chapter9.c

** (gedit:2896): WARNING **: Could not open X display

(gedit:2896): Gtk-WARNING **: cannot open display: localhost:10.0

剛好看到關鍵字localhost,想起來上週編寫IP域名映射接口,測試的時候有修改過這個文件。因原始被我刪除了,於是我在虛擬機Ubuntu下查看了/etc/hosts文件默認內容。

127.0.0.1   localhost
127.0.1.1   chenwr-VirtualBox

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

果然是因爲localhost 映射到測試IP,沒有設置成127.0.0.1這個迴環IP才導致上述問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章