कमांड लाइन से GNOME शेल को कैसे पुनः आरंभ करें?


51

जब भी यह एक क्रैश ( कुछ कीड़े अभी तक तय नहीं हैं) को फिर से शुरू करने के लिए मैं एक कीबोर्ड शॉर्टकट लागू करना चाहूंगा । इसके लिए मुझे शेल को पुनः आरंभ करने के लिए कमांड लाइन की आवश्यकता होगी।

Alt+ F2और restartकमांड शेल क्योंकि शीघ्र कार्यान्वित किया जाता है दुर्घटनाग्रस्त हो गया है काम नहीं करेगा में खोल।

इसलिए, कमांड लाइन से सूक्ति-शेल को कैसे पुनः आरंभ करें?


नोट: Alt + F2 और restartसभी चल रहे कार्यक्रमों को रोक देगा। (मैं अभी भी नहीं जानता कि कैसे कार्यक्रमों को रोकने के बिना जीयूआई को फिर से शुरू करना है।)
एंड्री मक्खू

जवाबों:


48

सूक्ति-शैल को प्रतिस्थापित करने की आज्ञा होगी gnome-shell --replace

के मैनुअल पेज से gnome-shell:

--replace             Replace the running window manager

2
धन्यवाद मुझे यकीन नहीं था --replace= "पुनः आरंभ"।
बेंजामिन

4
उबंटू 18.10 पर GNOME शेल 3.30.1 के अनुसार, यह समाधान अब काम नहीं करता है, और उपयोगकर्ता को लॉगिन स्क्रीन पर किक करेगा, सभी काम खो देगा। सही समाधान अब कमांडलाइन है: "किलॉल -3 ग्नोम-शेल", या एएलटी + एफ 2 और आर (यदि संभव हो)।
C.Rogers

1
ALT+f2(शो कमांड प्रॉम्प्ट) + gnome-shell --replace18.04 में अच्छी तरह से काम करेगा। सभी चल रहे कार्यक्रम बंद नहीं किए जाएंगे।
दोपहर

मैं इस प्रक्रिया को पृष्ठभूमि में रखने के लिए कमांड के अंत में एम्परसेंड जोड़ता हूं, ताकि मैं गनोम-शेल को मारने के बिना टर्मिनल को बंद कर सकूं:gnome-shell --replace &
टेडी

चेतावनी: gnome-shell --replaceमेरे उबंटू 19.10 मशीन पर सफेद स्क्रीन के साथ एक समस्या राज्य में प्रवेश करने और कंप्यूटर को पुनः आरंभ करने के लिए एक प्रांप्ट को बंद करने और बंद करने के लिए अधिकांश चल रहे अनुप्रयोगों का कारण बना।
शर्म करो

31

सबसे आसान तरीका है Alt+ F2और rफिर टाइप करें


5
यह सच है, लेकिन वास्तव में सवाल नहीं है। सवाल तो यह है: जब आप ऐसा करते हैं तो क्या होता है। तो तुम यह अपने आप ऐसा कर सकते हैं
sehe

4
Ubuntu 18.10 पर GNOME शेल 3.30.1 के रूप में, और कमांडलाइन: "किलॉल -3 ग्नोम-शेल" यहां काम करने वाले एकमात्र समाधान हैं। अन्य सभी लोग उपयोगकर्ता को लॉगिन स्क्रीन से बाहर निकालते हैं, अपने सभी कार्य खो देते हैं।
C.Rogers

1
इसे डेबियन बस्टर पर ट्राई किया। "रीस्टार्ट, वेनलैंड पर उपलब्ध नहीं है" त्रुटि।
लिविन्स्टन

26

आप भी कर सकते हैं killall -3 gnome-shell


2
मुझे नहीं पता कि लोग इस आदेश की सिफारिश क्यों करते रहते हैं। यह सब कुछ सूक्ति-शैल को मारता है। आपने इसे पुनः आरंभ करने के प्रश्न का उत्तर कैसे दिया है?
smac89

1
शायद क्योंकि यह एक अच्छा समाधान है जहां अन्य कमांड काम नहीं करता है। मैं दोनों की कोशिश की, चुना एक अच्छा है, लेकिन मेरी समस्या का समाधान नहीं किया, जबकि यह किया था।
Mitro

2
उबंटू 18.10 के रूप में, गनोम शेल 3.30.1 - यह सुधार समाधान है। अन्य सभी समाधान सत्र को पुनरारंभ करते हैं और उपयोगकर्ता को लॉगिन स्क्रीन पर किक करते हैं, अपने सभी काम खो देते हैं।
C.Rogers

