ubuntu下执行goland.sh出错

这里写自定义目录标题

ubuntu下执行goland.sh出错

记录一下ubuntu下执行go的开发环境goland时踩的坑。

下载好goland后,执行./goland.sh报错:

Exception in thread "JobScheduler FJ pool 4/15" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:40)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:599)
at com.intellij.openapi.wm.impl.X11UiUtil$Xlib.getInstance(X11UiUtil.java:68)
at com.intellij.openapi.wm.impl.X11UiUtil.(X11UiUtil.java:238)
at com.intellij.idea.StartupUtil.logEssentialInfoAboutIde(StartupUtil.java:882)
at com.intellij.idea.StartupUtil.lambda$start$10(StartupUtil.java:238)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
2022-09-20 20:13:06,484 [ 9380] SEVERE - #c.i.i.StartupUtil - Cannot start app
com.intellij.ide.plugins.StartupAbortedException: Cannot start app
at com.intellij.idea.StartupUtil.lambda$start$15(StartupUtil.java:265)
at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
```go


解决方法见链接

这里是引用

Linux 中 DISPLAY 环境变量设置

linux 中有显示图形需求的为xClient,真正显示图形的为xServer, DISPLAY 环境变量用于设置图形输出到的xServer,其形式为

其形式为 x S e r v e r _ i p : d i s p l a y _ n u m . s c r e e n _ n u m

所以如果我们要指定显示位置的话,

  1. 启动一个 xServer
  2. 指定linux 中 DISPLAY 环境变量到启动的xServer

ps: 作者使用情况是,xClient(有显示需求的机器)和 xServer(真正显示的机器)在一个局域网下。如果不在同一个局域网的话,可直接使用 MobaXterm

MobaXterm

MobaXterm 已经帮我们了做 了很多事情了,它自带了xServer,并且在使用MobaXterm时登录 ssh 时已经指定了 xClient X11Forwarding 的值。

image-20220107114343914

懂点原理

下面的情况是在同一个局域网环境下进行的。

启动xServer

由于题主的电脑是Windows, 就使用了 VcXsrv 作为xServer,下载链接见 [VcXsrv](VcXsrv Windows X Server download | SourceForge.net) 。安装后在桌面会看到一个 XLaunch 的图标,打开之后,进行一步步设置即可。

image-20220107112900781

image-20220107112915127

image-20220107113114260

之后点击完成就可以了。

指定linux DISPLAY 环境变量

登录上 xClient (有显示需求的机器)后执行如下命令

export DISPLAY=192.168.1.50:13.0

 
 
  • 1
  • 192.168.1.50 指 xServer 的 ip 地址,

  • 13 指 刚刚启动 xServer 时指定的display_num

  • 0 指 screen num(写成其他值貌似不行)

测试是否成功

xclock

 
 
  • 1

在linux (题主是ubuntu) 命令行执行上述命令就可以看到自己的 windows 上弹出一个小窗口了,就说明配置成功了。耶

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值