Saya mencoba membuka gerhana di VM ubuntu saya dengan perintah di bawah ini .. Dan begitu saya melakukannya, saya selalu mendapatkan pengecualian di bawah ini -
ubuntu@username-dyn-vm1-48493:~$ eclipse
Eclipse:
An error has occurred. See the log file
/home/ubuntu/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1381367113197.log.
jadi ketika saya pergi ke file log tertentu, ini adalah apa yang bisa saya lihat di log -
ubuntu@username-dyn-vm1-48493:~$ more /home/ubuntu/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1381367113197.log
!SESSION 2013-10-10 01:05:13.088 -----------------------------------------------
eclipse.buildId=debbuild
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.osgi 4 0 2013-10-10 01:05:17.555
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4387)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:914)
at org.eclipse.swt.widgets.Display.create(Display.java:900)
at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
at org.eclipse.swt.widgets.Display.<init>(Display.java:498)
at org.eclipse.swt.widgets.Display.<init>(Display.java:489)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:716)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Adakah yang tahu kesalahan apa yang terjadi? Atau apa yang harus saya lakukan untuk memperbaiki masalah ini? Terima kasih..
Memperbarui:-
Detail versi di bawah ini -
ubuntu@username-dyn-vm1-48493:~$ dpkg -l libgtk[0-9]* | grep ^i
ii libgtk2.0-0:amd64 2.24.17-0ubuntu2 amd64 GTK+ graphical user interface library
ii libgtk2.0-bin 2.24.17-0ubuntu2 amd64 programs for the GTK+ graphical user interface library
ii libgtk2.0-common 2.24.17-0ubuntu2 all common files for the GTK+ graphical user interface library
Jawaban:
Saya pikir ini masalah dengan GTK. Periksa versi apa yang diinstal.
dpkg -l libgtk[0-9]* | grep ^i
Jika tidak diinstal atau merupakan versi yang salah maka lakukan
sudo apt-get install gtk
atau lakukansudo apt-get update
.EDIT
Masalahnya adalah SSH menggunakan SSH untuk melakukan remote ke Linux VM dan tidak memiliki X-Server yang diatur pada Windows dan tidak mengaktifkan penerusan X11. Setelah mendapatkan yang diluruskan OP seharusnya tidak memiliki masalah menjalankan Eclipse.
sumber
sudo apt-get install gtk Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gtk
. Itu tidak dapat menemukan paket gtk entah bagaimana .. Ada ide?sudo apt-cache search gtk
?Ini juga kesalahan yang Anda dapatkan jika Anda mencoba memulai Eclipse melalui ssh tanpa meneruskan akses X. Yaitu, Anda lupa menjalankan
ssh -X user@host
atau lupa untuk memasukkanForwardX11 yes
dalam~/.ssh/config
entri Anda untuk server.Saya menambahkan jawaban ini untuk siapa saja yang mungkin menemukan pertanyaan ini dari pencarian Google meskipun secara teknis, OP bertanya tentang kasus VM.
sumber
Selain itu, ini mungkin juga disebabkan oleh aplikasi yang tidak memiliki otorisasi yang benar untuk ditampilkan ke remote
X server
. Ini biasanya terjadi ketika Anda masuk ke sesi ssh sebagai satu pengguna dan menjalankan perintah sebagai pengguna lain untuk meluncurkan aplikasi GUI. Misalnya ketika Anda masuk ke server jauh dan menjalankansudo
perintah. Untuk mengatasi masalah ini, Anda harus mendapatkan cookie ajaib dari pengguna yang masuk dan mengimpor cookie untuk pengguna yang menjalankan perintah.Saat pengguna masuk ke server yang memiliki otoritas untuk ditampilkan
X
, jalankan:Kemudian sebagai pengguna mencoba menjalankan gui:
xauth
mergecookie_file
Setelah cookie diimpor ke pengguna.
Xauthority
file, Anda harus dapat menjalankan GUI.sumber
Xvfb :1 -ac -screen 0 1024x768x8 &
export DISPLAY=:1
sourceSaya mengalami masalah serupa ketika menginstal IBM Installation Manager (IBMIM) pada CentOS 6.x dan mengatasi masalah ini dengan menginstal beberapa paket yang merupakan penyebab kesalahan yang identik ini:
Solusi bagian 1 - paket yang hilang
Sesuatu yang mirip dengan ini bisa dilakukan di Ubuntu juga.
Solusi bagian 2 - xauth
Masalah lain yang akan muncul adalah Anda mencoba menjalankan pemasang IBMIM (berbasis Eclipse) sebagai pengguna root via sudo. Ketika Anda melakukan ini, Anda akan mendapatkan kesalahan Aplikasi di atas dari installer:
Untuk mengatasinya, Anda harus menggunakan
xauth add
untuk menambahkan pengguna awal yang Anda masuk sebagai$HOME/.Xauthority
file root .Sebagai pengguna1:
Kemudian sebagai root:
Referensi
sumber
Jika Anda menjalankan di linux dengan Gnome:
Mulai Gnome dengan sesi Xorg:
Setelah mengklik nama pengguna Anda di GDM (manajer penyapa / login), klik nama pengguna Anda dan sebelum memasukkan kata sandi, klik gigi kecil dan pilih Gnome dengan Xorg, lalu masukkan kata sandi Anda
sumber
Setelah menonaktifkan IPV6 pada mesin jarak jauh saya menerima pesan
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
saat menggunakan perintahssh -X ub-dev /opt/eclipse/eclipse
. Untuk memperbaikinya pada Ubuntu 14.04 saya menambahkan barisAddressFamily inet
ke file/etc/ssh/sshd_config
dan restart sshsudo service ssh restart
.sumber