परिवर्तन लागू करें या रिबूट या लॉगआउट के बिना एकता डैश / लॉन्चर /… को पुनरारंभ करें


14

मैं इस स्थिति में था कि मैंने .desktopअपने होम डाइरेक्टरी में एक कस्टम लॉन्चर फ़ाइल को हटाने के बाद जो कि सिस्टम-वाइड एक को ओवरराइड कर दिया था, एक एप्लीकेशन मैं एकता एप्लिकेशन लेंस में उपलब्ध नहीं था ।

मेरी समस्या यह थी कि मुझे उन परिवर्तनों को लागू करने और इस मामले में अद्यतन करने की आवश्यकता थी जो स्थापित .desktopफ़ाइलों का डेटाबेस है , लेकिन अन्य समान परिदृश्य भी कल्पनाशील हैं।

तो मैं क्या कर सकता था (और अगली बार) रिबूट करने या लॉग आउट करने और वापस करने के बजाय एकता कॉन्फ़िगरेशन को अपडेट करने और अपने सभी सामान को फिर से लोड करने और पुन: लोड करने के लिए मजबूर करने के बजाय क्या कर सकता था?

मैं 15.10 पर हूं, इसलिए unity --reset &काम नहीं करता क्योंकि यह पदावनत है।

मैंने unity --replace &इसके बजाय कोशिश की , लेकिन इससे मेरा डेस्कटॉप क्रैश हो गया और मेरे TTY7 बेकार हो गए। यह पहले अंधेरे में चमकता था और ऐसा लगता था कि यह एकता को फिर से शुरू कर रहा है और डेस्कटॉप को पुनर्स्थापित कर रहा है, लेकिन तब इसने कुछ भी प्रतिक्रिया नहीं की। TTY1 पर वापस जाना और मुझे ब्लैक स्क्रीन प्लस माउस कर्सर के साथ छोड़ दिया। TTY1 लॉगिन के माध्यम से रिबूट करने के बाद और reboot, इसने फिर से काम किया और एकता ने अब मेरे आवेदन को भी पहचान लिया।

लेकिन अगर मैं ऐसी स्थिति में होता, जहाँ रिबूट या लॉगआउट का कोई विकल्प नहीं होता, तो जाने का मेरा तरीका क्या होता?


1
आप कोशिश कर सकते हैं setsid unity, यह एकता को 'ताज़ा' करेगा। मेरे एक इंस्टॉलेशन पर यह ऐसा करता है, दूसरा इसका परिणाम लॉग आउट होता है। दूसरों को यह कहना लगता है कि यह चूक के लिए फिर से बसता है, यहाँ किसी भी मामले में नहीं है।
doug

जवाबों:


33

प्रेस Alt+ F2टाइप करें unityऔर दबाएँ Enter


3
सरल लेकिन सामान्य। मुझे नहीं पता कि पहले किसी ने ऐसा क्यों नहीं सोचा। मैं नहीं जानता कि एकता की कितनी पुनः आरंभ होती है, लेकिन यह निश्चित रूप से ओवरराइड .desktop फ़ाइलों को पहचानने के लिए पर्याप्त है। धन्यवाद! मैं आपको कुछ दिनों में इनाम प्रदान करूंगा, और आगे की प्रतिक्रियाओं का इंतजार करूंगा।
बाइट कमांडर

1
आपके पहले इनाम @padlyuck के लिए बधाई! : डी
बाइट कमांडर

9
मैंने 16.04 में ऐसा किया और अपनी खिड़कियों को गड़बड़ कर दिया और कुछ ऐप्स ने खुद को बंद कर दिया (उदाहरण के लिए ब्राउज़र)।
डैनियल

क्या आप इस बारे में विस्तार से बता सकते हैं? यह वास्तव में क्या करता है?
जॉर्ज डी

1
खबरदार - मैंने यह 14.04 को किया और इसने X (और सभी ऐप्स) को बंद कर दिया और मुझे फिर से लॉग इन करना पड़ा।
davidA

6
  • एकता सिर्फ एक Compiz प्लगइन है, आप इसका उपयोग करके पुनः लोड कर सकते हैं:

    compiz --replace
    

    या आपको टर्मिनल बंद करने के लिए

    compiz --replace & disown
    

    पुष्टि करने के लिए, आप देख सकते हैं:

    $ file `which unity`
    /usr/bin/unity: Python script, ASCII text executable
    
    $ more /usr/bin/unity
    
  • एक और तरीका है, प्रकाश केवल प्लगइन को पुनः लोड करता है (बहुत जल्दी)

    1. compiz_plugin_reloaderस्क्रिप्ट बनाएं

      स्रोत: iXce का ब्लॉग : कॉम्पिज़ प्लगइन पुनः लोडर

      #!/usr/bin/env python
      
      '''Compiz plugin reloader (through compizconfig)
      Copyright (c) 2007 Guillaume Seguin <guillaume@segu.in>
      Licensed under GNU GPLv2'''
      
      import compizconfig
      from sys import argv, exit
      from time import sleep
      
      if __name__ == "__main__":
          if len (argv) < 2:
              print "Usage : %s plugin1 [plugin2 ... pluginN]" % argv[0]
              exit (2)
          plugins = argv[1:]
          context = compizconfig.Context (basic_metadata = True)
          print "Unloading " + " ".join (plugins)
          for plugin in plugins:
              if plugin not in context.Plugins:
                  print "Warning : %s plugin not found" % plugin
                  plugins.remove (plugin)
                  continue
              context.Plugins[plugin].Enabled = False
          if len (plugins) == 0:
              print "Error : no plugin found"
              exit (1)
          context.Write ()
          print "Waiting for settings update"
          sleep (2)
          print "Loading " + " ".join (plugins)
          for plugin in plugins:
              context.Plugins[plugin].Enabled = True
          context.Write ()
    2. निश्चित अनुमतियाँ

      chmod +x compiz_plugin_reloader
      
    3. ऐसे दोड़ो:

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