प्रदर्शन प्रबंधक के बिना जीयूआई के साथ कार्यक्रम शुरू करना


9

मैंने सुना है कि प्रदर्शन प्रबंधक के बिना ग्राफ़िकल इंटरफ़ेस के साथ प्रोग्राम लॉन्च करने का एक तरीका है - टर्मिनल से सीधे। क्या यह वास्तविक है और यदि हां, तो मैं ऐसा कैसे कर सकता हूं?


क्या आपको जीयूआई के साथ बातचीत करने की आवश्यकता है?
डैनियल बी

@ डैनियलबी हाँ, शायद
बेन

1
आप उन्हें बिना डिस्प्ले मैनेजर के चला सकते हैं, लेकिन आपको एक रनिंग एक्स सेशन की जरूरत है। आप किस वितरण का उपयोग कर रहे हैं? क्या आपके पास एक एक्स सर्वर स्थापित है? आप चला सकते हैं xinitया startx?
टेराडो

@terdon हाँ, मैं वर्तमान में lmint चला रहा हूं, लेकिन यह प्रश्न सामान्य ज्ञान के लिए अधिक है (लक्षित लक्षित नहीं)।
बेन

जवाबों:


5

आप उन्हें बिना डिस्प्ले मैनेजर के चला सकते हैं, लेकिन आपको एक रनिंग एक्स सेशन की जरूरत है। विवरण आपके वितरण पर निर्भर करेगा लेकिन आपको एकल टर्मिनल के साथ न्यूनतम X सत्र चलाने में सक्षम होना चाहिए

xinit

मैंने वर्षों में ऐसा नहीं किया है, लेकिन पिछली बार मैंने ऐसा किया था, जो इस तरह से कुछ देगा:

यहां छवि विवरण दर्ज करें

एक बार, आप सामान्य रूप से जीयूआई कार्यक्रम चला सकते हैं, अधिमानतः इसे पृष्ठभूमि में लॉन्च करके (साथ &) ताकि आप अपने एकमात्र टर्मिनल तक पहुंच ढीली न करें।


2
यह ध्यान देने योग्य हो सकता है कि "उन्हें सामान्य रूप से चलाना" सबसे अधिक संभावना है कि इस प्रक्रिया में पृष्ठभूमि शामिल होगी, इसलिए आप xterm &केवल एक अतिरिक्त टर्मिनल प्राप्त करने के लिए उपयोग करना चाहेंगे , न कि केवल xterm। आदि
एक CVn

6

यहां एक GUI ऐप चलाने के लिए मूल बातें है, vncइसे कनेक्ट करने के लिए एक तरीका ( ) के साथ । पर RHEL7और Centos 7परिवार के साथ काम करता है । और मेरी अपनी डॉकटर-छवि से बाहर निकल गया जिसका उपयोग मैं https://github.com/xeor/dockerfiles/tree/master/crashplan/ ( Dockerfileसेटअप के init/setupलिए और स्टार्टअप के लिए) में स्थित क्रैशप्लेन के लिए करता हूं ।

# 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

अब आपको सर्वर से कनेक्ट करने में सक्षम होना चाहिए: 5900 और एप्लिकेशन देखें।


3

हाँ। बस वही काम करते हैं जो एक डिस्प्ले मैनेजर करता है। ग्राफ़िकल लॉगिन स्क्रीन के अलावा (जो आपको इस मामले में ज़रूरत नहीं है), डिस्प्ले मैनेजर सिर्फ दो काम करता है:

  1. पहले यह एक X11 "प्रदर्शन सर्वर" शुरू करता है, जैसे कि Xorg,
  2. फिर "क्लाइंट" शुरू होता है जो Xorg को बताता है कि क्या और कहाँ ड्रा करना है।

आप startxX11 को कंसोल लॉगिन से उसी तरह शुरू करने के लिए टूल का उपयोग कर सकते हैं ; यह आपकी ~/.xinitrcफ़ाइल में सूचीबद्ध क्लाइंट द्वारा Xorg लॉन्च करेगा ।

उदाहरण के लिए, .xinitrc फ़ाइल हो सकता था startkdeया gnome-sessionहै, या यह अलग-अलग घटकों (विंडो प्रबंधक, एक पैनल / टास्कबार, एक डेस्कटॉप ...) सूचीबद्ध कर सकते हैं

(ध्यान दें कि xinitऔर बीच के कुछ अंतर हैं startx- आमतौर पर आपको बाद का उपयोग करना चाहिए, क्योंकि कुछ डिस्ट्रोफ में कॉन्फ़िगरेशन के कुछ महत्वपूर्ण टुकड़े होते हैं जो कि सादे xinit की उपेक्षा करेंगे, अर्थात् xserverrcस्क्रिप्ट।)

वायलैंड के साथ, डेस्कटॉप और पैनल "कंपोज़िटर" का एक एकीकृत हिस्सा हैं, इसलिए संपूर्ण इंटरफ़ेस अतिरिक्त उपकरणों के बिना एक ही चरण में शुरू होता है। उदाहरण के लिए, आप westonGNOME का उपयोग करके चला सकते हैं या शुरू कर सकते हैं gnome-session --session=gnome-wayland


1

आप ssh X फ़ॉरवर्डिंग (ssh-x) का उपयोग करके X एप्लिकेशन लॉन्च कर सकते हैं, (सर्वर कॉन्फ़िगरेशन में भी सक्षम होना चाहिए), बशर्ते कि आपके पास स्थानीय X डिस्प्ले हो।

हेडलेस सिस्टम पर चलने के दौरान एप्लिकेशन स्थानीय रूप से लॉन्च और प्रदर्शित होगा। सही पुस्तकालयों के लिए आपको हेडलेस सिस्टम पर X स्थापित करना होगा, और यह अधिक आधुनिक GNOME अनुप्रयोगों के साथ काम नहीं कर सकता है।

आप $DISPLAYसंलग्न एक्स डिस्प्ले पर ऐप लॉन्च करने के लिए भी उपयोग कर सकते हैं, भले ही आपका शेल एक रिमोट (ssh या कंसोल) हो। यदि आप रूट हैं और एक्स डिस्प्ले पर लॉग इन किया हुआ व्यक्ति नहीं है, तो आप xauthसुरक्षा को ओवरराइड कर सकते हैं और वैसे भी उनके डिस्प्ले पर एक विंडो पॉप अप कर सकते हैं । यह भी काम करता है यदि आपके पास अलग-अलग मॉनिटर पर दो अलग-अलग एक्स डिस्प्ले सर्वर हैं।

एक अन्य पोस्टर में वीएनसी का उल्लेख है; मैंने इस उद्देश्य के लिए NX का भी उपयोग किया है, और मैं इसे पसंद करता हूं।


उत्तर असंबंधित है, लेकिन उपयोगी है
बेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.