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


6

एक बहुत ही विशिष्ट सॉफ़्टवेयर एप्लिकेशन के लिए, हम fvwm 2.5 चलाने वाली मशीनों का एक आधार बनाए रखते हैं। मेनू संरचना को अपडेट करने के लिए, fvwm2rc डिफ़ॉल्ट कॉन्फिग फ़ाइल को पैकेज प्रबंधन प्रणाली द्वारा की गई अद्यतन प्रक्रिया के दौरान बदल दिया जाता है। अपडेट के बाद नई मेनू संरचना को सक्षम करने के लिए, उपयोगकर्ता को मैन्युअल रूप से एक क्रिया करनी होगी: मशीन को पुनरारंभ करें, फिर से लॉगिन करें, fvwm को पुनरारंभ करें। पसंदीदा कार्रवाई "विंडो प्रबंधक> पुनरारंभ करें Fvwm2" चुनना है क्योंकि तब कोई लॉगिन की आवश्यकता नहीं है और यहां तक ​​कि खिड़कियां भी बच जाती हैं।

प्रश्न: मैं कमांड लाइन या पैकेज प्रबंधन प्रणाली से "रिस्टार्ट Fwwm2" के रूप में एक समान कार्रवाई कैसे आमंत्रित कर सकता हूं? निम्न आदेश काम नहीं करता है (न ही समान करते हैं):

fvwm -c "Restart"
[FVWM][SetupICCCM2]: <<ERROR>> another ICCCM 2.0 compliant WM is running, try -replace

"-replace" कोई विकल्प नहीं है क्योंकि किसी को कॉल करने के बाद फिर से लॉग इन करने की आवश्यकता होती है।

जवाबों:


4

आप जो चाहते हैं वह या तो fwwm बनाना है कॉन्फ़िगरेशन को फिर से पढ़ें या इसे पूरी तरह से पुनरारंभ करें। इसके अतिरिक्त, मुझे पूरी तरह से यकीन नहीं -cहै कि आप क्या चाहते हैं।

तेज़ या गंदा तरीका होगा:

killall fvwm
fvwm

नोट: कृपया बीएसडी या सोलारिस प्रणाली पर इसे निष्पादित न करें, क्योंकि किलॉल वहां की प्रक्रिया को मार देगा। किलॉल प्रोसेसनाम लिनक्स ही है।

लेकिन मुझे यकीन नहीं है कि यह कुछ विंडो जानकारी (स्थान, आयाम आदि) को नष्ट नहीं करेगा। या, आप वर्तमान सत्र को बदलने का प्रयास कर सकते हैं:

fvwm --replace

पुरानी fvwm प्रक्रिया को समाप्त करना चाहिए, एक नया लॉन्च करना चाहिए और यहां तक ​​कि खिड़कियों को सही ढंग से रखना चाहिए।

यदि fvwm आपका एक्स-सेशन है, तो आप FvwmCommand का उपयोग करने का प्रयास कर सकते हैं , बाहरी कमांड इंटरफ़ेस जो वर्तमान में चल रहे fvwm को कमांड भेजने में सक्षम प्रतीत होता है।


धन्यवाद बॉबी, लेकिन जैसा कि मैंने पहले ही कहा था, 'प्रतिस्थापित' मेरे लिए काम नहीं करता है क्योंकि मुझे उस आदेश के बाद फिर से लॉगिन करना होगा। दुर्भाग्य से, यह 'किल्विल fvwm' के साथ भी ऐसा ही है।
क्रिस

@ क्रिस: अब मैं उलझन में हूँ, अगर कोई उपयोगकर्ता लॉग इन नहीं है तो fvwm क्यों चल रहा है?
बॉबी

शुरुआत में मैं लॉग-इन करता हूं, लेकिन कमांड 'fvwm -replace' मुझे लॉग आउट करता है, मुझे इसे कॉल करने के बाद फिर से लॉग इन करना पड़ता है, यही बात 'किलर fvwm' के साथ भी होती है।
क्रिस