3
SIGQUIT (3) प्रक्रिया को नहीं मारता है
जैक वसी

यह मेरे लिए काम करने लगा। जबकि मैं gnome-shell --replace &पहले इस्तेमाल कर रहा था । यह काम किया लेकिन, टर्मिनल में चलता रहा। समस्या मैं पूर्ण वीडियो में Youtube वीडियो के साथ किसी भी तरह कर रहा था डैश-टू-डॉक और पैनल को बंद करने का कारण बना। github.com/micheleg/dash-to-dock/issues/…
Natetronn

5

आज्ञा तो बस होनी चाहिए gnome-shell --replace


3
उबंटू 18.10 पर GNOME शेल 3.30.1 के अनुसार, यह समाधान अब काम नहीं करता है, और उपयोगकर्ता को लॉगिन स्क्रीन पर किक करेगा, सभी काम खो देगा। सही समाधान अब कमांडलाइन है: "किलॉल -3 ग्नोम-शेल", या एएलटी + एफ 2 और आर (यदि संभव हो)।
C.Rogers

एक दूरस्थ सत्र के लिए काम नहीं करता है, इसलिए जब सूक्ति शेल जमी है, तो यह काम नहीं करता है।
जैक वासी

5

यदि पूरी तरह gnome-shellसे जमी हुई है, तो एक तरीका है कि टर्मिनल से पूरी एक्स विंडो को दोबारा शुरू किए बिना इसे कैसे पुनः आरंभ किया जाए:

  • Ctrl+ Alt+ F2टर्मिनल में जाने के लिए
  • अपने क्रेडेंशियल (उपयोगकर्ता नाम और पासवर्ड) के साथ लॉग इन करें और फिर चलाएं:
  • DISPLAY=:0 gnome-shell -r &
  • लॉग आउट करें exitऔर
  • Alt+ F1चित्रमय इंटरफ़ेस X विंडो पर वापस जाने के लिए।

1

मैं उपयोगकर्ताओं को लॉगआउट करने के लिए इस फ़ंक्शन के साथ आया था (नीचे देखें)

यह मान लेता है

  • आपके पास sudo अनुमतियां हैं
  • आपको बैश है
  • उपयोगकर्ताओं के पास 1 एक्स रनिंग सत्र है (हालांकि आपको शेष सत्रों से छुटकारा पाने के लिए एक ही लॉगआउट कमांड को कई बार जारी करने में सक्षम होना चाहिए)

आप इसे कई उपयोगकर्ता नाम दे सकते हैं:

logout john jane mike elisa

और आप इसे अतिरिक्त विकल्प दे सकते हैं:

logout john --force

तो, मेरे पास निम्न सहायक कार्य है:

function forcelogout() {
    logout "$@" --no-prompt --force
}

टिप्पणियाँ:

  • यह एक कुंद यंत्र है और पूरे सत्र के वातावरण को कॉपी करके काम करता है। यह अधिक चयनात्मक हो सकता है।
  • कभी-कभी लॉगआउट करने में कुछ समय लगता है
  • दुर्लभ मौकों में सत्र की सूचना तब तक मिलती रहती है जब तक कि कोई व्यक्ति सत्र में भाग नहीं ले जाता है, लेकिन वहां कुछ भी नहीं है)

कोड

function logout() {
    local USERNAME
    export USERNAMES=( ) 
    while [ -n "$1" ]; do case "$1" in
        -* ) break ;;
        *) USERNAMES+=( "$1" ); shift ;;
    esac; done

    for USERNAME in "${USERNAMES[@]}"; do
        local SESSION_PID=$(pgrep -fu "$USERNAME" gnome-session|head -1)
        if [ -n "$SESSION_PID" ]; then
            (
                sudo -u "$USERNAME" cat "/proc/$SESSION_PID/environ" | xargs -0 -n 1 echo export
                echo "gnome-session-quit --logout $@"
            ) | sudo -u "$USERNAME" sh -;
        fi
    done
}

1

मैंने एक अन्य व्यक्ति को परिभाषित किया: alias gnomeshellrestart='echo "gnome-shell --replace -d" $(w| grep "$USER"| awk "{print \$3}"|grep ":"|head -1)| at now'

आप पृष्ठभूमि पर माउस के साथ राइट-क्लिक करके एक टर्मिनल शुरू करने में सक्षम हो सकते हैं और वहां टाइप करें (alt- टैब तब भी बहुत खराब है), यदि नहीं, तो जैसे ttrl-alt-F2 के साथ एक tty में लॉगिन करें और वहां से चलाएं।

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