ssh - Pycharm 无法检测图形环境
问题描述
我是在这里提问的新手,并且是新手 linux 用户,所以要温柔:)
我正在尝试在远程 Ubunto (18.04.2 LTS (Bionic Beaver)) 机器上运行 Pycharm Professional,并在我的本地 Windows 10 Home 计算机上打开它。我知道您可以将您的 python 解释器配置为通过 SSH 在远程服务器上运行,但我想尝试将 python 文件放在远程服务器上,并且只显示在我的本地笔记本电脑上。
我在远程服务器上安装了 pycharm 专业版,当我运行时
pycharm-professional
它打印出来:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Startup Error: Unable to detect graphics environment
我查找了类似的问题,发现我应该首先使用这一行:
export DISPLAY=:0
但是当我再次运行时,它失败了:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Start Failed: Failed to initialize graphics environment
java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:102)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101)
at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83)
at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129)
at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:231)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:588)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:583)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582)
at java.desktop/java.awt.Toolkit.getEventQueue(Toolkit.java:1499)
at java.desktop/java.awt.EventQueue.invokeLater(EventQueue.java:1318)
at com.intellij.idea.StartupUtil.lambda$scheduleInitUi$9(StartupUtil.java:325)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:834)
-----
JRE 11.0.8+10-b944.31 amd64 by JetBrains s.r.o.
/snap/pycharm-professional/213/jbr
2020-09-12 15:09:18,916 [ 75] ERROR - llij.ide.plugins.PluginManager - null
java.lang.ExceptionInInitializerError
at java.prefs/java.util.prefs.FileSystemPreferencesFactory.userRoot(FileSystemPreferencesFactory.java:41)
at java.prefs/java.util.prefs.Preferences.userRoot(Preferences.java:457)
at com.intellij.ide.Prefs.migrate(Prefs.java:123)
at com.intellij.ide.Prefs.get(Prefs.java:24)
at com.intellij.ide.gdpr.EndUserAgreement.getAcceptedVersion(EndUserAgreement.java:81)
at com.intellij.ide.gdpr.EndUserAgreement.access$100(EndUserAgreement.java:23)
at com.intellij.ide.gdpr.EndUserAgreement$Document.isAccepted(EndUserAgreement.java:210)
at com.intellij.idea.StartupUtil.showUserAgreementAndConsentsIfNeeded(StartupUtil.java:785)
at com.intellij.idea.StartupUtil.startApp(StartupUtil.java:265)
at com.intellij.idea.StartupUtil.prepareApp(StartupUtil.java:243)
at com.intellij.ide.plugins.MainRunner.lambda$start$0(MainRunner.java:47)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: Shutdown in progress
at java.base/java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66)
at java.base/java.lang.Runtime.addShutdownHook(Runtime.java:216)
at java.prefs/java.util.prefs.FileSystemPreferences$4.run(FileSystemPreferences.java:457)
at java.prefs/java.util.prefs.FileSystemPreferences$4.run(FileSystemPreferences.java:455)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.prefs/java.util.prefs.FileSystemPreferences.<clinit>(FileSystemPreferences.java:455)
... 12 more
2020-09-12 15:09:18,920 [ 79] ERROR - llij.ide.plugins.PluginManager - PyCharm 2020.2.1 Build #PY-202.6948.78
2020-09-12 15:09:18,920 [ 79] ERROR - llij.ide.plugins.PluginManager - JDK: 11.0.8; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2020-09-12 15:09:18,920 [ 79] ERROR - llij.ide.plugins.PluginManager - OS: Linux
Start Failed: Internal error. Please refer to http://jb.gg/ide/critical-startup-errors
java.lang.ExceptionInInitializerError
at
java.prefs/java.util.prefs.FileSystemPreferencesFactory.userRoot(FileSystemPreferencesFactory.java:41)
at java.prefs/java.util.prefs.Preferences.userRoot(Preferences.java:457)
at com.intellij.ide.Prefs.migrate(Prefs.java:123)
at com.intellij.ide.Prefs.get(Prefs.java:24)
at com.intellij.ide.gdpr.EndUserAgreement.getAcceptedVersion(EndUserAgreement.java:81)
at com.intellij.ide.gdpr.EndUserAgreement.access$100(EndUserAgreement.java:23)
at com.intellij.ide.gdpr.EndUserAgreement$Document.isAccepted(EndUserAgreement.java:210)
at com.intellij.idea.StartupUtil.showUserAgreementAndConsentsIfNeeded(StartupUtil.java:785)
at com.intellij.idea.StartupUtil.startApp(StartupUtil.java:265)
at com.intellij.idea.StartupUtil.prepareApp(StartupUtil.java:243)
at com.intellij.ide.plugins.MainRunner.lambda$start$0(MainRunner.java:47)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: Shutdown in progress
at java.base/java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66)
at java.base/java.lang.Runtime.addShutdownHook(Runtime.java:216)
at java.prefs/java.util.prefs.FileSystemPreferences$4.run(FileSystemPreferences.java:457)
at java.prefs/java.util.prefs.FileSystemPreferences$4.run(FileSystemPreferences.java:455)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.prefs/java.util.prefs.FileSystemPreferences.<clinit>(FileSystemPreferences.java:455)
... 12 more
-----
JRE 11.0.8+10-b944.31 amd64 by JetBrains s.r.o.
/snap/pycharm-professional/213/jbr
如果有人知道我在这里做错了什么,我会很高兴在这里:) 如果缺少任何细节,请告诉我。提前致谢 :)
编辑:在@Kenster 的回答之后,我被介绍了 X 转发的概念。我按照此链接中的说明进行操作,效果很好。X转发是什么也有一个清晰的解释。链接:https ://kb.iu.edu/d/bdnt
解决方案
推荐阅读
- r - 从德雷克图形可视化中排除从包中导入的函数?
- twitter-bootstrap - 如何获得此 UI 效果
- node.js - 在另一个系统上确认用户
- google-api - 无法为 GMB 业务订阅发布/订阅推送通知
- cordova - 除了 Google 地图之外,将地图包含到我的 Cordova 项目中的免费替代方案
- r - “选择了未定义的列”错误消息,但 head(data) 显示名称?
- kotlin - 如何通过kotlin注解过滤数据类属性?
- html - 如何将 3 个 div 连续居中?
- java - 如果其他 ArrayList 中的条件为真,如何从 ArrayList 中删除项目
- graphics - 为什么 VGA 颜色需要按位移位?