"पहले से चल रहे wm को मारने से आपका X सत्र समाप्त हो सकता है, अगर wm को आपके .clclients या .Xsession फ़ाइल में अंतिम ग्राहक के रूप में शुरू किया गया था।" - यह अपेक्षित व्यवहार है जब आप अपने WM को पुनरारंभ करते हैं, तो आपको फिर से लॉग इन करना होगा। कुछ WM एक "पुनः लोड" (स्पेक्ट्राम की तरह) प्रदान करते हैं, जो आपकी खिड़कियों और सत्रों को बनाए रखता है। fvwm को इसकी कमी लगती है।
पलटना

@ क्रिस: मैं देखता हूं, ऐसा नहीं सोचा था। मेरा संपादन देखें।
बॉबी

1

मैनुअल हमें बताता है:

यहां कुछ मामले हैं जब 'रिस्टार्ट fvwm2' या 'रिस्टार्ट fvwm' परेशानी का कारण बनते हैं।

  • एक सत्र प्रबंधक के तहत fvwm चल रहा है
  • बहु एलईडी डिस्प्ले के साथ fvwm चल रहा है
  • कमांड लाइन आर्ग्युमेंट्स, जैसे-थीम्स-आरसी या -सीएमडी
  • अगर $ PATH में पहली fvwm2 एक अलग है

इन बिंदुओं से संकेत मिलता है कि आप उस संदेश को क्यों देखते हैं, अपने मामले में उनमें से प्रत्येक की जांच करें।

पुनरारंभ आदेश (मैनुअल में भी) को अधिनियमित करने के लिए कुछ कीबोर्ड शॉर्टकट परिभाषित करें:

Key F1 R N Restart
Key F1 R N Restart fvwm -s
Key F1 R N Restart ~/bin/fvwm -f $HOME/.fvwm/main
Key F1 R N Restart fvwm1 -s -f .fvwmrc
Key F1 R N Restart xterm -n '"X console"' \
  -T \"X\ console\" -e fvwm1 -s

मुझे यकीन नहीं है कि अगर कोई गलतफहमी है ... यदि मैं इसे fwwm मेनू से चुनता हूं, तो यह अच्छा काम करता है। लेकिन मैं इसे कमांड लाइन से चाहता हूं, यानी fvwm के बाहर से ही।
क्रिस

गलतफहमी के लिए खेद है। USR SIGNALSFvwm के लिए कोई भी परिभाषित नहीं हैं , बाहरी पुनरारंभ को ट्रिगर करने के लिए, इसलिए @ बॉबी का उत्तर इस संबंध में अच्छा है।
पलटना


0

FvwmCommandFvwmCommandSFIFO को खोलने की आवश्यकता है । यदि आप सुनिश्चित नहीं कर सकते कि आपके सभी उपयोगकर्ताओं के पास एक है, तो यह काम नहीं करेगा।

लेकिन FVWM SIGUSR1 पर पुनः आरंभ करेगा

यदि यह अंतिम आदेश है तो FVWM पुनरारंभ भी काम करेगा .Xsession

लेकिन जैसा कि अन्य ने कहा है, यदि X सत्र प्रबंधक (और FVWM को सत्र प्रबंधक समर्थन के साथ संकलित किया गया है) के तहत चल रहा है, FVWM अपने आप से पुनः आरंभ नहीं करेगा, यह केवल सत्र प्रबंधक द्वारा पुन: प्रारंभ होने की उम्मीद करेगा। यह SIGUSR1 व्यवहार को भी प्रभावित करेगा।


0

मेरे लिए, निम्नलिखित कार्य:

kill -SIGUSR1 pid

जहाँ pid fvwm प्रक्रिया को पुनः आरंभ करने की प्रक्रिया आईडी है; आसान (लिनक्स पर):

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