Saya mencoba menginstal aplikasi Java di mesin Linux saya (Slackware).
Saya telah menerima kesalahan berikut, dan saya tidak memahaminya.
Bisakah Anda memberi tahu saya bagaimana menangani masalah ini? Terima kasih.
Inilah yang saya dapatkan: (Saya melihat bahwa beberapa variabel TAMPILAN X11 perlu disetel, tetapi nilai apa yang harus saya berikan dan bagaimana?)
~$ java -jar gate-5.0-beta1-build3048-installer.jar
- ERROR -
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(Graphic sEnvironment.java:159)
at java.awt.Window.<init>(Window.java:407)
at java.awt.Frame.<init>(Frame.java:402)
at net.sourceforge.mlf.metouia.borders.MetouiaDotsBuf fer.<init>(MetouiaDotsBuffer.java:105)
at net.sourceforge.mlf.metouia.borders.MetouiaDots.<i nit>(MetouiaDots.java:66)
at net.sourceforge.mlf.metouia.borders.MetouiaToolBar Border.<init>(MetouiaToolBarBorder.java:49)
at net.sourceforge.mlf.metouia.MetouiaLookAndFeel.ini tComponentDefaults(MetouiaLookAndFeel.java:241)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefault s(BasicLookAndFeel.java:130)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefault s(MetalLookAndFeel.java:1591)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:537)
at javax.swing.UIManager.setLookAndFeel(UIManager.jav a:581)
at com.izforge.izpack.installer.GUIInstaller.loadLook AndFeel(GUIInstaller.java:373)
at com.izforge.izpack.installer.GUIInstaller.<init>(G UIInstaller.java:116)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:30
at com.izforge.izpack.installer.Installer.main(Instal ler.java:62)
Jawaban:
Jika Anda berada di layar utama, maka
atau jika Anda menggunakan csh atau tcsh
sebelum menjalankan aplikasi Anda.
Sebenarnya, saya heran ini tidak disetel secara otomatis. Apakah Anda mencoba memulai aplikasi ini dari terminal non-grafis? Jika belum, sudahkah Anda mengubah .profile default, .login, .bashrc atau .cshrc?
Perhatikan bahwa mengatur DISPLAY ke: 0.0 mengandaikan Anda sedang duduk di layar utama, seperti yang saya katakan, atau setidaknya tampilan utama masuk ke id pengguna Anda. Jika tidak login, atau itu adalah userid yang berbeda, ini akan gagal.
Jika Anda masuk dari komputer lain, dan Anda berada di tampilan utama mesin itu dan menjalankan X, Anda dapat menggunakan "ssh -X hostname" untuk menyambungkan ke host itu, dan ssh akan meneruskan tampilan X kembali . ssh juga akan memastikan bahwa variabel lingkungan DISPLAY diatur dengan benar (asalkan tidak dikacaukan dalam berbagai file titik yang saya sebutkan di atas). Dalam sesi "ssh -X", variabel lingkungan DISPLAY akan memiliki nilai seperti "localhost: 11.0", yang akan menunjuk ke soket yang disalurkan ssh ke kotak lokal Anda.
sumber
Apakah Anda menjalankan ini dari dalam lingkungan X11? Anda dapat menggunakan jendela terminal, tetapi harus dalam X (baik setelah login grafis, atau dengan menjalankan startx).
Jika Anda sudah berada dalam lingkungan grafis, coba ekspor DISPLAY =: 0 untuk bash seperti shell (bash, sh, dll) atau setenv DISPLAY: 0 untuk shell berbasis C shell (csh, tcsh, dll)
Jika Anda telah terhubung dari komputer lain melalui SSH, Anda menggunakan opsi -X untuk menampilkan antarmuka grafis pada mesin tempat Anda duduk (asalkan ada server X yang berjalan di sana (seperti xming untuk windows, dan standar Linux X Anda) server).
sumber
export DISPLAY=:0
Anda harus mengaktifkan penerusan X11 di PuTTy Anda
untuk melakukannya buka PuTTy, buka Connection => SSH => Tunnels dan centang centang Enable X11 forwarding
Juga sudo ke server dan ekspor variabel di bawah ini di sini IP adalah IP mesin lokal Anda
sumber
Satu hal lagi yang mungkin menjadi masalah dalam kasus yang mirip dengan yang dijelaskan - X tidak diteruskan dan $ DISPLAY tidak diset ketika program 'xauth' tidak diinstal pada sisi jarak jauh. Anda dapat melihatnya mencarinya ketika Anda menjalankan "ssh -Xv ip_address", dan, jika tidak ditemukan, gagal, yang tidak akan terlihat kecuali Anda mengaktifkan mode verbose (IMO gagal). Biasanya Anda dapat menemukan 'xauth' dalam paket dengan nama yang sama.
sumber
Sangat Mudah, Memiliki masalah yang sama maka yang saya lakukan adalah mengunduh dan menginstal aplikasi yang akan membantu dalam menampilkan kemudian memperbaiki kesalahan.
Unduh aplikasi ini xming:
http://sourceforge.net/project/downloading.php ?
Instal, lalu gunakan pengaturan pada tautan ini:
http://www.geo.mtu.edu/geoschem/docs/putty_install.html atau ikuti langkah-langkah berikut:
Instalasi / Konfigurasi PuTTy dan Xming
Setelah PuTTy dan Xming diunduh ke PC, instal sesuai dengan instruksi masing-masing.
Konfigurasi Xming
Setelah Xming diinstal, jalankan aplikasi bernama 'XLaunch' dan verifikasi bahwa pengaturannya seperti yang ditunjukkan:
Mengonfigurasi PuTTy
Setelah menginstal PuTTy, klik dua kali pada ikon PuTTy di desktop dan konfigurasikan seperti yang ditunjukkan:
Ini menunjukkan membuat profil login lalu menyimpannya.
simpan profil kemudian hubungkan jarak jauh ke server untuk menguji.
Bersulang!!!
sumber
Ada banyak cara untuk melakukan ini. Saya melakukan sesuatu di bawah ini sesuai keinginan saya dan selalu berfungsi dengan baik.
Di server, file .Xauthority dibuat dan perhatikan bahwa variabel DISPLAY sudah disetel.
$ xauth daftar
$ xauth tambahkan
Untuk mengujinya, ketik xclock atau xeyes
Catatan : Untuk mengganti pengguna, salin file .Xauthority ke direktori home dari pengguna yang bersangkutan dan juga ekspor variabel DISPLAY dari pengguna tersebut.
sumber
Saya mengalami masalah yang sama di Ubuntu 14.04.01 ketika saya mencoba menginstal JDK 8 dan Netbeans jika saya meluncurkan skrip di dalam terminal Byobu (mungkin dengan Layar terjadi hal yang sama).
Cukup keluar dari Byobu dan (di terminal grafis) jalankan skrip.
sumber
Pemeriksaan Awal.
1) Saat Anda mengekspor DISPLAY ke mesin lain, pastikan Anda memasukkan perintah
xhost +
pada mesin itu. Perintah ini memungkinkan mesin lain untuk mengekspor DISPLAY-nya di mesin ini. Mungkin ada kendala keamanan, ketahuilah saja. Perlu memeriksassh -X MachineIP
tidak akan membutuhkanxhost +
?2) Beberapa kali
JCONSOLE
tidak akan menampilkan semua prosesnya, karena proses JVM tersebut dapat berjalan dengan pengguna yang berbeda dan Anda mengekspor DISPLAY dengan pengguna lain. jadi lebih baik ikutiCD_DIR>sudo ./jconsole
3) Dalam WS (WEBSPHERE); jconsole tidak dapat menghubungkan proses server java-nya, waktu itu cukup buka tautannya, lalu coba sambungkan. Ini berhasil untuk saya. Mungkin halaman ini menginisialisasi beberapa variabel untuk mengaktifkan jconsole agar terhubung dengan server itu.
Konsol WAS> Server aplikasi> server1> Definisi proses> Java Virtual Machine
Saya telah menghadapi masalah yang sama dengan mesin AIX (di mana antarmuka baris perintah hanya tersedia, Tidak ada UI DISPLAY). Saya menyelesaikannya dengan menginstal
Langkah 1: Melalui mesin Windows itu, saya terhubung dengan kotak unix di mana konsol GUI tersedia.
Langkah 2: SSH ke kotak AIX dari kotak UNIX itu.
Langkah 3: atur DISPLAY seperti "export DISPLAY = UNIXMACHINE: NXClientPORTConnectedMentionedOnTitle"
Langkah 4: Sekarang jika kita meluncurkan program yang membutuhkan DISPLAY; itu akan diluncurkan pada kotak UNIX ini.
Jika Anda menginstal VNC pada kotak UNIX di mana tampilan tersedia; maka Windows dan NX Client tidak diperlukan. Langkah 1: Gunakan VNC untuk terhubung dengan kotak Unix di mana konsol GUI tersedia.
Langkah 2: SSH ke kotak AIX dari kotak UNIX itu.
Langkah 3: atur DISPLAY seperti "export DISPLAY = UNIXMACHINE: VNCPORT"
Langkah 4: Sekarang jika kita meluncurkan program yang membutuhkan DISPLAY; itu akan diluncurkan pada kotak UNIX ini.
LAIN
Langkah 1: SSH ke kotak AIX dari kotak UNIX itu.
Langkah 2: atur DISPLAY seperti "export DISPLAY = UNIXMACHINE: VNCPORT"
Langkah 3: Sekarang jika kita meluncurkan program yang membutuhkan DISPLAY; itu akan diluncurkan pada kotak UNIX ini.
sumber
Bagi mereka yang mencoba mendapatkan aplikasi X Window yang bekerja dari Windows dari Linux:
Apa yang berhasil bagi saya adalah mengatur server xming pada mesin windows saya, mengatur opsi penerusan X11 dalam dempul ketika saya terhubung ke host linux dan memasukkan alamat ip windows saya dengan port tampilan dan kemudian variabel tampilan dengan alamat IP windows saya: 0,0
Jangan lupa untuk menambahkan alamat IP host linux ke file X0.hosts untuk memastikan bahwa server xming menerima lalu lintas dari host tersebut. Butuh beberapa saat untuk mencari tahu.
sumber
Jangan lupa untuk mengeksekusi "host +" pada mesin tampilan "rumah" Anda, dan saat Anda melakukan ssh ke mesin tersebut, Anda melakukan "nama host ssh -x"
sumber