Saya pernah mendengar bahwa ada cara meluncurkan program dengan antarmuka grafis tanpa manajer tampilan - langsung dari terminal. Apakah ini nyata dan jika demikian, bagaimana saya bisa melakukan itu?
xinitatau startx?
Saya pernah mendengar bahwa ada cara meluncurkan program dengan antarmuka grafis tanpa manajer tampilan - langsung dari terminal. Apakah ini nyata dan jika demikian, bagaimana saya bisa melakukan itu?
xinitatau startx?
Jawaban:
Anda dapat menjalankannya tanpa manajer tampilan, tetapi Anda perlu menjalankan sesi X. Rinciannya akan tergantung pada distribusi Anda tetapi Anda harus bisa mendapatkan sesi X minimal dengan satu terminal dengan menjalankan
xinit
Saya sudah bertahun-tahun tidak melakukan ini, tetapi terakhir kali saya lakukan, itu akan memberikan sesuatu seperti ini:

Sesampai di sana, Anda dapat menjalankan program GUI secara normal, lebih disukai dengan meluncurkannya di latar belakang (dengan &) sehingga Anda tidak kehilangan akses ke satu-satunya terminal Anda.
xterm &untuk mendapatkan terminal tambahan, bukan hanya xterm. Dll
Berikut adalah dasar-dasar untuk menjalankan aplikasi GUI tanpa kepala, dengan cara ( vnc) untuk terhubung dengannya. Bekerja RHEL7dan Centos 7bersama keluarga. Dan merobek gambar Docker saya sendiri yang saya gunakan untuk Crashplan terletak di https://github.com/xeor/dockerfiles/tree/master/crashplan/ (lihat Dockerfileuntuk pengaturan, dan init/setupuntuk startup.
# Needed environment variables
export DISPLAY=:99.0
export SCREEN_WIDTH=1200
export SCREEN_HEIGHT=960
export SCREEN_DEPTH=24
export GEOMETRY="${SCREEN_WIDTH}x${SCREEN_HEIGHT}x${SCREEN_DEPTH}"
# Needed packages
yum install -y xorg-x11-server-Xvfb x11vnc gtk2 xorg-x11-fonts-*
# Set a password (if variable vncpass is sat, else its `secret`)
mkdir -p ~/.vnc && x11vnc -storepasswd ${vncpass:-secret} ~/.vnc/passwd
# Start up the fake display and run the application you want (the `java ...` part)
xvfb-run --server-args="$DISPLAY -screen 0 $GEOMETRY -ac +extension RANDR" java .... > log/ui_output.log 2> log/ui_error.log &
# Wait for the app to start, or else, the vnc server will die before starting
sleep 5
# vnc itself
x11vnc -forever -usepw -shared -rfbport 5900 -display $DISPLAY
Anda sekarang harus dapat terhubung ke server: 5900 dan melihat aplikasi.
Iya. Lakukan saja hal yang sama seperti yang dilakukan oleh pengelola layar. Selain dari layar masuk grafis (yang tidak Anda perlukan dalam kasus ini), manajer tampilan hanya melakukan dua hal:
Anda dapat menggunakan alat seperti startxmemulai X11 dengan cara yang sama dari login konsol; itu akan meluncurkan Xorg diikuti oleh klien yang tercantum dalam ~/.xinitrcfile Anda .
Misalnya, file .xinitrc dapat memiliki startkdeatau gnome-session, atau dapat mencantumkan komponen individual (pengelola jendela, panel / bilah tugas, desktop ...)
(Perhatikan bahwa ada beberapa perbedaan antara xinitdan startx- biasanya Anda harus menggunakan yang terakhir, karena beberapa distro memiliki beberapa konfigurasi penting yang akan diabaikan oleh xinit, yaitu xserverrcskrip.)
Dengan Wayland, desktop & panel adalah bagian terintegrasi dari "compositor", sehingga seluruh antarmuka dimulai dalam satu langkah tanpa alat tambahan. Misalnya, Anda dapat menjalankan westonatau memulai menggunakan GNOME gnome-session --session=gnome-wayland.
Anda dapat menjalankan aplikasi X menggunakan penerusan ssh X (ssh -X; mungkin perlu diaktifkan di konfigurasi server juga), asalkan Anda memiliki tampilan X lokal .
Aplikasi akan diluncurkan dan ditampilkan secara lokal, sambil berjalan pada sistem tanpa kepala. Anda perlu menginstal X pada sistem tanpa kepala untuk memiliki perpustakaan yang tepat, dan ini mungkin tidak berfungsi dengan aplikasi GNOME yang lebih modern.
Anda juga dapat menggunakan $DISPLAYuntuk meluncurkan aplikasi pada tampilan X terlampir bahkan jika shell Anda adalah remote (ssh atau konsol). Jika Anda melakukan root dan orang yang masuk di layar X tidak, Anda dapat mengabaikan xauthkeamanan dan memunculkan jendela di layar mereka. Ini juga berfungsi jika Anda memiliki dua server tampilan X berbeda pada monitor yang berbeda.
Poster lain menyebutkan VNC; Saya juga menggunakan NX untuk tujuan ini, dan saya lebih suka itu.